mt76: avoid mcu_restart function pointer
Subsystems (2)
Lorenzo Bianconi
maintainerv2 cover mt76: avoid mcu_restart function pointer
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(-)
Signature · 1 line
2.39.1
Lorenzo Bianconi
maintainerPATCH v2 1/2 wifi: mt76: mt7996: avoid mcu_restart function pointer
Run mt7996_mcu_restart routine directly and avoid mcu_restart function pointer whenever it is possible.
Signed-off-by Lorenzo Bianconi <[email protected]>
--- .../net/wireless/mediatek/mt76/mt7996/mcu.c | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c +22 -23
@@ -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;
Signature · 1 line
2.39.1
Lorenzo Bianconi
maintainerPATCH v2 2/2 wifi: mt76: remove __mt76_mcu_restart macro
In reply to Lorenzo Bianconi__mt76_mcu_restart is no longer used
Signed-off-by Lorenzo Bianconi <[email protected]>
--- drivers/net/wireless/mediatek/mt76/mt76.h | 1 - 1 file changed, 1 deletion(-)
drivers/net/wireless/mediatek/mt76/mt76.h +0 -1
@@ -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)
Signature · 1 line
2.39.1