OSDN Git Service

mt76: mt7615: introduce mt7615_wtbl_desc data structure
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 2 Apr 2020 18:18:55 +0000 (20:18 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:29 +0000 (19:52 +0200)
Generalize mt7615_rate_desc introducing mt7615_wtbl_desc and
mt7615_key_desc data structures in order to configure the hw wtbl
in a non-atomic context for usb devices

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

index f2bee76..ed6eb19 100644 (file)
@@ -895,7 +895,6 @@ mt7615_mac_update_rate_desc(struct mt7615_phy *phy, struct mt7615_sta *sta,
                rd->bw_idx = 7;
 
        rd->rateset = rateset;
-       rd->sta = sta;
        rd->bw = bw;
 }
 
index ed34b9a..f3c9126 100644 (file)
@@ -92,10 +92,6 @@ struct mt7615_rate_set {
 };
 
 struct mt7615_rate_desc {
-       struct list_head node;
-
-       struct mt7615_sta *sta;
-
        bool rateset;
        u16 probe_val;
        u16 val[4];
@@ -103,6 +99,31 @@ struct mt7615_rate_desc {
        u8 bw;
 };
 
+enum mt7615_wtbl_desc_type {
+       MT7615_WTBL_RATE_DESC,
+       MT7615_WTBL_KEY_DESC
+};
+
+struct mt7615_key_desc {
+       enum set_key_cmd cmd;
+       u32 cipher;
+       s8 keyidx;
+       u8 keylen;
+       u8 *key;
+};
+
+struct mt7615_wtbl_desc {
+       struct list_head node;
+
+       enum mt7615_wtbl_desc_type type;
+       struct mt7615_sta *sta;
+
+       union {
+               struct mt7615_rate_desc rate;
+               struct mt7615_key_desc key;
+       };
+};
+
 struct mt7615_sta {
        struct mt76_wcid wcid; /* must be first */