From 361f410f34339b4fd6c298f58e2768ddd03c4a72 Mon Sep 17 00:00:00 2001 From: Sravan Kumar Kairam Date: Mon, 17 Dec 2018 18:47:04 +0530 Subject: [PATCH] qcacld-3.0: Modify enable/disable IPA pipe for lithium dp In case of lithium dp there is no FW interaction in RX packet processing and is HW REO ring based. So in case of handle first client connection and last client disconnection host should not send HTT FW requests for pipe resume/enable at FW. So modify the enable and disable ipa pipes host functions for lithium dp. Change-Id: I72661050fe1f85c13aca0c78b5c0369884ec2999 CRs-Fixed: 2369252 --- components/ipa/core/src/wlan_ipa_core.c | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/components/ipa/core/src/wlan_ipa_core.c b/components/ipa/core/src/wlan_ipa_core.c index bd647ad5955a..fee51618b88c 100644 --- a/components/ipa/core/src/wlan_ipa_core.c +++ b/components/ipa/core/src/wlan_ipa_core.c @@ -1300,6 +1300,43 @@ end: return status; } +#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) +/** + * wlan_ipa_uc_handle_first_con() - Handle first uC IPA connection + * @ipa_ctx: IPA context + * + * Return: QDF STATUS + */ +static QDF_STATUS wlan_ipa_uc_handle_first_con(struct wlan_ipa_priv *ipa_ctx) +{ + ipa_debug("enter"); + + if (wlan_ipa_uc_enable_pipes(ipa_ctx) != QDF_STATUS_SUCCESS) { + ipa_err("IPA WDI Pipe activation failed"); + return QDF_STATUS_E_BUSY; + } + + ipa_debug("exit"); + + return QDF_STATUS_SUCCESS; +} + +/** + * wlan_ipa_uc_handle_last_discon() - Handle last uC IPA disconnection + * @ipa_ctx: IPA context + * + * Return: None + */ +static void wlan_ipa_uc_handle_last_discon(struct wlan_ipa_priv *ipa_ctx) +{ + ipa_debug("enter"); + + wlan_ipa_uc_disable_pipes(ipa_ctx); + + ipa_debug("exit: IPA WDI Pipes deactivated"); +} +#else + /** * wlan_ipa_uc_handle_first_con() - Handle first uC IPA connection * @ipa_ctx: IPA context @@ -1365,6 +1402,7 @@ static void wlan_ipa_uc_handle_last_discon(struct wlan_ipa_priv *ipa_ctx) ipa_debug("exit: IPA WDI Pipes deactivated"); } +#endif /** * wlan_ipa_uc_offload_enable_disable() - wdi enable/disable notify to fw