* [PATCH 0/6] mt76: avoid mcu_restart function pointer
@ 2023-01-01 11:53 Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 1/6] wifi: mt76: mt7915: " Lorenzo Bianconi
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Avoid mcu_restart function pointer whenever it is possible.
Lorenzo Bianconi (6):
wifi: mt76: mt7915: avoid mcu_restart function pointer
wifi: mt76: mt7603: avoid mcu_restart function pointer
wifi: mt76: mt7615: avoid mcu_restart function pointer
wifi: mt76: mt7921: avoid mcu_restart function pointer
wifi: mt76: mt7996: avoid mcu_restart function pointer
wifi: mt76: remove __mt76_mcu_restart macro
drivers/net/wireless/mediatek/mt76/mt76.h | 1 -
.../net/wireless/mediatek/mt76/mt7603/mcu.c | 3 +-
.../net/wireless/mediatek/mt76/mt7615/mcu.c | 3 +-
.../wireless/mediatek/mt76/mt7615/sdio_mcu.c | 1 -
.../wireless/mediatek/mt76/mt7615/usb_mcu.c | 1 -
.../net/wireless/mediatek/mt76/mt7915/mcu.c | 5 +--
.../wireless/mediatek/mt76/mt7921/pci_mcu.c | 1 -
.../net/wireless/mediatek/mt76/mt7921/usb.c | 1 -
.../net/wireless/mediatek/mt76/mt7996/mcu.c | 45 +++++++++----------
9 files changed, 26 insertions(+), 35 deletions(-)
--
2.38.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/6] wifi: mt76: mt7915: avoid mcu_restart function pointer
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 2/6] wifi: mt76: mt7603: " Lorenzo Bianconi
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Run mt76_connac_mcu_restart routine directly and avoid mcu_restart
function pointer whenever it is possible.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
index e69ef2828925..55517e0f8c84 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
@@ -2104,7 +2104,7 @@ static int mt7915_load_firmware(struct mt7915_dev *dev)
/* make sure fw is download state */
if (mt7915_firmware_state(dev, false)) {
/* restart firmware once */
- __mt76_mcu_restart(&dev->mt76);
+ mt76_connac_mcu_restart(&dev->mt76);
ret = mt7915_firmware_state(dev, false);
if (ret) {
dev_err(dev->mt76.dev,
@@ -2336,7 +2336,6 @@ int mt7915_mcu_init(struct mt7915_dev *dev)
.headroom = sizeof(struct mt76_connac2_mcu_txd),
.mcu_skb_send_msg = mt7915_mcu_send_message,
.mcu_parse_response = mt7915_mcu_parse_response,
- .mcu_restart = mt76_connac_mcu_restart,
};
dev->mt76.mcu_ops = &mt7915_mcu_ops;
@@ -2346,7 +2345,7 @@ int mt7915_mcu_init(struct mt7915_dev *dev)
void mt7915_mcu_exit(struct mt7915_dev *dev)
{
- __mt76_mcu_restart(&dev->mt76);
+ mt76_connac_mcu_restart(&dev->mt76);
if (mt7915_firmware_state(dev, false)) {
dev_err(dev->mt76.dev, "Failed to exit mcu\n");
goto out;
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/6] wifi: mt76: mt7603: avoid mcu_restart function pointer
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 1/6] wifi: mt76: mt7915: " Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 3/6] wifi: mt76: mt7615: " Lorenzo Bianconi
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Run mt7603_mcu_restart routine directly and avoid mcu_restart function
pointer whenever it is possible.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
drivers/net/wireless/mediatek/mt76/mt7603/mcu.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7603/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7603/mcu.c
index 7884b952b720..301668c3cc92 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7603/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7603/mcu.c
@@ -221,7 +221,6 @@ int mt7603_mcu_init(struct mt7603_dev *dev)
.headroom = sizeof(struct mt7603_mcu_txd),
.mcu_skb_send_msg = mt7603_mcu_skb_send_msg,
.mcu_parse_response = mt7603_mcu_parse_response,
- .mcu_restart = mt7603_mcu_restart,
};
dev->mt76.mcu_ops = &mt7603_mcu_ops;
@@ -230,7 +229,7 @@ int mt7603_mcu_init(struct mt7603_dev *dev)
void mt7603_mcu_exit(struct mt7603_dev *dev)
{
- __mt76_mcu_restart(&dev->mt76);
+ mt7603_mcu_restart(&dev->mt76);
skb_queue_purge(&dev->mt76.mcu.res_q);
}
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/6] wifi: mt76: mt7615: avoid mcu_restart function pointer
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 1/6] wifi: mt76: mt7915: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 2/6] wifi: mt76: mt7603: " Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 4/6] wifi: mt76: mt7921: " Lorenzo Bianconi
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Run mt7615_mcu_restart routine directly and avoid mcu_restart function
pointer whenever it is possible.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 3 +--
drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c | 1 -
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c | 1 -
3 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
index 83f30305414d..eea398c79a98 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
@@ -1692,7 +1692,6 @@ int mt7615_mcu_init(struct mt7615_dev *dev)
.headroom = sizeof(struct mt7615_mcu_txd),
.mcu_skb_send_msg = mt7615_mcu_send_message,
.mcu_parse_response = mt7615_mcu_parse_response,
- .mcu_restart = mt7615_mcu_restart,
};
int ret;
@@ -1732,7 +1731,7 @@ EXPORT_SYMBOL_GPL(mt7615_mcu_init);
void mt7615_mcu_exit(struct mt7615_dev *dev)
{
- __mt76_mcu_restart(&dev->mt76);
+ mt7615_mcu_restart(&dev->mt76);
mt7615_mcu_set_fw_ctrl(dev);
skb_queue_purge(&dev->mt76.mcu.res_q);
}
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
index dc9a2f0b45a5..b0094205ba95 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
@@ -137,7 +137,6 @@ int mt7663s_mcu_init(struct mt7615_dev *dev)
.tailroom = MT_USB_TAIL_SIZE,
.mcu_skb_send_msg = mt7663s_mcu_send_message,
.mcu_parse_response = mt7615_mcu_parse_response,
- .mcu_restart = mt7615_mcu_restart,
.mcu_rr = mt76_connac_mcu_reg_rr,
.mcu_wr = mt76_connac_mcu_reg_wr,
};
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
index 98bf2f6ae936..a8b1a0f8b2d7 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
@@ -69,7 +69,6 @@ int mt7663u_mcu_init(struct mt7615_dev *dev)
.tailroom = MT_USB_TAIL_SIZE,
.mcu_skb_send_msg = mt7663u_mcu_send_message,
.mcu_parse_response = mt7615_mcu_parse_response,
- .mcu_restart = mt7615_mcu_restart,
};
int ret;
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/6] wifi: mt76: mt7921: avoid mcu_restart function pointer
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
` (2 preceding siblings ...)
2023-01-01 11:53 ` [PATCH 3/6] wifi: mt76: mt7615: " Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 5/6] wifi: mt76: mt7996: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 6/6] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Avoid mcu_restart function pointer whenever it is possible.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c | 1 -
drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
index 86340d3205c5..0e7ea35efa8d 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
@@ -44,7 +44,6 @@ int mt7921e_mcu_init(struct mt7921_dev *dev)
.headroom = sizeof(struct mt76_connac2_mcu_txd),
.mcu_skb_send_msg = mt7921_mcu_send_message,
.mcu_parse_response = mt7921_mcu_parse_response,
- .mcu_restart = mt76_connac_mcu_restart,
};
int err;
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
index 5321d20dcdcb..a277d9ef2db4 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
@@ -133,7 +133,6 @@ static int mt7921u_mcu_init(struct mt7921_dev *dev)
.tailroom = MT_USB_TAIL_SIZE,
.mcu_skb_send_msg = mt7921u_mcu_send_message,
.mcu_parse_response = mt7921_mcu_parse_response,
- .mcu_restart = mt76_connac_mcu_restart,
};
int ret;
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/6] wifi: mt76: mt7996: avoid mcu_restart function pointer
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
` (3 preceding siblings ...)
2023-01-01 11:53 ` [PATCH 4/6] wifi: mt76: mt7921: " Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 6/6] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
Run mt7996_mcu_restart routine directly and avoid mcu_restart function
pointer whenever it is possible.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
.../net/wireless/mediatek/mt76/mt7996/mcu.c | 45 +++++++++----------
1 file changed, 22 insertions(+), 23 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
index af6d80655471..158f8387547f 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
@@ -2241,6 +2241,26 @@ mt7996_firmware_state(struct mt7996_dev *dev, bool wa)
return 0;
}
+static int
+mt7996_mcu_restart(struct mt76_dev *dev)
+{
+ struct {
+ u8 __rsv1[4];
+
+ __le16 tag;
+ __le16 len;
+ u8 power_mode;
+ u8 __rsv2[3];
+ } __packed req = {
+ .tag = cpu_to_le16(UNI_POWER_OFF),
+ .len = cpu_to_le16(sizeof(req) - 4),
+ .power_mode = 1,
+ };
+
+ return mt76_mcu_send_msg(dev, MCU_WM_UNI_CMD(POWER_CREL), &req,
+ sizeof(req), false);
+}
+
static int mt7996_load_firmware(struct mt7996_dev *dev)
{
int ret;
@@ -2248,7 +2268,7 @@ static int mt7996_load_firmware(struct mt7996_dev *dev)
/* make sure fw is download state */
if (mt7996_firmware_state(dev, false)) {
/* restart firmware once */
- __mt76_mcu_restart(&dev->mt76);
+ mt7996_mcu_restart(&dev->mt76);
ret = mt7996_firmware_state(dev, false);
if (ret) {
dev_err(dev->mt76.dev,
@@ -2377,33 +2397,12 @@ mt7996_mcu_init_rx_airtime(struct mt7996_dev *dev)
MCU_WM_UNI_CMD(VOW), true);
}
-static int
-mt7996_mcu_restart(struct mt76_dev *dev)
-{
- struct {
- u8 __rsv1[4];
-
- __le16 tag;
- __le16 len;
- u8 power_mode;
- u8 __rsv2[3];
- } __packed req = {
- .tag = cpu_to_le16(UNI_POWER_OFF),
- .len = cpu_to_le16(sizeof(req) - 4),
- .power_mode = 1,
- };
-
- return mt76_mcu_send_msg(dev, MCU_WM_UNI_CMD(POWER_CREL), &req,
- sizeof(req), false);
-}
-
int mt7996_mcu_init(struct mt7996_dev *dev)
{
static const struct mt76_mcu_ops mt7996_mcu_ops = {
.headroom = sizeof(struct mt76_connac2_mcu_txd), /* reuse */
.mcu_skb_send_msg = mt7996_mcu_send_message,
.mcu_parse_response = mt7996_mcu_parse_response,
- .mcu_restart = mt7996_mcu_restart,
};
int ret;
@@ -2451,7 +2450,7 @@ int mt7996_mcu_init(struct mt7996_dev *dev)
void mt7996_mcu_exit(struct mt7996_dev *dev)
{
- __mt76_mcu_restart(&dev->mt76);
+ mt7996_mcu_restart(&dev->mt76);
if (mt7996_firmware_state(dev, false)) {
dev_err(dev->mt76.dev, "Failed to exit mcu\n");
goto out;
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 6/6] wifi: mt76: remove __mt76_mcu_restart macro
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
` (4 preceding siblings ...)
2023-01-01 11:53 ` [PATCH 5/6] wifi: mt76: mt7996: " Lorenzo Bianconi
@ 2023-01-01 11:53 ` Lorenzo Bianconi
5 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Bianconi @ 2023-01-01 11:53 UTC (permalink / raw)
To: nbd; +Cc: lorenzo.bianconi, linux-wireless
__mt76_mcu_restart is no longer used
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
drivers/net/wireless/mediatek/mt76/mt76.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h
index f351a37c47f7..4f808b676954 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76.h
@@ -888,7 +888,6 @@ extern struct ieee80211_rate mt76_rates[12];
#define mt76_mcu_restart(dev, ...) (dev)->mt76.mcu_ops->mcu_restart(&((dev)->mt76))
-#define __mt76_mcu_restart(dev, ...) (dev)->mcu_ops->mcu_restart((dev))
#define mt76_set(dev, offset, val) mt76_rmw(dev, offset, 0, val)
#define mt76_clear(dev, offset, val) mt76_rmw(dev, offset, val, 0)
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-01-01 11:54 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-01 11:53 [PATCH 0/6] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 1/6] wifi: mt76: mt7915: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 2/6] wifi: mt76: mt7603: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 3/6] wifi: mt76: mt7615: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 4/6] wifi: mt76: mt7921: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 5/6] wifi: mt76: mt7996: " Lorenzo Bianconi
2023-01-01 11:53 ` [PATCH 6/6] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.