Message ID | 20210315152112.1907968-4-elder@linaro.org |
---|---|
State | New |
Headers | show |
Series | net: ipa: QMI fixes | expand |
On Mon, Mar 15, 2021 at 10:21:12AM -0500, Alex Elder wrote: > The specified format of the INDICATION_REGISTER QMI request message > has been extended to support two more optional fields: > endpoint_desc_ind: > sender wishes to receive endpoint descriptor information via > an IPA ENDP_DESC indication QMI message > bw_change_ind: > sender wishes to receive bandwidth change information via > an IPA BW_CHANGE indication QMI message > > Add definitions that permit these fields to be formatted and parsed > by the QMI library code. > > Signed-off-by: Alex Elder <elder@linaro.org> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > drivers/net/ipa/ipa_qmi_msg.c | 40 +++++++++++++++++++++++++++++++++++ > drivers/net/ipa/ipa_qmi_msg.h | 6 +++++- > 2 files changed, 45 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ipa/ipa_qmi_msg.c b/drivers/net/ipa/ipa_qmi_msg.c > index e4a6efbe9bd00..6838e8065072b 100644 > --- a/drivers/net/ipa/ipa_qmi_msg.c > +++ b/drivers/net/ipa/ipa_qmi_msg.c > @@ -70,6 +70,46 @@ struct qmi_elem_info ipa_indication_register_req_ei[] = { > .offset = offsetof(struct ipa_indication_register_req, > ipa_mhi_ready_ind), > }, > + { > + .data_type = QMI_OPT_FLAG, > + .elem_len = 1, > + .elem_size = > + sizeof_field(struct ipa_indication_register_req, > + endpoint_desc_ind_valid), > + .tlv_type = 0x13, > + .offset = offsetof(struct ipa_indication_register_req, > + endpoint_desc_ind_valid), > + }, > + { > + .data_type = QMI_UNSIGNED_1_BYTE, > + .elem_len = 1, > + .elem_size = > + sizeof_field(struct ipa_indication_register_req, > + endpoint_desc_ind), > + .tlv_type = 0x13, > + .offset = offsetof(struct ipa_indication_register_req, > + endpoint_desc_ind), > + }, > + { > + .data_type = QMI_OPT_FLAG, > + .elem_len = 1, > + .elem_size = > + sizeof_field(struct ipa_indication_register_req, > + bw_change_ind_valid), > + .tlv_type = 0x14, > + .offset = offsetof(struct ipa_indication_register_req, > + bw_change_ind_valid), > + }, > + { > + .data_type = QMI_UNSIGNED_1_BYTE, > + .elem_len = 1, > + .elem_size = > + sizeof_field(struct ipa_indication_register_req, > + bw_change_ind), > + .tlv_type = 0x14, > + .offset = offsetof(struct ipa_indication_register_req, > + bw_change_ind), > + }, > { > .data_type = QMI_EOTI, > }, > diff --git a/drivers/net/ipa/ipa_qmi_msg.h b/drivers/net/ipa/ipa_qmi_msg.h > index 12b6621f4b0e6..3233d145fd87c 100644 > --- a/drivers/net/ipa/ipa_qmi_msg.h > +++ b/drivers/net/ipa/ipa_qmi_msg.h > @@ -24,7 +24,7 @@ > * information for each field. The qmi_send_*() interfaces require > * the message size to be provided. > */ > -#define IPA_QMI_INDICATION_REGISTER_REQ_SZ 12 /* -> server handle */ > +#define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */ > #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */ > #define IPA_QMI_INIT_DRIVER_REQ_SZ 162 /* client handle -> */ > #define IPA_QMI_INIT_DRIVER_RSP_SZ 25 /* client handle <- */ > @@ -44,6 +44,10 @@ struct ipa_indication_register_req { > u8 data_usage_quota_reached; > u8 ipa_mhi_ready_ind_valid; > u8 ipa_mhi_ready_ind; > + u8 endpoint_desc_ind_valid; > + u8 endpoint_desc_ind; > + u8 bw_change_ind_valid; > + u8 bw_change_ind; > }; > > /* The response to a IPA_QMI_INDICATION_REGISTER request consists only of > -- > 2.27.0 >
diff --git a/drivers/net/ipa/ipa_qmi_msg.c b/drivers/net/ipa/ipa_qmi_msg.c index e4a6efbe9bd00..6838e8065072b 100644 --- a/drivers/net/ipa/ipa_qmi_msg.c +++ b/drivers/net/ipa/ipa_qmi_msg.c @@ -70,6 +70,46 @@ struct qmi_elem_info ipa_indication_register_req_ei[] = { .offset = offsetof(struct ipa_indication_register_req, ipa_mhi_ready_ind), }, + { + .data_type = QMI_OPT_FLAG, + .elem_len = 1, + .elem_size = + sizeof_field(struct ipa_indication_register_req, + endpoint_desc_ind_valid), + .tlv_type = 0x13, + .offset = offsetof(struct ipa_indication_register_req, + endpoint_desc_ind_valid), + }, + { + .data_type = QMI_UNSIGNED_1_BYTE, + .elem_len = 1, + .elem_size = + sizeof_field(struct ipa_indication_register_req, + endpoint_desc_ind), + .tlv_type = 0x13, + .offset = offsetof(struct ipa_indication_register_req, + endpoint_desc_ind), + }, + { + .data_type = QMI_OPT_FLAG, + .elem_len = 1, + .elem_size = + sizeof_field(struct ipa_indication_register_req, + bw_change_ind_valid), + .tlv_type = 0x14, + .offset = offsetof(struct ipa_indication_register_req, + bw_change_ind_valid), + }, + { + .data_type = QMI_UNSIGNED_1_BYTE, + .elem_len = 1, + .elem_size = + sizeof_field(struct ipa_indication_register_req, + bw_change_ind), + .tlv_type = 0x14, + .offset = offsetof(struct ipa_indication_register_req, + bw_change_ind), + }, { .data_type = QMI_EOTI, }, diff --git a/drivers/net/ipa/ipa_qmi_msg.h b/drivers/net/ipa/ipa_qmi_msg.h index 12b6621f4b0e6..3233d145fd87c 100644 --- a/drivers/net/ipa/ipa_qmi_msg.h +++ b/drivers/net/ipa/ipa_qmi_msg.h @@ -24,7 +24,7 @@ * information for each field. The qmi_send_*() interfaces require * the message size to be provided. */ -#define IPA_QMI_INDICATION_REGISTER_REQ_SZ 12 /* -> server handle */ +#define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */ #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */ #define IPA_QMI_INIT_DRIVER_REQ_SZ 162 /* client handle -> */ #define IPA_QMI_INIT_DRIVER_RSP_SZ 25 /* client handle <- */ @@ -44,6 +44,10 @@ struct ipa_indication_register_req { u8 data_usage_quota_reached; u8 ipa_mhi_ready_ind_valid; u8 ipa_mhi_ready_ind; + u8 endpoint_desc_ind_valid; + u8 endpoint_desc_ind; + u8 bw_change_ind_valid; + u8 bw_change_ind; }; /* The response to a IPA_QMI_INDICATION_REGISTER request consists only of
The specified format of the INDICATION_REGISTER QMI request message has been extended to support two more optional fields: endpoint_desc_ind: sender wishes to receive endpoint descriptor information via an IPA ENDP_DESC indication QMI message bw_change_ind: sender wishes to receive bandwidth change information via an IPA BW_CHANGE indication QMI message Add definitions that permit these fields to be formatted and parsed by the QMI library code. Signed-off-by: Alex Elder <elder@linaro.org> --- drivers/net/ipa/ipa_qmi_msg.c | 40 +++++++++++++++++++++++++++++++++++ drivers/net/ipa/ipa_qmi_msg.h | 6 +++++- 2 files changed, 45 insertions(+), 1 deletion(-) -- 2.27.0