Search Linux Wireless

RE: Tx AMSDU Support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux