Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __QCOM_PDR_HELPER_INTERNAL__
3#define __QCOM_PDR_HELPER_INTERNAL__
4
5#include <linux/soc/qcom/pdr.h>
6
7#define SERVREG_LOCATOR_SERVICE 0x40
8#define SERVREG_NOTIFIER_SERVICE 0x42
9
10#define SERVREG_REGISTER_LISTENER_REQ 0x20
11#define SERVREG_GET_DOMAIN_LIST_REQ 0x21
12#define SERVREG_STATE_UPDATED_IND_ID 0x22
13#define SERVREG_SET_ACK_REQ 0x23
14#define SERVREG_RESTART_PD_REQ 0x24
15
16#define SERVREG_LOC_PFR_REQ 0x24
17
18#define SERVREG_DOMAIN_LIST_LENGTH 32
19#define SERVREG_RESTART_PD_REQ_MAX_LEN 67
20#define SERVREG_REGISTER_LISTENER_REQ_LEN 71
21#define SERVREG_SET_ACK_REQ_LEN 72
22#define SERVREG_GET_DOMAIN_LIST_REQ_MAX_LEN 74
23#define SERVREG_STATE_UPDATED_IND_MAX_LEN 79
24#define SERVREG_GET_DOMAIN_LIST_RESP_MAX_LEN 2389
25#define SERVREG_LOC_PFR_RESP_MAX_LEN 10
26
27struct servreg_location_entry {
28 char name[SERVREG_NAME_LENGTH + 1];
29 u8 service_data_valid;
30 u32 service_data;
31 u32 instance;
32};
33
34struct servreg_get_domain_list_req {
35 char service_name[SERVREG_NAME_LENGTH + 1];
36 u8 domain_offset_valid;
37 u32 domain_offset;
38};
39
40struct servreg_get_domain_list_resp {
41 struct qmi_response_type_v01 resp;
42 u8 total_domains_valid;
43 u16 total_domains;
44 u8 db_rev_count_valid;
45 u16 db_rev_count;
46 u8 domain_list_valid;
47 u32 domain_list_len;
48 struct servreg_location_entry domain_list[SERVREG_DOMAIN_LIST_LENGTH];
49};
50
51struct servreg_register_listener_req {
52 u8 enable;
53 char service_path[SERVREG_NAME_LENGTH + 1];
54};
55
56struct servreg_register_listener_resp {
57 struct qmi_response_type_v01 resp;
58 u8 curr_state_valid;
59 enum servreg_service_state curr_state;
60};
61
62struct servreg_restart_pd_req {
63 char service_path[SERVREG_NAME_LENGTH + 1];
64};
65
66struct servreg_restart_pd_resp {
67 struct qmi_response_type_v01 resp;
68};
69
70struct servreg_state_updated_ind {
71 enum servreg_service_state curr_state;
72 char service_path[SERVREG_NAME_LENGTH + 1];
73 u16 transaction_id;
74};
75
76struct servreg_set_ack_req {
77 char service_path[SERVREG_NAME_LENGTH + 1];
78 u16 transaction_id;
79};
80
81struct servreg_set_ack_resp {
82 struct qmi_response_type_v01 resp;
83};
84
85struct servreg_loc_pfr_req {
86 char service[SERVREG_NAME_LENGTH + 1];
87 char reason[257];
88};
89
90struct servreg_loc_pfr_resp {
91 struct qmi_response_type_v01 rsp;
92};
93
94extern const struct qmi_elem_info servreg_get_domain_list_req_ei[];
95extern const struct qmi_elem_info servreg_get_domain_list_resp_ei[];
96extern const struct qmi_elem_info servreg_register_listener_req_ei[];
97extern const struct qmi_elem_info servreg_register_listener_resp_ei[];
98extern const struct qmi_elem_info servreg_restart_pd_req_ei[];
99extern const struct qmi_elem_info servreg_restart_pd_resp_ei[];
100extern const struct qmi_elem_info servreg_state_updated_ind_ei[];
101extern const struct qmi_elem_info servreg_set_ack_req_ei[];
102extern const struct qmi_elem_info servreg_set_ack_resp_ei[];
103extern const struct qmi_elem_info servreg_loc_pfr_req_ei[];
104extern const struct qmi_elem_info servreg_loc_pfr_resp_ei[];
105
106#endif