From e16fcc6ee1c656f0ef346f724136740d34daab8c Mon Sep 17 00:00:00 2001 From: Ashok Vuyyuru Date: Tue, 1 Jun 2021 21:59:19 +0530 Subject: [PATCH 1/5] msm: ipa3: Fix to changes the ring variable type With u16 variable not fitting the higher ring size. So adding changes to change ring type to u32. Change-Id: I8443508fee8eb5180d5300611bc01bc4df68bcbd Signed-off-by: Ashok Vuyyuru --- drivers/platform/msm/gsi/gsi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/msm/gsi/gsi.h b/drivers/platform/msm/gsi/gsi.h index d5285138b01b..284965c48010 100644 --- a/drivers/platform/msm/gsi/gsi.h +++ b/drivers/platform/msm/gsi/gsi.h @@ -190,7 +190,7 @@ struct gsi_evt_ring_props { enum gsi_evt_chtype intf; enum gsi_intr_type intr; enum gsi_evt_ring_elem_size re_size; - uint16_t ring_len; + uint32_t ring_len; uint64_t ring_base_addr; void *ring_base_vaddr; uint16_t int_modt; From 92fa5bc4f6da346356e2917624c56358c574eac3 Mon Sep 17 00:00:00 2001 From: Raghavendar rao l Date: Wed, 2 Jun 2021 14:53:41 +0530 Subject: [PATCH 2/5] msm: ipa: Issue with Pointer type conversion. Updated the pointer type cast with valid data type. Change-Id: Ibd1f87eab0aac78551f307534508cfa84eae988a Signed-off-by: Raghavendar rao l --- drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c index 3edca59dcf8c..a1befe6700d6 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c @@ -225,7 +225,7 @@ static struct ipahal_stats_init_pyld *ipahal_generate_init_pyld_flt_rt_v4_5( void *params, bool is_atomic_ctx) { struct ipahal_stats_init_pyld *pyld; - int num = (int)(params); + int num = *((int *)(params)); if (num > IPA_MAX_FLT_RT_CNT_INDEX || num <= 0) { From a890ae3b7b3459c0a57343ec029d8a42479cbca8 Mon Sep 17 00:00:00 2001 From: Ashok Vuyyuru Date: Sat, 5 Jun 2021 00:37:20 +0530 Subject: [PATCH 3/5] msm: ipa3: Fix to use right casting to avoid the compilation issue Caller function passing the constant value converting to int pointer will cause the problem. Adding changes to use right casting to avoid compilation issue. Change-Id: I8440f16e4e53e0788c2d1eae35f4b6ebf3178ead Signed-off-by: Ashok Vuyyuru --- drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c index a1befe6700d6..815b51ab3b13 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c @@ -225,7 +225,7 @@ static struct ipahal_stats_init_pyld *ipahal_generate_init_pyld_flt_rt_v4_5( void *params, bool is_atomic_ctx) { struct ipahal_stats_init_pyld *pyld; - int num = *((int *)(params)); + int num = (uintptr_t)(params); if (num > IPA_MAX_FLT_RT_CNT_INDEX || num <= 0) { From b946aea8f0ac206aa7c00f66c98630afb168f889 Mon Sep 17 00:00:00 2001 From: Praveen Kurapati Date: Thu, 27 May 2021 22:55:17 +0530 Subject: [PATCH 4/5] msm: ipa3: Add check to avoid Quota indication for WLAN Quota indication is not yet supported on WLAN Iface. Add check to return if the request comes for WLAN Iface. Change-Id: Ib183d0ed21a87f6f759af8d4e5bc4093dffd9374 Signed-off-by: Praveen Kurapati --- drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c index 7ac4f52e67af..0a7e050d01d9 100644 --- a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c +++ b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c @@ -4279,6 +4279,10 @@ void ipa3_broadcast_quota_reach_ind(u32 mux_id, if (upstream_type == IPA_UPSTEAM_MAX) { IPAWANERR(" Wrong upstreamIface type %d\n", upstream_type); return; + } else if (upstream_type == IPA_UPSTEAM_WLAN) { + /* TODO: Fix this case when adding quota on WLAN Backhaul*/ + IPAWANERR_RL("Quota indication is not supported for WLAN\n"); + return; } else if (upstream_type == IPA_UPSTEAM_MODEM) { index = ipa3_find_mux_channel_index(mux_id); if (index == MAX_NUM_OF_MUX_CHANNEL) { From b3f4d167be4120ee8a84b33da22a0700dcacdf61 Mon Sep 17 00:00:00 2001 From: Praveen Kurapati Date: Sat, 12 Jun 2021 21:19:19 +0530 Subject: [PATCH 5/5] msm: ipa3: add rmnet_ctl enablement check Add changes to check if rmnet_ctl support present or not. Change-Id: Ic99811ffcedbe474eeb80637e61901b55e448372 Signed-off-by: Praveen Kurapati --- drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c | 27 ++++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c index 7ac4f52e67af..101dd17f89d7 100644 --- a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c +++ b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c @@ -1571,13 +1571,14 @@ static int handle3_ingress_format(struct net_device *dev, } IPAWANDBG("ingress WAN pipe setup successfully\n"); - ret = ipa3_setup_apps_low_lat_cons_pipe(); - if (ret) - goto low_lat_fail; + if (ipa3_ctx->rmnet_ctl_enable) { + ret = ipa3_setup_apps_low_lat_cons_pipe(); + if (ret) + goto low_lat_fail; - ingress_eps_mask |= IPA_AP_INGRESS_EP_LOW_LAT; - - IPAWANDBG("ingress low latency pipe setup successfully\n"); + ingress_eps_mask |= IPA_AP_INGRESS_EP_LOW_LAT; + IPAWANDBG("ingress low latency pipe setup successfully\n"); + } low_lat_fail: mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard); @@ -1698,13 +1699,15 @@ static int handle3_egress_format(struct net_device *dev, return rc; } IPAWANDBG("engress WAN pipe setup successfully\n"); - rc = ipa3_setup_apps_low_lat_prod_pipe(); - if (rc) { - IPAWANERR("failed to setup egress low lat endpoint\n"); - mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard); - goto low_lat_fail; + if (ipa3_ctx->rmnet_ctl_enable) { + rc = ipa3_setup_apps_low_lat_prod_pipe(); + if (rc) { + IPAWANERR("failed to setup egress low lat endpoint\n"); + mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard); + goto low_lat_fail; + } + IPAWANDBG("engress low lat pipe setup successfully\n"); } - IPAWANDBG("engress low lat pipe setup successfully\n"); mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard); low_lat_fail: