Merge "msm: ipa4: Send new QMI indication message to modem for RSC pipe"
This commit is contained in:
commit
87e33d2e3a
@ -2162,6 +2162,22 @@ int ipa3_qmi_send_mhi_cleanup_request(struct ipa_mhi_cleanup_req_msg_v01 *req)
|
||||
resp.resp.error, "ipa_mhi_cleanup_req_msg");
|
||||
}
|
||||
|
||||
int ipa3_qmi_send_rsc_pipe_indication(
|
||||
struct ipa_endp_desc_indication_msg_v01 *req)
|
||||
{
|
||||
IPAWANDBG("Sending QMI_IPA_ENDP_DESC_INDICATION_V01\n");
|
||||
|
||||
if (unlikely(!ipa3_svc_handle))
|
||||
return -ETIMEDOUT;
|
||||
|
||||
return qmi_send_indication(ipa3_svc_handle,
|
||||
&ipa3_qmi_ctx->client_sq,
|
||||
QMI_IPA_ENDP_DESC_INDICATION_V01,
|
||||
IPA_ENDP_DESC_INDICATION_MSG_V01_MAX_MSG_LEN,
|
||||
ipa_endp_desc_indication_msg_v01_ei,
|
||||
req);
|
||||
}
|
||||
|
||||
void ipa3_qmi_init(void)
|
||||
{
|
||||
mutex_init(&ipa3_qmi_lock);
|
||||
|
@ -333,6 +333,9 @@ int ipa3_qmi_get_per_client_packet_stats(
|
||||
int ipa3_qmi_send_mhi_ready_indication(
|
||||
struct ipa_mhi_ready_indication_msg_v01 *req);
|
||||
|
||||
int ipa3_qmi_send_rsc_pipe_indication(
|
||||
struct ipa_endp_desc_indication_msg_v01 *req);
|
||||
|
||||
int ipa3_qmi_send_mhi_cleanup_request(struct ipa_mhi_cleanup_req_msg_v01 *req);
|
||||
|
||||
void ipa3_qmi_init(void);
|
||||
@ -475,6 +478,12 @@ static inline int ipa3_qmi_send_mhi_ready_indication(
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
static int ipa3_qmi_send_rsc_pipe_indication(
|
||||
struct ipa_endp_desc_indication_msg_v01 *req)
|
||||
{
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
static inline int ipa3_qmi_send_mhi_cleanup_request(
|
||||
struct ipa_mhi_cleanup_req_msg_v01 *req)
|
||||
{
|
||||
|
@ -1427,6 +1427,26 @@ static void apps_ipa_packet_receive_notify(void *priv,
|
||||
}
|
||||
}
|
||||
|
||||
/* Send RSC endpoint info to modem using QMI indication message */
|
||||
|
||||
static int ipa_send_rsc_pipe_ind_to_modem(void)
|
||||
{
|
||||
struct ipa_endp_desc_indication_msg_v01 req;
|
||||
struct ipa_ep_id_type_v01 *ep_info;
|
||||
|
||||
memset(&req, 0, sizeof(struct ipa_endp_desc_indication_msg_v01));
|
||||
req.ep_info_len = 1;
|
||||
req.ep_info_valid = true;
|
||||
req.num_eps_valid = true;
|
||||
req.num_eps = 1;
|
||||
ep_info = &req.ep_info[req.ep_info_len - 1];
|
||||
ep_info->ep_id = rmnet_ipa3_ctx->ipa3_to_apps_hdl;
|
||||
ep_info->ic_type = DATA_IC_TYPE_AP_V01;
|
||||
ep_info->ep_type = DATA_EP_DESC_TYPE_RSC_PROD_V01;
|
||||
ep_info->ep_status = DATA_EP_STATUS_CONNECTED_V01;
|
||||
return ipa3_qmi_send_rsc_pipe_indication(&req);
|
||||
}
|
||||
|
||||
static int handle3_ingress_format(struct net_device *dev,
|
||||
struct rmnet_ioctl_extended_s *in)
|
||||
{
|
||||
@ -1528,6 +1548,9 @@ static int handle3_ingress_format(struct net_device *dev,
|
||||
if (ret)
|
||||
ipa3_del_a7_qmap_hdr();
|
||||
|
||||
/* Sending QMI indication message share RSC pipe details*/
|
||||
if (dev->features & NETIF_F_GRO_HW)
|
||||
ipa_send_rsc_pipe_ind_to_modem();
|
||||
end:
|
||||
if (ret)
|
||||
IPAWANERR("failed to configure ingress\n");
|
||||
|
Loading…
Reference in New Issue
Block a user