* [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 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.