فهرست منبع

qcacmn: Initial changes in dp for ipq5332 target compilation

Added device ID and target type checks in dp for ipq5332 traget
compilation.

CRs-Fixed: 3273820
Change-Id: I03a9bc8f9a885587d7324f7907d26bfc77cfeba7
Sajini R 2 سال پیش
والد
کامیت
51cde26ad5
5فایلهای تغییر یافته به همراه27 افزوده شده و 3 حذف شده
  1. 4 1
      dp/inc/cdp_txrx_cmn_reg.h
  2. 18 1
      dp/wifi3.0/dp_main.c
  3. 3 0
      dp/wifi3.0/monitor/dp_mon.c
  4. 1 0
      hal/wifi3.0/hal_tx.h
  5. 1 1
      hal/wifi3.0/qca5332/hal_5332_tx.h

+ 4 - 1
dp/inc/cdp_txrx_cmn_reg.h

@@ -78,7 +78,8 @@ ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops);
  * Return: DP SOC handle on success, NULL on failure
  */
 #if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
-	defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574)
+	defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \
+	defined(QCA_WIFI_QCA5332)
 struct cdp_soc_t *
 dp_soc_attach_wifi3(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
 		    struct cdp_soc_attach_params *params);
@@ -131,6 +132,7 @@ static inline int cdp_get_arch_type_from_devid(uint16_t devid)
 	case BERYLLIUM_DP:
 	case KIWI_DEVICE_ID:
 	case QCN9224_DEVICE_ID:
+	case QCA5332_DEVICE_ID:
 	case MANGO_DEVICE_ID:
 		return CDP_ARCH_TYPE_BE;
 	default:
@@ -176,6 +178,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
 	case KIWI_DEVICE_ID:
 	case QCN9224_DEVICE_ID:
 	case MANGO_DEVICE_ID:
+	case QCA5332_DEVICE_ID:
 		return dp_soc_attach_wifi3(psoc, &params);
 	break;
 	default:

+ 18 - 1
dp/wifi3.0/dp_main.c

@@ -14719,7 +14719,8 @@ void dp_soc_set_txrx_ring_map(struct dp_soc *soc)
 qdf_export_symbol(dp_soc_set_txrx_ring_map);
 
 #if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
-	defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574)
+	defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \
+	defined(QCA_WIFI_QCA5332)
 /**
  * dp_soc_attach_wifi3() - Attach txrx SOC
  * @ctrl_psoc: Opaque SOC handle from control plane
@@ -16380,6 +16381,21 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		soc->host_ast_db_enable = cfg_get(soc->ctrl_psoc,
 						  CFG_DP_HOST_AST_DB_ENABLE);
 		break;
+	case TARGET_TYPE_QCA5332:
+		soc->ast_override_support = 1;
+		soc->da_war_enabled = false;
+		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
+		soc->per_tid_basize_max_tid = 8;
+		soc->wbm_release_desc_rx_sg_support = 1;
+		soc->rxdma2sw_rings_not_supported = 1;
+		soc->wbm_sg_last_msdu_war = 1;
+		soc->ast_offload_support = AST_OFFLOAD_ENABLE_STATUS;
+		soc->mec_fw_offload = FW_MEC_FW_OFFLOAD_ENABLED;
+		soc->num_hw_dscp_tid_map = HAL_MAX_HW_DSCP_TID_V2_MAPS_5332;
+		wlan_cfg_set_txmon_hw_support(soc->wlan_cfg_ctx, true);
+		soc->host_ast_db_enable = cfg_get(soc->ctrl_psoc,
+						  CFG_DP_HOST_AST_DB_ENABLE);
+		break;
 	default:
 		qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);
 		qdf_assert_always(0);
@@ -16431,6 +16447,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
 		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 	case TARGET_TYPE_QCN9224:
+	case TARGET_TYPE_QCA5332:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
 		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;

+ 3 - 0
dp/wifi3.0/monitor/dp_mon.c

@@ -4942,6 +4942,7 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
 		mon_soc->hw_nac_monitor_support = 1;
 		break;
 	case TARGET_TYPE_QCN9224:
+	case TARGET_TYPE_QCA5332:
 		wlan_cfg_set_mon_delayed_replenish_entries(soc->wlan_cfg_ctx,
 							   MON_BUF_MIN_ENTRIES);
 		mon_soc->hw_nac_monitor_support = 1;
@@ -5604,6 +5605,7 @@ void dp_mon_ops_register(struct dp_soc *soc)
 		dp_mon_ops_register_1_0(mon_soc);
 		break;
 	case TARGET_TYPE_QCN9224:
+	case TARGET_TYPE_QCA5332:
 #ifdef QCA_MONITOR_2_0_SUPPORT
 		dp_mon_ops_register_2_0(mon_soc);
 #endif
@@ -5676,6 +5678,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc)
 #endif
 		break;
 	case TARGET_TYPE_QCN9224:
+	case TARGET_TYPE_QCA5332:
 #ifdef QCA_MONITOR_2_0_SUPPORT
 		dp_mon_cdp_ops_register_2_0(ops);
 #ifdef ATH_SUPPORT_NAC_RSSI

+ 1 - 0
hal/wifi3.0/hal_tx.h

@@ -117,6 +117,7 @@ do {                                            \
 #define HAL_MAX_HW_DSCP_TID_MAPS_11AX 32
 
 #define HAL_MAX_HW_DSCP_TID_V2_MAPS 48
+#define HAL_MAX_HW_DSCP_TID_V2_MAPS_5332 24
 #define HTT_META_HEADER_LEN_BYTES 64
 #define HAL_TX_EXT_DESC_WITH_META_DATA \
 	(HTT_META_HEADER_LEN_BYTES + HAL_TX_EXTENSION_DESC_LEN_BYTES)

+ 1 - 1
hal/wifi3.0/qca5332/hal_5332_tx.h

@@ -51,7 +51,7 @@ static void hal_tx_set_dscp_tid_map_5332(struct hal_soc *hal_soc, uint8_t *map,
 
 	struct hal_soc *soc = (struct hal_soc *)hal_soc;
 
-	if (id >= HAL_MAX_HW_DSCP_TID_V2_MAPS)
+	if (id >= HAL_MAX_HW_DSCP_TID_V2_MAPS_5332)
 		return;
 
 	cmn_reg_addr = HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(