Hi Krishna, > Ok...will try with the below ones..Marvell definitely has support for AMSDU Tx. mwifiex driver uses AMPDU aggregation by default. Please apply the following change to disable AMPDU so that AMSDU can be chosen for aggregation. Also increase the Tx buffer size to 4K to allow AMSDU aggregation for two 1500-byte packets. Or, you can use 8K to aggregate more packets for your tests. --- diff --git a/drivers/net/wireless/mwifiex/init.c b/drivers/net/wireless/mwifiex/init.c index e00b806..97ef459 100644 --- a/drivers/net/wireless/mwifiex/init.c +++ b/drivers/net/wireless/mwifiex/init.c @@ -317,9 +317,9 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter) adapter->pm_wakeup_fw_try = false; - adapter->max_tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K; - adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K; - adapter->curr_tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K; + adapter->max_tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K; + adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K; + adapter->curr_tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K; adapter->is_hs_configured = false; adapter->hs_cfg.conditions = cpu_to_le32(HOST_SLEEP_CFG_COND_DEF); diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c index 135d96d..ea722c2 100644 --- a/drivers/net/wireless/mwifiex/wmm.c +++ b/drivers/net/wireless/mwifiex/wmm.c @@ -425,8 +425,8 @@ mwifiex_wmm_init(struct mwifiex_adapter *adapter) for (i = 0; i < MAX_NUM_TID; ++i) { priv->aggr_prio_tbl[i].amsdu = tos_to_tid_inv[i]; - priv->aggr_prio_tbl[i].ampdu_ap = tos_to_tid_inv[i]; - priv->aggr_prio_tbl[i].ampdu_user = tos_to_tid_inv[i]; + priv->aggr_prio_tbl[i].ampdu_ap = BA_STREAM_NOT_ALLOWED; + priv->aggr_prio_tbl[i].ampdu_user = BA_STREAM_NOT_ALLOWED; priv->wmm.tid_tbl_ptr[i].ra_list_curr = NULL; } -- Patch attached for your convenience. Thanks, Bing > > On Thu, Jan 17, 2013 at 4:53 AM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Wed, 2013-01-16 at 15:05 -0800, Adrian Chadd wrote: > >> .. for testing that out, I ended up just using a NIC that implements > >> AMSDU in software. > >> > >> God knows what it was though (intel?).. > > > > Probably Broadcom and/or Marvell. > > > > johannes > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
mwifiex_choose_amsdu_aggr.patch
Description: mwifiex_choose_amsdu_aggr.patch