Browse Source

qcacmn: Disable rxdma1 functionality for LM256 profile

As monitor mode is not supported on LM256 profile,
disable rxdma1 functionality on same

Change-Id: I64e5de02d56801bfd46e32a6c64a1286e4d7ecb0
CRs-Fixed: 2819904
Amir 4 years ago
parent
commit
df60a16001
3 changed files with 33 additions and 9 deletions
  1. 13 9
      dp/wifi3.0/dp_main.c
  2. 12 0
      wlan_cfg/wlan_cfg.c
  3. 8 0
      wlan_cfg/wlan_cfg.h

+ 13 - 9
dp/wifi3.0/dp_main.c

@@ -4975,18 +4975,20 @@ static QDF_STATUS dp_rxdma_ring_config(struct dp_soc *soc)
 			       hal_srng, RXDMA_BUF);
 			       hal_srng, RXDMA_BUF);
 #ifndef DISABLE_MON_CONFIG
 #ifndef DISABLE_MON_CONFIG
 
 
-		htt_srng_setup(soc->htt_handle, mac_for_pdev,
-			       soc->rxdma_mon_buf_ring[lmac_id].hal_srng,
-			       RXDMA_MONITOR_BUF);
-		htt_srng_setup(soc->htt_handle, mac_for_pdev,
-			       soc->rxdma_mon_dst_ring[lmac_id].hal_srng,
-			       RXDMA_MONITOR_DST);
+		if (soc->wlan_cfg_ctx->rxdma1_enable) {
+			htt_srng_setup(soc->htt_handle, mac_for_pdev,
+				       soc->rxdma_mon_buf_ring[lmac_id].hal_srng,
+				       RXDMA_MONITOR_BUF);
+			htt_srng_setup(soc->htt_handle, mac_for_pdev,
+				       soc->rxdma_mon_dst_ring[lmac_id].hal_srng,
+				       RXDMA_MONITOR_DST);
+			htt_srng_setup(soc->htt_handle, mac_for_pdev,
+				       soc->rxdma_mon_desc_ring[lmac_id].hal_srng,
+				       RXDMA_MONITOR_DESC);
+		}
 		htt_srng_setup(soc->htt_handle, mac_for_pdev,
 		htt_srng_setup(soc->htt_handle, mac_for_pdev,
 			       soc->rxdma_mon_status_ring[lmac_id].hal_srng,
 			       soc->rxdma_mon_status_ring[lmac_id].hal_srng,
 			       RXDMA_MONITOR_STATUS);
 			       RXDMA_MONITOR_STATUS);
-		htt_srng_setup(soc->htt_handle, mac_for_pdev,
-			       soc->rxdma_mon_desc_ring[lmac_id].hal_srng,
-			       RXDMA_MONITOR_DESC);
 #endif
 #endif
 		htt_srng_setup(soc->htt_handle, mac_for_pdev,
 		htt_srng_setup(soc->htt_handle, mac_for_pdev,
 			       soc->rxdma_err_dst_ring[lmac_id].hal_srng,
 			       soc->rxdma_err_dst_ring[lmac_id].hal_srng,
@@ -13508,11 +13510,13 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 					       REO_DST_RING_SIZE_QCA8074);
 					       REO_DST_RING_SIZE_QCA8074);
+		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 		break;
 	case TARGET_TYPE_QCN9000:
 	case TARGET_TYPE_QCN9000:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 					       REO_DST_RING_SIZE_QCN9000);
 					       REO_DST_RING_SIZE_QCN9000);
+		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 		break;
 	default:
 	default:
 		qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);
 		qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);

+ 12 - 0
wlan_cfg/wlan_cfg.c

@@ -1490,3 +1490,15 @@ int wlan_cfg_send_icmp_req_to_fw(struct wlan_cfg_dp_soc_ctxt *cfg)
 	return cfg->send_icmp_req_to_fw;
 	return cfg->send_icmp_req_to_fw;
 }
 }
 #endif /* WLAN_DP_FEATURE_SEND_ICMP_TO_FW */
 #endif /* WLAN_DP_FEATURE_SEND_ICMP_TO_FW */
+
+#ifdef QCA_LOWMEM_CONFIG
+void wlan_cfg_set_rxdma1_enable(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	cfg->rxdma1_enable = false;
+}
+#else
+void wlan_cfg_set_rxdma1_enable(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	cfg->rxdma1_enable = true;
+}
+#endif

+ 8 - 0
wlan_cfg/wlan_cfg.h

@@ -1515,3 +1515,11 @@ uint8_t wlan_cfg_radio1_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
  * Return: .
  * Return: .
  */
  */
 uint8_t wlan_cfg_radio2_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
 uint8_t wlan_cfg_radio2_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
+
+/**
+ * wlan_cfg_set_rxdma1_enable() - Enable rxdma1
+ * @cfg: soc configuration context
+ *
+ * Return: .
+ */
+void wlan_cfg_set_rxdma1_enable(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx);