From 8c4f4c721cfd7f2a7929e2112924a5b879ea6b89 Mon Sep 17 00:00:00 2001 From: Mukul Dhiman Date: Sun, 16 Jul 2023 20:21:14 +0530 Subject: [PATCH] qcacmn: Add cdp api to fetch mldev mode Add cdp api to fetch mldev mode Change-Id: I06ed37ddbce96249e957f1664082bffe5afb2fc5 CRs-Fixed: 3501087 --- dp/inc/cdp_txrx_cmn_struct.h | 4 ++++ dp/wifi3.0/dp_main.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h index 71935e8e69..f742939728 100644 --- a/dp/inc/cdp_txrx_cmn_struct.h +++ b/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 diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 6f0b7ea61a..96b5d0aa12 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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;