Prechádzať zdrojové kódy

qcacmn: Fix qdf abstraction for IPA rx_bank_id

rx_bank_id defined in IPA driver is a write parameter for WLAN.
Therefore abstract the QDF macro in a set way, where bank id
obtained from wlan driver is passed as an input parameter to
the macro and rx_bank_id field is then being set within the macro
itself.

Without the fix, setting the bank id to IPA driver is like
MACRO_FOO(foo) = val. On build targets with kernel version < 5.15.41,
this can lead to unexpected build error.

Change-Id: I727b8af0ad7bd076e7756b51682842e947eb0a36
CRs-Fixed: 3291711
Jia Ding 2 rokov pred
rodič
commit
1f49ac1d70
2 zmenil súbory, kde vykonal 11 pridanie a 10 odobranie
  1. 4 4
      qdf/inc/qdf_ipa_wdi3.h
  2. 7 6
      qdf/linux/src/i_qdf_ipa_wdi3.h

+ 4 - 4
qdf/inc/qdf_ipa_wdi3.h

@@ -121,8 +121,8 @@ typedef __qdf_ipa_wdi_pipe_setup_info_smmu_t qdf_ipa_wdi_pipe_setup_info_smmu_t;
 	__QDF_IPA_WDI_SETUP_INFO_SMMU_PKT_OFFSET(txrx)
 #define QDF_IPA_WDI_SETUP_INFO_SMMU_DESC_FORMAT_TEMPLATE(txrx)	\
 	__QDF_IPA_WDI_SETUP_INFO_SMMU_DESC_FORMAT_TEMPLATE(txrx)
-#define QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx)	\
-	__QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx)
+#define QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx, bid)	\
+	__QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx, bid)
 
 typedef __qdf_ipa_ep_cfg_t qdf_ipa_ep_cfg_t;
 
@@ -268,8 +268,8 @@ typedef __qdf_ipa_wdi_pipe_setup_info_t qdf_ipa_wdi_pipe_setup_info_t;
 	__QDF_IPA_WDI_SETUP_INFO_PKT_OFFSET(txrx)
 #define QDF_IPA_WDI_SETUP_INFO_DESC_FORMAT_TEMPLATE(txrx)	\
 	__QDF_IPA_WDI_SETUP_INFO_DESC_FORMAT_TEMPLATE(txrx)
-#define QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx)	\
-	__QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx)
+#define QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx, bid)	\
+	__QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx, bid)
 
 /**
  * qdf_ipa_wdi_conn_in_params_t - information provided by

+ 7 - 6
qdf/linux/src/i_qdf_ipa_wdi3.h

@@ -286,14 +286,15 @@ typedef struct ipa_wdi_pipe_setup_info_smmu __qdf_ipa_wdi_pipe_setup_info_smmu_t
 	(((struct ipa_wdi_pipe_setup_info_smmu *)(txrx))->desc_format_template)
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 41))
-#define __QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx)	\
-	(((struct ipa_wdi_pipe_setup_info *)(txrx))->rx_bank_id)
+/* MSM kernel support added in I6418ae5bc4f030f6348e0f580b61b6adc1b92cf3 */
+#define __QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx, bid)	\
+	((((struct ipa_wdi_pipe_setup_info *)(txrx))->rx_bank_id) = (bid))
 
-#define __QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx)	\
-	(((struct ipa_wdi_pipe_setup_info_smmu *)(txrx))->rx_bank_id)
+#define __QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx, bid)	\
+	((((struct ipa_wdi_pipe_setup_info_smmu *)(txrx))->rx_bank_id) = (bid))
 #else
-#define __QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx)
-#define __QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx)
+#define __QDF_IPA_WDI_SETUP_INFO_RX_BANK_ID(txrx, bid)
+#define __QDF_IPA_WDI_SETUP_INFO_SMMU_RX_BANK_ID(txrx, bid)
 #endif
 
 /**