net: ipa: extend the INDICATION_REGISTER request

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alex Elder 2021-03-15 10:21:12 -05:00 committed by David S. Miller
parent 7ac629e390
commit 6ec7a9c2e8
2 changed files with 45 additions and 1 deletions

View file

@ -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,
},

View file

@ -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