mt76: mt76u: rely on mt7622 queue scheme for mt7663u
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 2 Apr 2020 18:18:53 +0000 (20:18 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:29 +0000 (19:52 +0200)
Rely on the mt7622 endpoint definitions for mt7663u

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/usb.c

index a981da6..fb97ea2 100644 (file)
@@ -1009,8 +1009,19 @@ static void mt76u_tx_kick(struct mt76_dev *dev, struct mt76_queue *q)
 
 static u8 mt76u_ac_to_hwq(struct mt76_dev *dev, u8 ac)
 {
-       if (mt76_chip(dev) == 0x7663)
-               return ac ^ 0x3;
+       if (mt76_chip(dev) == 0x7663) {
+               static const u8 wmm_queue_map[] = {
+                       [IEEE80211_AC_VO] = 0,
+                       [IEEE80211_AC_VI] = 1,
+                       [IEEE80211_AC_BE] = 2,
+                       [IEEE80211_AC_BK] = 4,
+               };
+
+               if (WARN_ON(ac >= ARRAY_SIZE(wmm_queue_map)))
+                       return 2; /* BE */
+
+               return wmm_queue_map[ac];
+       }
 
        return mt76_ac_to_hwq(ac);
 }