qcacmn: WMI support for EXT NSS Signaling

Add required WMI commands to communicate support of
EXT NSS Signaling between host and FW. Also, if
EXT NSS Signaling is supported the use new WMI to
communicate the required information between host and FW.

Change-Id: If3e1ef11a55f8fbdffddb3b10963878a6a2ca415
CRs-Fixed: 2089043
This commit is contained in:
Soumya Bhat
2017-08-29 18:49:13 +05:30
committed by pramod kotreshappa
parent cc5d7b8ff7
commit 3eec5f3273
4 changed files with 18 additions and 0 deletions

View File

@@ -495,6 +495,7 @@ enum _ol_ath_param_t {
OL_ATH_PARAM_DUMP_OBJECTS = 351, OL_ATH_PARAM_DUMP_OBJECTS = 351,
OL_ATH_PARAM_ACS_SRLOADVAR = 352, OL_ATH_PARAM_ACS_SRLOADVAR = 352,
OL_ATH_PARAM_MGMT_RSSI_THRESHOLD = 353, OL_ATH_PARAM_MGMT_RSSI_THRESHOLD = 353,
OL_ATH_PARAM_EXT_NSS_CAPABLE = 354,
}; };
/* Enumeration of PDEV Configuration parameter */ /* Enumeration of PDEV Configuration parameter */

View File

@@ -5462,6 +5462,7 @@ typedef enum {
wmi_service_pkt_routing, wmi_service_pkt_routing,
wmi_service_offchan_tx_wmi, wmi_service_offchan_tx_wmi,
wmi_service_chan_load_info, wmi_service_chan_load_info,
wmi_service_extended_nss_support,
wmi_services_max, wmi_services_max,
} wmi_conv_service_ids; } wmi_conv_service_ids;
@@ -6156,6 +6157,10 @@ typedef enum {
/* Set default Rx routing */ /* Set default Rx routing */
WMI_HOST_PEER_SET_DEFAULT_ROUTING = 0x13, WMI_HOST_PEER_SET_DEFAULT_ROUTING = 0x13,
WMI_HOST_PEER_SET_MIN_TX_RATE = 0x14, 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; } PEER_PARAM_ENUM;
#define WMI_HOST_PEER_MIMO_PS_NONE 0x0 #define WMI_HOST_PEER_MIMO_PS_NONE 0x0
#define WMI_HOST_PEER_MIMO_PS_STATIC 0x1 #define WMI_HOST_PEER_MIMO_PS_STATIC 0x1

View File

@@ -512,6 +512,9 @@ static QDF_STATUS convert_host_peer_id_to_target_id_non_tlv(
case WMI_HOST_PEER_EXT_STATS_ENABLE: case WMI_HOST_PEER_EXT_STATS_ENABLE:
*targ_paramid = WMI_PEER_EXT_STATS_ENABLE; *targ_paramid = WMI_PEER_EXT_STATS_ENABLE;
break; break;
/* Populate appropriate targetid once feature is supported in FW */
case WMI_HOST_PEER_NSS_VHT160:
case WMI_HOST_PEER_NSS_VHT80_80:
default: default:
return QDF_STATUS_E_NOSUPPORT; 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_pkt_routing] = WMI_SERVICE_UNAVAILABLE;
wmi_service[wmi_service_offchan_tx_wmi] = 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_chan_load_info] = WMI_SERVICE_UNAVAILABLE;
wmi_service[wmi_service_extended_nss_support] = WMI_SERVICE_UNAVAILABLE;
} }
/** /**

View File

@@ -634,6 +634,12 @@ static QDF_STATUS convert_host_peer_id_to_target_id_tlv(
case WMI_HOST_PEER_SET_DEFAULT_ROUTING: case WMI_HOST_PEER_SET_DEFAULT_ROUTING:
*targ_paramid = WMI_PEER_SET_DEFAULT_ROUTING; *targ_paramid = WMI_PEER_SET_DEFAULT_ROUTING;
break; 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: default:
return QDF_STATUS_E_NOSUPPORT; 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_pkt_routing] = WMI_SERVICE_PKT_ROUTING;
wmi_service[wmi_service_offchan_tx_wmi] = WMI_SERVICE_OFFCHAN_TX_WMI; 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_chan_load_info] = WMI_SERVICE_CHAN_LOAD_INFO;
wmi_service[wmi_service_extended_nss_support] =
WMI_SERVICE_EXTENDED_NSS_SUPPORT;
} }
/** /**