qcacmn: Add get channel width from phy mode API
Add get channel width from phy mode API which will be used by ndp schedule update event. Change-Id: I13d00c0b818eb0da434c8a5372b2ab7b6693f22a CRs-Fixed: 2216801
This commit is contained in:
@@ -2242,4 +2242,13 @@ QDF_STATUS wmi_unified_offload_11k_cmd(void *wmi_hdl,
|
|||||||
QDF_STATUS wmi_unified_invoke_neighbor_report_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_invoke_neighbor_report_cmd(void *wmi_hdl,
|
||||||
struct wmi_invoke_neighbor_report_params *params);
|
struct wmi_invoke_neighbor_report_params *params);
|
||||||
|
|
||||||
|
/* wmi_get_ch_width_from_phy_mode() - convert phy mode to channel width
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @phymode: phy mode
|
||||||
|
*
|
||||||
|
* Return: wmi channel width
|
||||||
|
*/
|
||||||
|
wmi_host_channel_width wmi_get_ch_width_from_phy_mode(void *wmi_hdl,
|
||||||
|
WMI_HOST_WLAN_PHY_MODE phymode);
|
||||||
|
|
||||||
#endif /* _WMI_UNIFIED_API_H_ */
|
#endif /* _WMI_UNIFIED_API_H_ */
|
||||||
|
@@ -404,6 +404,11 @@ typedef void *ol_scn_t;
|
|||||||
typedef int (*wmi_unified_event_handler)(ol_scn_t scn_handle,
|
typedef int (*wmi_unified_event_handler)(ol_scn_t scn_handle,
|
||||||
uint8_t *event_buf, uint32_t len);
|
uint8_t *event_buf, uint32_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @WMI_HOST_WLAN_PHY_MODE: Host based enum ID for corresponding in
|
||||||
|
* WLAN_PHY_MODE. This should be consistent with WLAN_PHY_MODE always to avoid
|
||||||
|
* breaking the WMI
|
||||||
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
WMI_HOST_MODE_11A = 0, /* 11a Mode */
|
WMI_HOST_MODE_11A = 0, /* 11a Mode */
|
||||||
WMI_HOST_MODE_11G = 1, /* 11b/g Mode */
|
WMI_HOST_MODE_11G = 1, /* 11b/g Mode */
|
||||||
|
@@ -28,6 +28,38 @@
|
|||||||
#include "wmi_unified_param.h"
|
#include "wmi_unified_param.h"
|
||||||
#include "qdf_module.h"
|
#include "qdf_module.h"
|
||||||
|
|
||||||
|
static const wmi_host_channel_width mode_to_width[WMI_HOST_MODE_MAX] = {
|
||||||
|
[WMI_HOST_MODE_11A] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11G] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11B] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11GONLY] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11NA_HT20] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11NG_HT20] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT20] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT20_2G] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11NA_HT40] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11NG_HT40] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT40] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT40_2G] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT80] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT80_2G] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
|
#if CONFIG_160MHZ_SUPPORT
|
||||||
|
[WMI_HOST_MODE_11AC_VHT80_80] = WMI_HOST_CHAN_WIDTH_80P80,
|
||||||
|
[WMI_HOST_MODE_11AC_VHT160] = WMI_HOST_CHAN_WIDTH_160,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SUPPORT_11AX
|
||||||
|
[WMI_HOST_MODE_11AX_HE20] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11AX_HE40] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11AX_HE80] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
|
[WMI_HOST_MODE_11AX_HE80_80] = WMI_HOST_CHAN_WIDTH_80P80,
|
||||||
|
[WMI_HOST_MODE_11AX_HE160] = WMI_HOST_CHAN_WIDTH_160,
|
||||||
|
[WMI_HOST_MODE_11AX_HE20_2G] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11AX_HE40_2G] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11AX_HE80_2G] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wmi_unified_vdev_create_send() - send VDEV create command to fw
|
* wmi_unified_vdev_create_send() - send VDEV create command to fw
|
||||||
* @wmi_handle: wmi handle
|
* @wmi_handle: wmi handle
|
||||||
@@ -7436,3 +7468,17 @@ QDF_STATUS wmi_unified_extract_obss_color_collision_info(void *wmi_hdl,
|
|||||||
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wmi_host_channel_width wmi_get_ch_width_from_phy_mode(void *wmi_hdl,
|
||||||
|
WMI_HOST_WLAN_PHY_MODE phymode)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* this API does translation between host only strcutres, hence
|
||||||
|
* does not need separate TLV, non-TLV definitions
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (phymode >= WMI_HOST_MODE_11A && phymode < WMI_HOST_MODE_MAX)
|
||||||
|
return mode_to_width[phymode];
|
||||||
|
else
|
||||||
|
return WMI_HOST_CHAN_WIDTH_20;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user