mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: add mt76_connac_gen_ppe_thresh utility routine
gen_ppe_thresh routine is shared between mt7615, mt7915, mt7921 and mt7996 so move it in mt76_connac module. Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
28ea992ce8
commit
c09f943d4f
@@ -9,6 +9,27 @@
|
||||
#define HE_PREP(f, m, v) le16_encode_bits(le32_get_bits(v, MT_CRXV_HE_##m),\
|
||||
IEEE80211_RADIOTAP_HE_##f)
|
||||
|
||||
void mt76_connac_gen_ppe_thresh(u8 *he_ppet, int nss)
|
||||
{
|
||||
static const u8 ppet16_ppet8_ru3_ru0[] = { 0x1c, 0xc7, 0x71 };
|
||||
u8 i, ppet_bits, ppet_size, ru_bit_mask = 0x7; /* HE80 */
|
||||
|
||||
he_ppet[0] = FIELD_PREP(IEEE80211_PPE_THRES_NSS_MASK, nss - 1) |
|
||||
FIELD_PREP(IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK,
|
||||
ru_bit_mask);
|
||||
|
||||
ppet_bits = IEEE80211_PPE_THRES_INFO_PPET_SIZE *
|
||||
nss * hweight8(ru_bit_mask) * 2;
|
||||
ppet_size = DIV_ROUND_UP(ppet_bits, 8);
|
||||
|
||||
for (i = 0; i < ppet_size - 1; i++)
|
||||
he_ppet[i + 1] = ppet16_ppet8_ru3_ru0[i % 3];
|
||||
|
||||
he_ppet[i + 1] = ppet16_ppet8_ru3_ru0[i % 3] &
|
||||
(0xff >> (8 - (ppet_bits - 1) % 8));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76_connac_gen_ppe_thresh);
|
||||
|
||||
int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm)
|
||||
{
|
||||
struct mt76_dev *dev = phy->dev;
|
||||
|
||||
Reference in New Issue
Block a user