* [PATCH v2 0/2] mt76: avoid mcu_restart function pointer
@ 2023-01-23 10:55 Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 1/2] wifi: mt76: mt7996: " Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 2/2] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
0 siblings, 2 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2023-01-23 10:55 UTC (permalink / raw)
To: nbd; +Cc: linux-wireless, lorenzo.bianconi
Avoid mcu_restart function pointer whenever it is possible.
Changes since v1:
- rebase on top of mt76 tree
- drop already merged patches
Lorenzo Bianconi (2):
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/mt7996/mcu.c | 45 +++++++++----------
2 files changed, 22 insertions(+), 24 deletions(-)
--
2.39.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/2] wifi: mt76: mt7996: avoid mcu_restart function pointer
2023-01-23 10:55 [PATCH v2 0/2] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
@ 2023-01-23 10:55 ` Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 2/2] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2023-01-23 10:55 UTC (permalink / raw)
To: nbd; +Cc: linux-wireless, lorenzo.bianconi
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 d593ed9e3f73..7983008d74b2 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
@@ -2247,6 +2247,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_CTRL), &req,
+ sizeof(req), false);
+}
+
static int mt7996_load_firmware(struct mt7996_dev *dev)
{
int ret;
@@ -2254,7 +2274,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,
@@ -2383,33 +2403,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_CTRL), &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;
@@ -2457,7 +2456,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.39.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v2 2/2] wifi: mt76: remove __mt76_mcu_restart macro
2023-01-23 10:55 [PATCH v2 0/2] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 1/2] wifi: mt76: mt7996: " Lorenzo Bianconi
@ 2023-01-23 10:55 ` Lorenzo Bianconi
1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2023-01-23 10:55 UTC (permalink / raw)
To: nbd; +Cc: linux-wireless, lorenzo.bianconi
__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 2efe4db63958..f4e13fbffc54 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.39.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-01-23 10:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-23 10:55 [PATCH v2 0/2] mt76: avoid mcu_restart function pointer Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 1/2] wifi: mt76: mt7996: " Lorenzo Bianconi
2023-01-23 10:55 ` [PATCH v2 2/2] wifi: mt76: remove __mt76_mcu_restart macro Lorenzo Bianconi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).