108 lines · c
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 0x408#define SERVREG_NOTIFIER_SERVICE 0x429 10#define SERVREG_REGISTER_LISTENER_REQ 0x2011#define SERVREG_GET_DOMAIN_LIST_REQ 0x2112#define SERVREG_STATE_UPDATED_IND_ID 0x2213#define SERVREG_SET_ACK_REQ 0x2314#define SERVREG_RESTART_PD_REQ 0x2415 16#define SERVREG_LOC_PFR_REQ 0x2417 18#define SERVREG_DOMAIN_LIST_LENGTH 3219#define SERVREG_RESTART_PD_REQ_MAX_LEN 6720#define SERVREG_REGISTER_LISTENER_REQ_LEN 7121#define SERVREG_SET_ACK_REQ_LEN 7222#define SERVREG_GET_DOMAIN_LIST_REQ_MAX_LEN 7423#define SERVREG_STATE_UPDATED_IND_MAX_LEN 7924#define SERVREG_GET_DOMAIN_LIST_RESP_MAX_LEN 238925#define SERVREG_LOC_PFR_RESP_MAX_LEN 1026 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_location_entry_ei[];95extern const struct qmi_elem_info servreg_get_domain_list_req_ei[];96extern const struct qmi_elem_info servreg_get_domain_list_resp_ei[];97extern const struct qmi_elem_info servreg_register_listener_req_ei[];98extern const struct qmi_elem_info servreg_register_listener_resp_ei[];99extern const struct qmi_elem_info servreg_restart_pd_req_ei[];100extern const struct qmi_elem_info servreg_restart_pd_resp_ei[];101extern const struct qmi_elem_info servreg_state_updated_ind_ei[];102extern const struct qmi_elem_info servreg_set_ack_req_ei[];103extern const struct qmi_elem_info servreg_set_ack_resp_ei[];104extern const struct qmi_elem_info servreg_loc_pfr_req_ei[];105extern const struct qmi_elem_info servreg_loc_pfr_resp_ei[];106 107#endif108