iwlwifi: transport: track number of allocated queues
As the transport will decide how many queues (and MSI-X vectors) to allocate, add a field to indicate that to the op-mode so it can size/allocate its own data structures appropriately. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
a190430c5e
commit
56882e6cab
|
@ -87,6 +87,7 @@ struct iwl_trans *iwl_trans_alloc(unsigned int priv_size,
|
||||||
trans->cfg = cfg;
|
trans->cfg = cfg;
|
||||||
trans->ops = ops;
|
trans->ops = ops;
|
||||||
trans->dev_cmd_headroom = dev_cmd_headroom;
|
trans->dev_cmd_headroom = dev_cmd_headroom;
|
||||||
|
trans->num_rx_queues = 1;
|
||||||
|
|
||||||
snprintf(trans->dev_cmd_pool_name, sizeof(trans->dev_cmd_pool_name),
|
snprintf(trans->dev_cmd_pool_name, sizeof(trans->dev_cmd_pool_name),
|
||||||
"iwl_cmd_pool:%s", dev_name(trans->dev));
|
"iwl_cmd_pool:%s", dev_name(trans->dev));
|
||||||
|
|
|
@ -386,6 +386,7 @@ static inline void iwl_free_rxb(struct iwl_rx_cmd_buffer *r)
|
||||||
#define IWL_MAX_HW_QUEUES 32
|
#define IWL_MAX_HW_QUEUES 32
|
||||||
#define IWL_MAX_TID_COUNT 8
|
#define IWL_MAX_TID_COUNT 8
|
||||||
#define IWL_FRAME_LIMIT 64
|
#define IWL_FRAME_LIMIT 64
|
||||||
|
#define IWL_MAX_RX_HW_QUEUES 16
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum iwl_wowlan_status - WoWLAN image/device status
|
* enum iwl_wowlan_status - WoWLAN image/device status
|
||||||
|
@ -654,6 +655,8 @@ enum iwl_d0i3_mode {
|
||||||
* @hw_id_str: a string with info about HW ID. Set during transport allocation.
|
* @hw_id_str: a string with info about HW ID. Set during transport allocation.
|
||||||
* @pm_support: set to true in start_hw if link pm is supported
|
* @pm_support: set to true in start_hw if link pm is supported
|
||||||
* @ltr_enabled: set to true if the LTR is enabled
|
* @ltr_enabled: set to true if the LTR is enabled
|
||||||
|
* @num_rx_queues: number of RX queues allocated by the transport;
|
||||||
|
* the transport must set this before calling iwl_drv_start()
|
||||||
* @dev_cmd_pool: pool for Tx cmd allocation - for internal use only.
|
* @dev_cmd_pool: pool for Tx cmd allocation - for internal use only.
|
||||||
* The user should use iwl_trans_{alloc,free}_tx_cmd.
|
* The user should use iwl_trans_{alloc,free}_tx_cmd.
|
||||||
* @dev_cmd_headroom: room needed for the transport's private use before the
|
* @dev_cmd_headroom: room needed for the transport's private use before the
|
||||||
|
@ -693,6 +696,8 @@ struct iwl_trans {
|
||||||
bool pm_support;
|
bool pm_support;
|
||||||
bool ltr_enabled;
|
bool ltr_enabled;
|
||||||
|
|
||||||
|
u8 num_rx_queues;
|
||||||
|
|
||||||
/* The following fields are internal only */
|
/* The following fields are internal only */
|
||||||
struct kmem_cache *dev_cmd_pool;
|
struct kmem_cache *dev_cmd_pool;
|
||||||
size_t dev_cmd_headroom;
|
size_t dev_cmd_headroom;
|
||||||
|
|
Loading…
Reference in New Issue