summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2020-04-02 20:18:55 +0200
committerFelix Fietkau <nbd@nbd.name>2020-05-12 19:52:29 +0200
commit7d9f1d108c3a05905ecefaff058c5688458f2f48 (patch)
tree2521d939cd86dc70ef3a5aef57cbf31be422d871 /drivers
parent294f17aea22aeb236cefdc9d7bd8af536291a7f8 (diff)
mt76: mt7615: introduce mt7615_wtbl_desc data structure
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/mac.c1
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h29
2 files changed, 25 insertions, 5 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
index f2bee76b8c29..ed6eb19f48c5 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
@@ -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;
}
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h b/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
index ed34b9a0e04c..f3c912672a6c 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
@@ -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 */