qcacmn: Use arrays for param conversion from host to target type
Convert host param id to target param id using arrays instead of switch case. This enables removal of CONFIG_MCL compile time macro and use specific macro ENABLE_HOST_TO_TARGET_CONVERSION for conversions Change-Id: I223141d47e92521e6600fc0e160ab2deef43d7d2 CRs-Fixed: 2418030
This commit is contained in:
@@ -162,22 +162,20 @@ enum wmi_rx_exec_ctx {
|
||||
|
||||
/**
|
||||
* struct wmi_unified_attach_params - wmi init parameters
|
||||
* @param osdev : NIC device
|
||||
* @param target_type : type of supported wmi command
|
||||
* @param use_cookie : flag to indicate cookie based allocation
|
||||
* @param enable_vdev_pdev_param_conversion : To enable pdev vdev parametric
|
||||
* id conversion from host type to
|
||||
* target type
|
||||
* @param ops : handle to wmi ops
|
||||
* @psoc : objmgr psoc
|
||||
* @max_commands : max commands
|
||||
* @osdev: NIC device
|
||||
* @target_type: type of supported wmi command
|
||||
* @use_cookie: flag to indicate cookie based allocation
|
||||
* @is_async_ep: queueing interrupt or non-interrupt endpoint
|
||||
* @rx_ops: handle to wmi ops
|
||||
* @psoc: objmgr psoc
|
||||
* @max_commands: max commands
|
||||
* @soc_id: SoC device instance id
|
||||
*/
|
||||
struct wmi_unified_attach_params {
|
||||
osdev_t osdev;
|
||||
enum wmi_target_type target_type;
|
||||
bool use_cookie;
|
||||
bool is_async_ep;
|
||||
bool enable_vdev_pdev_param_conversion;
|
||||
struct wmi_rx_ops *rx_ops;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
uint16_t max_commands;
|
||||
|
@@ -4995,7 +4995,6 @@ typedef enum {
|
||||
wmi_pdev_param_equal_ru_allocation_enable,
|
||||
wmi_pdev_param_per_peer_prd_cfr_enable,
|
||||
wmi_pdev_param_nav_override_config,
|
||||
wmi_pdev_param_max,
|
||||
} wmi_conv_pdev_params_id;
|
||||
|
||||
|
||||
@@ -5124,8 +5123,6 @@ typedef enum {
|
||||
wmi_vdev_param_ul_stbc,
|
||||
wmi_vdev_param_ul_fixed_rate,
|
||||
wmi_vdev_param_rawmode_open_war,
|
||||
|
||||
wmi_vdev_param_max,
|
||||
} wmi_conv_vdev_param_id;
|
||||
|
||||
/**
|
||||
@@ -6040,57 +6037,66 @@ typedef enum {
|
||||
|
||||
/**
|
||||
* Peer param enum abstracted from target
|
||||
* @WMI_HOST_PEER_MIMO_PS_STATE: mimo powersave state
|
||||
* @WMI_HOST_PEER_AMPDU: enable/disable AMPDU . initial value (enabled)
|
||||
* @WMI_HOST_PEER_AUTHORIZE: authorize/unauthorize peer.
|
||||
* initial value is unauthorized (0)
|
||||
* @WMI_HOST_PEER_CHWIDTH: Peer channel bandwidth
|
||||
* @WMI_HOST_PEER_NSS: peer NSS
|
||||
* @WMI_HOST_PEER_USE_4ADDR: USE 4 ADDR
|
||||
* @WMI_HOST_PEER_EXT_STATS_ENABLE: Enable extended peer stats
|
||||
* @WMI_HOST_PEER_USE_FIXED_PWR: Use FIXED Pwr,
|
||||
* @WMI_HOST_PEER_PARAM_FIXED_RATE: Set peer fixed rate
|
||||
* @WMI_HOST_PEER_SET_MU_WHITELIST: Whitelist peer TIDs
|
||||
* @WMI_HOST_PEER_MEMBERSHIP: set group membership status
|
||||
* @WMI_HOST_PEER_USERPOS: User POS
|
||||
* @WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED: Critical Protocol Hint enabled
|
||||
* @WMI_HOST_PEER_TX_FAIL_CNT_THR: Tx Fail count threshold
|
||||
* @WMI_HOST_PEER_SET_HW_RETRY_CTS2S: Set hardware retry CTS to self
|
||||
* @WMI_HOST_PEER_IBSS_ATIM_WINDOW_LENGTH: IBSS ATIM window length
|
||||
* @WMI_HOST_PEER_PHYMODE: Peer Phymode
|
||||
* @WMI_HOST_PEER_SET_MAC_TX_RATE: Set MAC Tx rate
|
||||
* @WMI_HOST_PEER_SET_DEFAULT_ROUTING: Set default Rx routing
|
||||
* @WMI_HOST_PEER_SET_MIN_TX_RATE: Set Minimum T rate
|
||||
* @WMI_HOST_PEER_NSS_VHT160: peer NSS for 160Mhz
|
||||
* @WMI_HOST_PEER_NSS_VHT80_80: peer NSS for 80+80MHz
|
||||
* @WMI_HOST_PEER_PARAM_SU_TXBF_SOUNDING_INTERVAL: Set SU sounding interval
|
||||
* @WMI_HOST_PEER_PARAM_MU_TXBF_SOUNDING_INTERVAL: Set MU sounding interval
|
||||
* @WMI_HOST_PEER_PARAM_TXBF_SOUNDING_ENABLE: Enable sounding interval set
|
||||
* @WMI_HOST_PEER_PARAM_MU_ENABLE: Enable MU support
|
||||
* @WMI_HOST_PEER_PARAM_OFDMA_ENABLE: Enable OFDMA support
|
||||
* @WMI_HOST_PEER_PARAM_ENABLE_FT: Notify FT roam
|
||||
*/
|
||||
typedef enum {
|
||||
/** mimo powersave state */
|
||||
enum {
|
||||
WMI_HOST_PEER_MIMO_PS_STATE = 0x1,
|
||||
/** enable/disable AMPDU . initial value (enabled) */
|
||||
WMI_HOST_PEER_AMPDU = 0x2,
|
||||
/** authorize/unauthorize peer. initial value is unauthorized (0) */
|
||||
WMI_HOST_PEER_AUTHORIZE = 0x3,
|
||||
/** peer channel bandwidth */
|
||||
WMI_HOST_PEER_CHWIDTH = 0x4,
|
||||
/** peer NSS */
|
||||
WMI_HOST_PEER_NSS = 0x5,
|
||||
/** USE 4 ADDR */
|
||||
WMI_HOST_PEER_USE_4ADDR = 0x6,
|
||||
/** Enable extended peer stats */
|
||||
WMI_HOST_PEER_EXT_STATS_ENABLE = 0x7,
|
||||
/*Use FIXED Pwr */
|
||||
WMI_HOST_PEER_USE_FIXED_PWR = 0x8,
|
||||
/* Set peer fixed rate */
|
||||
WMI_HOST_PEER_PARAM_FIXED_RATE = 0x9,
|
||||
/* Whitelist peer TIDs */
|
||||
WMI_HOST_PEER_SET_MU_WHITELIST = 0xa,
|
||||
/* set group membership status */
|
||||
WMI_HOST_PEER_MEMBERSHIP = 0xb,
|
||||
WMI_HOST_PEER_USERPOS = 0xc,
|
||||
WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED = 0xd,
|
||||
WMI_HOST_PEER_TX_FAIL_CNT_THR = 0xe,
|
||||
WMI_HOST_PEER_SET_HW_RETRY_CTS2S = 0xf,
|
||||
WMI_HOST_PEER_IBSS_ATIM_WINDOW_LENGTH = 0x10,
|
||||
WMI_HOST_PEER_PHYMODE = 0x11,
|
||||
WMI_HOST_PEER_SET_MAC_TX_RATE = 0x12,
|
||||
/* 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,
|
||||
/* Set SU sounding interval */
|
||||
WMI_HOST_PEER_PARAM_SU_TXBF_SOUNDING_INTERVAL = 0x17,
|
||||
/* Set MU sounding interval */
|
||||
WMI_HOST_PEER_PARAM_MU_TXBF_SOUNDING_INTERVAL = 0x18,
|
||||
/* Enable sounding interval set */
|
||||
WMI_HOST_PEER_PARAM_TXBF_SOUNDING_ENABLE = 0x19,
|
||||
/* Enable MU support */
|
||||
WMI_HOST_PEER_PARAM_MU_ENABLE = 0x1a,
|
||||
/* Enable OFDMA support */
|
||||
WMI_HOST_PEER_PARAM_OFDMA_ENABLE = 0x1b,
|
||||
/* Notify FT roam */
|
||||
WMI_HOST_PEER_PARAM_ENABLE_FT = 0x1c,
|
||||
} PEER_PARAM_ENUM;
|
||||
WMI_HOST_PEER_AMPDU,
|
||||
WMI_HOST_PEER_AUTHORIZE,
|
||||
WMI_HOST_PEER_CHWIDTH,
|
||||
WMI_HOST_PEER_NSS,
|
||||
WMI_HOST_PEER_USE_4ADDR,
|
||||
WMI_HOST_PEER_EXT_STATS_ENABLE,
|
||||
WMI_HOST_PEER_USE_FIXED_PWR,
|
||||
WMI_HOST_PEER_PARAM_FIXED_RATE,
|
||||
WMI_HOST_PEER_SET_MU_WHITELIST,
|
||||
WMI_HOST_PEER_MEMBERSHIP,
|
||||
WMI_HOST_PEER_USERPOS,
|
||||
WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED,
|
||||
WMI_HOST_PEER_TX_FAIL_CNT_THR,
|
||||
WMI_HOST_PEER_SET_HW_RETRY_CTS2S,
|
||||
WMI_HOST_PEER_IBSS_ATIM_WINDOW_LENGTH,
|
||||
WMI_HOST_PEER_PHYMODE,
|
||||
WMI_HOST_PEER_SET_MAC_TX_RATE,
|
||||
WMI_HOST_PEER_SET_DEFAULT_ROUTING,
|
||||
WMI_HOST_PEER_SET_MIN_TX_RATE,
|
||||
WMI_HOST_PEER_NSS_VHT160,
|
||||
WMI_HOST_PEER_NSS_VHT80_80,
|
||||
WMI_HOST_PEER_PARAM_SU_TXBF_SOUNDING_INTERVAL,
|
||||
WMI_HOST_PEER_PARAM_MU_TXBF_SOUNDING_INTERVAL,
|
||||
WMI_HOST_PEER_PARAM_TXBF_SOUNDING_ENABLE,
|
||||
WMI_HOST_PEER_PARAM_MU_ENABLE,
|
||||
WMI_HOST_PEER_PARAM_OFDMA_ENABLE,
|
||||
WMI_HOST_PEER_PARAM_ENABLE_FT,
|
||||
};
|
||||
#define WMI_HOST_PEER_MIMO_PS_NONE 0x0
|
||||
#define WMI_HOST_PEER_MIMO_PS_STATIC 0x1
|
||||
#define WMI_HOST_PEER_MIMO_PS_DYNAMIC 0x2
|
||||
|
@@ -2053,8 +2053,6 @@ struct wmi_soc {
|
||||
/* WMI service bitmap received from target */
|
||||
uint32_t *wmi_service_bitmap;
|
||||
uint32_t *wmi_ext_service_bitmap;
|
||||
uint32_t *pdev_param;
|
||||
uint32_t *vdev_param;
|
||||
uint32_t services[wmi_services_max];
|
||||
uint16_t wmi_max_cmds;
|
||||
uint32_t soc_idx;
|
||||
|
@@ -2542,21 +2542,6 @@ void *wmi_unified_attach(void *scn_handle,
|
||||
wmi_handle->wmi_events = soc->wmi_events;
|
||||
wmi_handle->services = soc->services;
|
||||
wmi_handle->scn_handle = scn_handle;
|
||||
if (param->enable_vdev_pdev_param_conversion) {
|
||||
if (wmi_pdev_param_max > SIZE_MAX / sizeof(uint32_t))
|
||||
goto error;
|
||||
soc->pdev_param = qdf_mem_malloc(
|
||||
wmi_pdev_param_max * sizeof(uint32_t));
|
||||
if (!soc->pdev_param)
|
||||
goto error;
|
||||
|
||||
if (wmi_vdev_param_max > SIZE_MAX / sizeof(uint32_t))
|
||||
goto error;
|
||||
soc->vdev_param = qdf_mem_malloc(
|
||||
wmi_vdev_param_max * sizeof(uint32_t));
|
||||
if (!soc->vdev_param)
|
||||
goto error;
|
||||
}
|
||||
soc->scn_handle = scn_handle;
|
||||
qdf_atomic_init(&wmi_handle->pending_cmds);
|
||||
qdf_atomic_init(&wmi_handle->is_target_suspended);
|
||||
@@ -2607,14 +2592,6 @@ void *wmi_unified_attach(void *scn_handle,
|
||||
return wmi_handle;
|
||||
|
||||
error:
|
||||
if (soc->pdev_param) {
|
||||
qdf_mem_free(soc->pdev_param);
|
||||
soc->pdev_param = NULL;
|
||||
}
|
||||
if (soc->vdev_param) {
|
||||
qdf_mem_free(soc->vdev_param);
|
||||
soc->vdev_param = NULL;
|
||||
}
|
||||
qdf_mem_free(soc);
|
||||
qdf_mem_free(wmi_handle);
|
||||
|
||||
@@ -2667,16 +2644,6 @@ void wmi_unified_detach(struct wmi_unified *wmi_handle)
|
||||
}
|
||||
qdf_spinlock_destroy(&soc->ctx_lock);
|
||||
|
||||
if (soc->pdev_param) {
|
||||
qdf_mem_free(soc->pdev_param);
|
||||
soc->pdev_param = NULL;
|
||||
}
|
||||
|
||||
if (soc->vdev_param) {
|
||||
qdf_mem_free(soc->vdev_param);
|
||||
soc->vdev_param = NULL;
|
||||
}
|
||||
|
||||
if (soc->wmi_service_bitmap) {
|
||||
qdf_mem_free(soc->wmi_service_bitmap);
|
||||
soc->wmi_service_bitmap = NULL;
|
||||
|
تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
Diff را بارگزاری کن
مرجع در شماره جدید
Block a user