Subject: Re: [PATCH net-next 3/3] net: ipa: extend the INDICATION_REGISTER request

From: Manivannan Sadhasivam <[email-masked]>
Date: Tue, 16 Mar 2021 09:13:44 +0530

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 <[email-masked]>

Acked-by: Manivannan Sadhasivam <[email-masked]>

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
>