Commit 4ebcff04 authored by Peter Chiu's avatar Peter Chiu Committed by Felix Fietkau
Browse files

mt76: mt7915: limit minimum twt duration



The minimum twt duration supported by mt7915 is 64 according to hardware
design. Reply station with TWT_SETUP_CMD_DICTATE if min_twt_dur smaller
than 64.

Signed-off-by: default avatarPeter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent c088eb38
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2654,6 +2654,12 @@ void mt7915_mac_add_twt_setup(struct ieee80211_hw *hw,
	if (hweight8(msta->twt.flowid_mask) == ARRAY_SIZE(msta->twt.flow))
		goto unlock;

	if (twt_agrt->min_twt_dur < MT7915_MIN_TWT_DUR) {
		setup_cmd = TWT_SETUP_CMD_DICTATE;
		twt_agrt->min_twt_dur = MT7915_MIN_TWT_DUR;
		goto unlock;
	}

	flowid = ffs(~msta->twt.flowid_mask) - 1;
	le16p_replace_bits(&twt_agrt->req_type, flowid,
			   IEEE80211_TWT_REQTYPE_FLOWID);
+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@

#define MT7915_MAX_TWT_AGRT		16
#define MT7915_MAX_STA_TWT_AGRT		8
#define MT7915_MIN_TWT_DUR 64
#define MT7915_MAX_QUEUE		(__MT_RXQ_MAX + __MT_MCUQ_MAX + 2)

struct mt7915_vif;