[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180801165034.579899660@linuxfoundation.org>
Date: Wed, 1 Aug 2018 18:47:57 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
stable@...r.kernel.org, Luca Bisti <luca.bisti@...il.com>,
Gaetano Catalli <gaetano.catalli@...il.com>,
Lorenzo Bianconi <lorenzo.bianconi@...hat.com>,
Felix Fietkau <nbd@....name>,
Kalle Valo <kvalo@...eaurora.org>,
Sasha Levin <alexander.levin@...rosoft.com>
Subject: [PATCH 4.17 142/336] mt76x2: apply coverage class on slot time too
4.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lorenzo Bianconi <lorenzo.bianconi@...hat.com>
[ Upstream commit 0d45d3fe42efc76b6c4f5a62f8d110c7a2e6f83f ]
According to 802.11-2007 17.3.8.6 (slot time), the slot time should
be increased by 3 us * coverage class. Taking into account coverage
class in slot time configuration allows to increase by an order of
magnitude the throughput on a 4Km link in a noisy environment
Tested-by: Luca Bisti <luca.bisti@...il.com>
Tested-by: Gaetano Catalli <gaetano.catalli@...il.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@...hat.com>
Acked-by: Felix Fietkau <nbd@....name>
Signed-off-by: Kalle Valo <kvalo@...eaurora.org>
Signed-off-by: Sasha Levin <alexander.levin@...rosoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
---
drivers/net/wireless/mediatek/mt76/mt76x2_init.c | 3 +++
drivers/net/wireless/mediatek/mt76/mt76x2_main.c | 3 +--
2 files changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/mediatek/mt76/mt76x2_init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2_init.c
@@ -482,7 +482,10 @@ void mt76x2_set_tx_ackto(struct mt76x2_d
{
u8 ackto, sifs, slottime = dev->slottime;
+ /* As defined by IEEE 802.11-2007 17.3.8.6 */
slottime += 3 * dev->coverage_class;
+ mt76_rmw_field(dev, MT_BKOFF_SLOT_CFG,
+ MT_BKOFF_SLOT_CFG_SLOTTIME, slottime);
sifs = mt76_get_field(dev, MT_XIFS_TIME_CFG,
MT_XIFS_TIME_CFG_OFDM_SIFS);
--- a/drivers/net/wireless/mediatek/mt76/mt76x2_main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2_main.c
@@ -247,8 +247,7 @@ mt76x2_bss_info_changed(struct ieee80211
int slottime = info->use_short_slot ? 9 : 20;
dev->slottime = slottime;
- mt76_rmw_field(dev, MT_BKOFF_SLOT_CFG,
- MT_BKOFF_SLOT_CFG_SLOTTIME, slottime);
+ mt76x2_set_tx_ackto(dev);
}
mutex_unlock(&dev->mutex);
Powered by blists - more mailing lists