Эх сурвалжийг харах

qcacmn: Add cdp api to fetch mldev mode

Add cdp api to fetch mldev mode

Change-Id: I06ed37ddbce96249e957f1664082bffe5afb2fc5
CRs-Fixed: 3501087
Mukul Dhiman 1 жил өмнө
parent
commit
8c4f4c721c

+ 4 - 0
dp/inc/cdp_txrx_cmn_struct.h

@@ -1475,6 +1475,7 @@ enum cdp_pdev_param_type {
  * @fisa_params.rx_toeplitz_hash_key: RX hash key
  * @rx_pkt_tlv_size: RX packet TLV size
  * @cdp_ast_indication_disable: AST indication disable
+ * @cdp_psoc_param_mlo_oper_mode: mlo operation mode
  */
 typedef union cdp_config_param_t {
 	/* peer params */
@@ -1587,6 +1588,7 @@ typedef union cdp_config_param_t {
 	} fisa_params;
 	uint16_t rx_pkt_tlv_size;
 	bool cdp_ast_indication_disable;
+	uint8_t cdp_psoc_param_mlo_oper_mode;
 } cdp_config_param_type;
 
 /**
@@ -1757,6 +1759,7 @@ enum cdp_vdev_param_type {
  * @CDP_CFG_FISA_PARAMS: FISA params
  * @CDP_RX_PKT_TLV_SIZE: RX pkt tlv size
  * @CDP_CFG_AST_INDICATION_DISABLE: AST indication disable
+ * @CDP_CFG_GET_MLO_OPER_MODE: Get MLO operation mode
  */
 enum cdp_psoc_param_type {
 	CDP_ENABLE_RATE_STATS,
@@ -1784,6 +1787,7 @@ enum cdp_psoc_param_type {
 	CDP_CFG_FISA_PARAMS,
 	CDP_RX_PKT_TLV_SIZE,
 	CDP_CFG_AST_INDICATION_DISABLE,
+	CDP_CFG_GET_MLO_OPER_MODE,
 };
 
 #ifdef CONFIG_AP_PLATFORM

+ 22 - 0
dp/wifi3.0/dp_main.c

@@ -129,6 +129,7 @@ cdp_dump_flow_pool_info(struct cdp_soc_t *soc)
 #define DP_TX_TCL_METADATA_PDEV_ID_SET(_var, _val) \
 		HTT_TX_TCL_METADATA_PDEV_ID_SET(_var, _val)
 #endif
+#define MLD_MODE_INVALID 0xFF
 
 QDF_COMPILE_TIME_ASSERT(max_rx_rings_check,
 			MAX_REO_DEST_RINGS == CDP_MAX_RX_RINGS);
@@ -8157,6 +8158,24 @@ dp_set_psoc_param(struct cdp_soc_t *cdp_soc,
 	return QDF_STATUS_SUCCESS;
 }
 
+#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
+/**
+ * dp_get_mldev_mode: function to get mlo operation mode
+ * @soc: soc structure for data path
+ *
+ * Return: uint8_t
+ */
+static uint8_t dp_get_mldev_mode(struct dp_soc *soc)
+{
+	return soc->mld_mode_ap;
+}
+#else
+static uint8_t dp_get_mldev_mode(struct dp_soc *cdp_soc)
+{
+	return MLD_MODE_INVALID;
+}
+#endif
+
 /**
  * dp_get_psoc_param: function to get parameters in soc
  * @cdp_soc: DP soc handle
@@ -8234,6 +8253,9 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
 	case CDP_RX_PKT_TLV_SIZE:
 		val->rx_pkt_tlv_size = soc->rx_pkt_tlv_size;
 		break;
+	case CDP_CFG_GET_MLO_OPER_MODE:
+		val->cdp_psoc_param_mlo_oper_mode = dp_get_mldev_mode(soc);
+		break;
 	default:
 		dp_warn("Invalid param: %u", param);
 		break;