Sfoglia il codice sorgente

qcacmn: Define WLAN_DCS_MAX_PDEVS for dcs use

For MCL side, WLAN_UMAC_MAX_PDEVS is always 1 from current design,
so it's wrong to use WLAN_UMAC_MAX_PDEVS define array dcs_pdev_priv,
since dcs_pdev_priv includes firmware indicated pdev dcs information,
define WLAN_DCS_MAX_PDEVS to 3 for dcs use, this will be compatible
for both MCL and WIN side.

Change-Id: I3bac35f561c49e9959645e85774662ff48d7903d
CRs-Fixed: 2627683
hqu 5 anni fa
parent
commit
fe04486a96

+ 1 - 1
umac/dcs/core/src/wlan_dcs.c

@@ -45,7 +45,7 @@ wlan_dcs_get_pdev_private_obj(struct wlan_objmgr_psoc *psoc, uint32_t pdev_id)
 		goto end;
 	}
 
-	if (pdev_id >= WLAN_UMAC_MAX_PDEVS) {
+	if (pdev_id >= WLAN_DCS_MAX_PDEVS) {
 		dcs_err("invalid pdev_id: %u", pdev_id);
 		goto end;
 	}

+ 3 - 1
umac/dcs/core/src/wlan_dcs.h

@@ -32,6 +32,8 @@
 #define dcs_err(args ...) \
 		QDF_TRACE_ERROR(QDF_MODULE_ID_DCS, ## args)
 
+#define WLAN_DCS_MAX_PDEVS 3
+
 #define DCS_TX_MAX_CU  30
 #define MAX_DCS_TIME_RECORD 10
 #define DCS_FREQ_CONTROL_TIME (5 * 60 * 1000)
@@ -151,7 +153,7 @@ struct dcs_pdev_priv_obj {
  * @dcs_cbk: dcs callback
  */
 struct dcs_psoc_priv_obj {
-	struct dcs_pdev_priv_obj dcs_pdev_priv[WLAN_UMAC_MAX_PDEVS];
+	struct dcs_pdev_priv_obj dcs_pdev_priv[WLAN_DCS_MAX_PDEVS];
 	struct psoc_dcs_cbk dcs_cbk;
 };
 

+ 2 - 2
umac/dcs/dispatcher/src/wlan_dcs_init_deinit_api.c

@@ -82,7 +82,7 @@ wlan_dcs_psoc_obj_destroy_notification(struct wlan_objmgr_psoc *psoc,
 	status = wlan_objmgr_psoc_component_obj_detach(psoc,
 						       WLAN_UMAC_COMP_DCS,
 						       dcs_psoc_obj);
-	for (loop = 0; loop < WLAN_UMAC_MAX_PDEVS; loop++)
+	for (loop = 0; loop < WLAN_DCS_MAX_PDEVS; loop++)
 		qdf_timer_free(&dcs_psoc_obj->dcs_pdev_priv[loop].
 							dcs_disable_timer);
 	qdf_mem_free(dcs_psoc_obj);
@@ -172,7 +172,7 @@ QDF_STATUS wlan_dcs_psoc_open(struct wlan_objmgr_psoc *psoc)
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	for (loop = 0; loop < WLAN_UMAC_MAX_PDEVS; loop++) {
+	for (loop = 0; loop < WLAN_DCS_MAX_PDEVS; loop++) {
 		dcs_pdev_priv = &dcs_psoc_obj->dcs_pdev_priv[loop];
 		dcs_pdev_priv->dcs_host_params.dcs_enable_cfg =
 					cfg_get(psoc, CFG_DCS_ENABLE);