Jelajahi Sumber

qcacmn: Allocate separate CE for diag based on enable macro

Allocate a separate CE for diag only when enable macro is set
WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE is used for indicating if
diag works on a separate CE. This flag is disabled on 256M platforms.

Change-Id: Ic4862478ece2eaf3d7b92d776f25420107c051f3
CRs-Fixed: 3533485
Nandha Kishore Easwaran 2 tahun lalu
induk
melakukan
065a7a65fe
2 mengubah file dengan 32 tambahan dan 3 penghapusan
  1. 24 3
      hif/src/ce/ce_assignment.h
  2. 8 0
      hif/src/ce/ce_main.c

+ 24 - 3
hif/src/ce/ce_assignment.h

@@ -1144,8 +1144,12 @@ static struct CE_attr host_ce_config_wlan_qcn6432[] = {
 	{/*CE7*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 	/* Target HIF memcpy (Generic HIF memcypy) */
 	{/*CE8*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* WMI logging/CFR/Spectral/Radar/ */
 	{/*CE9*/ (CE_ATTR_FLAGS), 0, 0, 2048, 128, NULL,},
+#else
+	{/*CE9*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
+#endif
 	/* Customer reserve */
 	{/*CE10*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 	/* Un-assigned */
@@ -1172,8 +1176,12 @@ static struct CE_pipe_config target_ce_config_wlan_qcn6432[] = {
 	{ /* CE7 */ 7, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
 	/* CE8 Reserved for target generic HIF memcpy */
 	{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* WMI logging/CFR/Spectral/Radar/ */
 	{ /* CE9 */ 9, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
+#else
+	{/* CE9 unused */9, PIPEDIR_NONE, 0, 0, 0, 0,},
+#endif
 	/* CE 10,11 to be defined */
 	{/* CE11 unused */10, PIPEDIR_NONE, 0, 0, 0, 0,},
 	{/* CE11 unused */11, PIPEDIR_NONE, 0, 0, 0, 0,},
@@ -1204,12 +1212,12 @@ static struct CE_attr host_ce_config_wlan_qca5332[] = {
 	{/*CE7*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 	/* Target HIF memcpy (Generic HIF memcypy) */
 	{/*CE8*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
-	#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* WMI logging/CFR/Spectral/Radar/ */
 	{/*CE9*/ (CE_ATTR_FLAGS), 0, 0, 2048, 128, NULL,},
-	#else
+#else
 	{/*CE9*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
-	#endif
+#endif
 	/* Customer reserve */
 	{/*CE10*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 	/* Un-assigned */
@@ -1236,8 +1244,12 @@ static struct CE_pipe_config target_ce_config_wlan_qca5332[] = {
 	{ /* CE7 */ 7, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
 	/* CE8 Reserved for target generic HIF memcpy */
 	{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* WMI logging/CFR/Spectral/Radar/ */
 	{ /* CE9 */ 9, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
+#else
+	{/* CE9 unused */9, PIPEDIR_NONE, 0, 0, 0, 0,},
+#endif
 	/* CE 10,11 to be defined */
 	{/* CE11 unused */10, PIPEDIR_NONE, 0, 0, 0, 0,},
 	{/* CE11 unused */11, PIPEDIR_NONE, 0, 0, 0, 0,},
@@ -1821,8 +1833,13 @@ static struct CE_attr host_ce_config_wlan_qcn9224[] = {
 	{/*CE12*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 	/* Target CV prefetch */
 	{/*CE13*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* target->host WMI logging, Direc-DMA */
 	{/*CE14*/ (CE_ATTR_FLAGS), 0, 0, 2048, 128, NULL,},
+#else
+	{/*CE14*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
+#endif
+
 	/* Reserved for customer use */
 	{/*CE15*/ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 0, 0, NULL,},
 };
@@ -1851,8 +1868,12 @@ static struct CE_pipe_config target_ce_config_wlan_qcn9224[] = {
 	{ /* CE12 */ 12, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
 	/* CV prefetch */
 	{ /* CE13 */ 13, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	/* target->host WMI logging + DirectDMA events */
 	{ /* CE14 */ 14, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
+#else
+	{/* CE14 unused */14, PIPEDIR_NONE, 0, 0, 0, 0,},
+#endif
 	/*CE 15 - Reserved for customer use */
 };
 #endif

+ 8 - 0
hif/src/ce/ce_main.c

@@ -900,6 +900,9 @@ static struct service_to_pipe target_service_to_ce_map_qca5332[] = {
 #ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	{ WMI_CONTROL_DIAG_SVC, PIPEDIR_IN, 9, },
 	{ WMI_CONTROL_DBR_SVC, PIPEDIR_IN, 9, },
+#else
+	{ WMI_CONTROL_DIAG_SVC, PIPEDIR_IN, 2, },
+	{ WMI_CONTROL_DBR_SVC, PIPEDIR_IN, 2, },
 #endif
 	/* (Additions here) */
 	{ 0, 0, 0, },
@@ -930,8 +933,13 @@ static struct service_to_pipe target_service_to_ce_map_qcn9224[] = {
 	{ WMI_CONTROL_SVC_WMAC1, PIPEDIR_OUT, 7, },
 	{ WMI_CONTROL_SVC_WMAC1, PIPEDIR_IN, 2, },
 	{ PACKET_LOG_SVC, PIPEDIR_IN, 5, },
+#ifdef WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE
 	{ WMI_CONTROL_DIAG_SVC, PIPEDIR_IN, 14, },
 	{ WMI_CONTROL_DBR_SVC, PIPEDIR_IN, 14, },
+#else
+	{ WMI_CONTROL_DIAG_SVC, PIPEDIR_IN, 2, },
+	{ WMI_CONTROL_DBR_SVC, PIPEDIR_IN, 2, },
+#endif
 	/* (Additions here) */
 	{ 0, 0, 0, },
 };