diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 017a53813a..53f058c255 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -495,6 +495,7 @@ enum _ol_ath_param_t { OL_ATH_PARAM_DUMP_OBJECTS = 351, OL_ATH_PARAM_ACS_SRLOADVAR = 352, OL_ATH_PARAM_MGMT_RSSI_THRESHOLD = 353, + OL_ATH_PARAM_EXT_NSS_CAPABLE = 354, }; /* Enumeration of PDEV Configuration parameter */ diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index f99c933856..3e5d23a3d2 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -5462,6 +5462,7 @@ typedef enum { wmi_service_pkt_routing, wmi_service_offchan_tx_wmi, wmi_service_chan_load_info, + wmi_service_extended_nss_support, wmi_services_max, } wmi_conv_service_ids; @@ -6156,6 +6157,10 @@ typedef enum { /* Set default Rx routing */ WMI_HOST_PEER_SET_DEFAULT_ROUTING = 0x13, WMI_HOST_PEER_SET_MIN_TX_RATE = 0x14, + /* peer NSS for 160Mhx */ + WMI_HOST_PEER_NSS_VHT160 = 0x15, + /* peer NSS for 160Mhx */ + WMI_HOST_PEER_NSS_VHT80_80 = 0x16, } PEER_PARAM_ENUM; #define WMI_HOST_PEER_MIMO_PS_NONE 0x0 #define WMI_HOST_PEER_MIMO_PS_STATIC 0x1 diff --git a/wmi/src/wmi_unified_non_tlv.c b/wmi/src/wmi_unified_non_tlv.c index 24f3dd5faf..040f949eef 100644 --- a/wmi/src/wmi_unified_non_tlv.c +++ b/wmi/src/wmi_unified_non_tlv.c @@ -512,6 +512,9 @@ static QDF_STATUS convert_host_peer_id_to_target_id_non_tlv( case WMI_HOST_PEER_EXT_STATS_ENABLE: *targ_paramid = WMI_PEER_EXT_STATS_ENABLE; break; + /* Populate appropriate targetid once feature is supported in FW */ + case WMI_HOST_PEER_NSS_VHT160: + case WMI_HOST_PEER_NSS_VHT80_80: default: return QDF_STATUS_E_NOSUPPORT; } @@ -8386,6 +8389,7 @@ static void populate_non_tlv_service(uint32_t *wmi_service) wmi_service[wmi_service_pkt_routing] = WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_offchan_tx_wmi] = WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_chan_load_info] = WMI_SERVICE_UNAVAILABLE; + wmi_service[wmi_service_extended_nss_support] = WMI_SERVICE_UNAVAILABLE; } /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 69e80745d8..4a48ddfbb6 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -634,6 +634,12 @@ static QDF_STATUS convert_host_peer_id_to_target_id_tlv( case WMI_HOST_PEER_SET_DEFAULT_ROUTING: *targ_paramid = WMI_PEER_SET_DEFAULT_ROUTING; break; + case WMI_HOST_PEER_NSS_VHT160: + *targ_paramid = WMI_PEER_NSS_VHT160; + break; + case WMI_HOST_PEER_NSS_VHT80_80: + *targ_paramid = WMI_PEER_NSS_VHT80_80; + break; default: return QDF_STATUS_E_NOSUPPORT; } @@ -19470,6 +19476,8 @@ static void populate_tlv_service(uint32_t *wmi_service) wmi_service[wmi_service_pkt_routing] = WMI_SERVICE_PKT_ROUTING; wmi_service[wmi_service_offchan_tx_wmi] = WMI_SERVICE_OFFCHAN_TX_WMI; wmi_service[wmi_service_chan_load_info] = WMI_SERVICE_CHAN_LOAD_INFO; + wmi_service[wmi_service_extended_nss_support] = + WMI_SERVICE_EXTENDED_NSS_SUPPORT; } /**