iwlwifi: add support for 12K Receive Buffers
802.11ac allows A-MSDU that can be up to 12KB long. Since an entire A-MSDU needs to fit into one single Receive Buffer (RB), add support for big RBs. Since this adds lots of pressure to the memory manager and significantly increase the true_size of the RX buffers, don't enable this by default. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
@@ -423,6 +423,22 @@ enum iwl_trans_status {
|
||||
STATUS_TRANS_DEAD,
|
||||
};
|
||||
|
||||
static inline int
|
||||
iwl_trans_get_rb_size_order(enum iwl_amsdu_size rb_size)
|
||||
{
|
||||
switch (rb_size) {
|
||||
case IWL_AMSDU_4K:
|
||||
return get_order(4 * 1024);
|
||||
case IWL_AMSDU_8K:
|
||||
return get_order(8 * 1024);
|
||||
case IWL_AMSDU_12K:
|
||||
return get_order(12 * 1024);
|
||||
default:
|
||||
WARN_ON(1);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* struct iwl_trans_config - transport configuration
|
||||
*
|
||||
@@ -436,7 +452,7 @@ enum iwl_trans_status {
|
||||
* list of such notifications to filter. Max length is
|
||||
* %MAX_NO_RECLAIM_CMDS.
|
||||
* @n_no_reclaim_cmds: # of commands in list
|
||||
* @rx_buf_size_8k: 8 kB RX buffer size needed for A-MSDUs,
|
||||
* @rx_buf_size: RX buffer size needed for A-MSDUs
|
||||
* if unset 4k will be the RX buffer size
|
||||
* @bc_table_dword: set to true if the BC table expects the byte count to be
|
||||
* in DWORD (as opposed to bytes)
|
||||
@@ -456,7 +472,7 @@ struct iwl_trans_config {
|
||||
const u8 *no_reclaim_cmds;
|
||||
unsigned int n_no_reclaim_cmds;
|
||||
|
||||
bool rx_buf_size_8k;
|
||||
enum iwl_amsdu_size rx_buf_size;
|
||||
bool bc_table_dword;
|
||||
bool scd_set_active;
|
||||
bool wide_cmd_header;
|
||||
|
Reference in New Issue
Block a user