2020-12-29 21:18:07

by Nathan Chancellor

[permalink] [raw]
Subject: [PATCH] mt76: Fix queue ID variable types after mcu queue split

Clang warns in both mt7615 and mt7915:

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:271:9: warning: implicit
conversion from enumeration type 'enum mt76_mcuq_id' to different
enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
txq = MT_MCUQ_FWDL;
~ ^~~~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:278:9: warning: implicit
conversion from enumeration type 'enum mt76_mcuq_id' to different
enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
txq = MT_MCUQ_WA;
~ ^~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:282:9: warning: implicit
conversion from enumeration type 'enum mt76_mcuq_id' to different
enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
txq = MT_MCUQ_WM;
~ ^~~~~~~~~~
3 warnings generated.

drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:238:9: warning: implicit
conversion from enumeration type 'enum mt76_mcuq_id' to different
enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
qid = MT_MCUQ_WM;
~ ^~~~~~~~~~
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:240:9: warning: implicit
conversion from enumeration type 'enum mt76_mcuq_id' to different
enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
qid = MT_MCUQ_FWDL;
~ ^~~~~~~~~~~~
2 warnings generated.

Use the proper type for the queue ID variables to fix these warnings.
Additionally, rename the txq variable in mt7915_mcu_send_message to be
more neutral like mt7615_mcu_send_message.

Fixes: e637763b606b ("mt76: move mcu queues to mt76_dev q_mcu array")
Link: https://github.com/ClangBuiltLinux/linux/issues/1229
Signed-off-by: Nathan Chancellor <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 2 +-
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
index a44b7766dec6..c13547841a4e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
@@ -231,7 +231,7 @@ mt7615_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
int cmd, int *seq)
{
struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76);
- enum mt76_txq_id qid;
+ enum mt76_mcuq_id qid;

mt7615_mcu_fill_msg(dev, skb, cmd, seq);
if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state))
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
index 5fdd1a6d32ee..e211a2bd4d3c 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
@@ -256,7 +256,7 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
struct mt7915_mcu_txd *mcu_txd;
u8 seq, pkt_fmt, qidx;
- enum mt76_txq_id txq;
+ enum mt76_mcuq_id qid;
__le32 *txd;
u32 val;

@@ -268,18 +268,18 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
seq = ++dev->mt76.mcu.msg_seq & 0xf;

if (cmd == -MCU_CMD_FW_SCATTER) {
- txq = MT_MCUQ_FWDL;
+ qid = MT_MCUQ_FWDL;
goto exit;
}

mcu_txd = (struct mt7915_mcu_txd *)skb_push(skb, sizeof(*mcu_txd));

if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state)) {
- txq = MT_MCUQ_WA;
+ qid = MT_MCUQ_WA;
qidx = MT_TX_MCU_PORT_RX_Q0;
pkt_fmt = MT_TX_TYPE_CMD;
} else {
- txq = MT_MCUQ_WM;
+ qid = MT_MCUQ_WM;
qidx = MT_TX_MCU_PORT_RX_Q0;
pkt_fmt = MT_TX_TYPE_CMD;
}
@@ -326,7 +326,7 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
if (wait_seq)
*wait_seq = seq;

- return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[txq], skb, 0);
+ return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[qid], skb, 0);
}

static void

base-commit: 5c8fe583cce542aa0b84adc939ce85293de36e5e
--
2.30.0


2020-12-31 10:10:42

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: [PATCH] mt76: Fix queue ID variable types after mcu queue split

> Clang warns in both mt7615 and mt7915:
>
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:271:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_FWDL;
> ~ ^~~~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:278:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_WA;
> ~ ^~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:282:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_WM;
> ~ ^~~~~~~~~~
> 3 warnings generated.
>
> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:238:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> qid = MT_MCUQ_WM;
> ~ ^~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:240:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> qid = MT_MCUQ_FWDL;
> ~ ^~~~~~~~~~~~
> 2 warnings generated.
>
> Use the proper type for the queue ID variables to fix these warnings.
> Additionally, rename the txq variable in mt7915_mcu_send_message to be
> more neutral like mt7615_mcu_send_message.
>
> Fixes: e637763b606b ("mt76: move mcu queues to mt76_dev q_mcu array")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1229
> Signed-off-by: Nathan Chancellor <[email protected]>

Acked-by: Lorenzo Bianconi <[email protected]>

> ---
> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 2 +-
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 10 +++++-----
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
> index a44b7766dec6..c13547841a4e 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
> @@ -231,7 +231,7 @@ mt7615_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
> int cmd, int *seq)
> {
> struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76);
> - enum mt76_txq_id qid;
> + enum mt76_mcuq_id qid;
>
> mt7615_mcu_fill_msg(dev, skb, cmd, seq);
> if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state))
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> index 5fdd1a6d32ee..e211a2bd4d3c 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> @@ -256,7 +256,7 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
> struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
> struct mt7915_mcu_txd *mcu_txd;
> u8 seq, pkt_fmt, qidx;
> - enum mt76_txq_id txq;
> + enum mt76_mcuq_id qid;
> __le32 *txd;
> u32 val;
>
> @@ -268,18 +268,18 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
> seq = ++dev->mt76.mcu.msg_seq & 0xf;
>
> if (cmd == -MCU_CMD_FW_SCATTER) {
> - txq = MT_MCUQ_FWDL;
> + qid = MT_MCUQ_FWDL;
> goto exit;
> }
>
> mcu_txd = (struct mt7915_mcu_txd *)skb_push(skb, sizeof(*mcu_txd));
>
> if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state)) {
> - txq = MT_MCUQ_WA;
> + qid = MT_MCUQ_WA;
> qidx = MT_TX_MCU_PORT_RX_Q0;
> pkt_fmt = MT_TX_TYPE_CMD;
> } else {
> - txq = MT_MCUQ_WM;
> + qid = MT_MCUQ_WM;
> qidx = MT_TX_MCU_PORT_RX_Q0;
> pkt_fmt = MT_TX_TYPE_CMD;
> }
> @@ -326,7 +326,7 @@ mt7915_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
> if (wait_seq)
> *wait_seq = seq;
>
> - return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[txq], skb, 0);
> + return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[qid], skb, 0);
> }
>
> static void
>
> base-commit: 5c8fe583cce542aa0b84adc939ce85293de36e5e
> --
> 2.30.0
>


Attachments:
(No filename) (4.30 kB)
signature.asc (235.00 B)
Download all attachments

2021-01-14 09:28:12

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] mt76: Fix queue ID variable types after mcu queue split

On 2021-01-11 09:06, Kalle Valo wrote:
> Lorenzo Bianconi <[email protected]> writes:
>
>>> Clang warns in both mt7615 and mt7915:
>>>
>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:271:9: warning: implicit
>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>> txq = MT_MCUQ_FWDL;
>>> ~ ^~~~~~~~~~~~
>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:278:9: warning: implicit
>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>> txq = MT_MCUQ_WA;
>>> ~ ^~~~~~~~~~
>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:282:9: warning: implicit
>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>> txq = MT_MCUQ_WM;
>>> ~ ^~~~~~~~~~
>>> 3 warnings generated.
>>>
>>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:238:9: warning: implicit
>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>> qid = MT_MCUQ_WM;
>>> ~ ^~~~~~~~~~
>>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:240:9: warning: implicit
>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>> qid = MT_MCUQ_FWDL;
>>> ~ ^~~~~~~~~~~~
>>> 2 warnings generated.
>>>
>>> Use the proper type for the queue ID variables to fix these warnings.
>>> Additionally, rename the txq variable in mt7915_mcu_send_message to be
>>> more neutral like mt7615_mcu_send_message.
>>>
>>> Fixes: e637763b606b ("mt76: move mcu queues to mt76_dev q_mcu array")
>>> Link: https://github.com/ClangBuiltLinux/linux/issues/1229
>>> Signed-off-by: Nathan Chancellor <[email protected]>
>>
>> Acked-by: Lorenzo Bianconi <[email protected]>
>
> I see that Felix already applied this, but as this is a regression
> starting from v5.11-rc1 I think it should be applied to
> wireless-drivers. Felix, can you drop this from your tree so that I
> could apply it to wireless-drivers?
Sure, will do.

- Felix

2021-01-14 10:44:20

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] mt76: Fix queue ID variable types after mcu queue split

Felix Fietkau <[email protected]> writes:

> On 2021-01-11 09:06, Kalle Valo wrote:
>> Lorenzo Bianconi <[email protected]> writes:
>>
>>>> Clang warns in both mt7615 and mt7915:
>>>>
>>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:271:9: warning: implicit
>>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>>> txq = MT_MCUQ_FWDL;
>>>> ~ ^~~~~~~~~~~~
>>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:278:9: warning: implicit
>>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>>> txq = MT_MCUQ_WA;
>>>> ~ ^~~~~~~~~~
>>>> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:282:9: warning: implicit
>>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>>> txq = MT_MCUQ_WM;
>>>> ~ ^~~~~~~~~~
>>>> 3 warnings generated.
>>>>
>>>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:238:9: warning: implicit
>>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>>> qid = MT_MCUQ_WM;
>>>> ~ ^~~~~~~~~~
>>>> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:240:9: warning: implicit
>>>> conversion from enumeration type 'enum mt76_mcuq_id' to different
>>>> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
>>>> qid = MT_MCUQ_FWDL;
>>>> ~ ^~~~~~~~~~~~
>>>> 2 warnings generated.
>>>>
>>>> Use the proper type for the queue ID variables to fix these warnings.
>>>> Additionally, rename the txq variable in mt7915_mcu_send_message to be
>>>> more neutral like mt7615_mcu_send_message.
>>>>
>>>> Fixes: e637763b606b ("mt76: move mcu queues to mt76_dev q_mcu array")
>>>> Link: https://github.com/ClangBuiltLinux/linux/issues/1229
>>>> Signed-off-by: Nathan Chancellor <[email protected]>
>>>
>>> Acked-by: Lorenzo Bianconi <[email protected]>
>>
>> I see that Felix already applied this, but as this is a regression
>> starting from v5.11-rc1 I think it should be applied to
>> wireless-drivers. Felix, can you drop this from your tree so that I
>> could apply it to wireless-drivers?
>
> Sure, will do.

Thanks. I now assigned to me in patchwork and will apply to
wireless-drivers soon.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2021-01-14 16:52:01

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] mt76: Fix queue ID variable types after mcu queue split

Nathan Chancellor <[email protected]> wrote:

> Clang warns in both mt7615 and mt7915:
>
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:271:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_FWDL;
> ~ ^~~~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:278:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_WA;
> ~ ^~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:282:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> txq = MT_MCUQ_WM;
> ~ ^~~~~~~~~~
> 3 warnings generated.
>
> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:238:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> qid = MT_MCUQ_WM;
> ~ ^~~~~~~~~~
> drivers/net/wireless/mediatek/mt76/mt7615/mcu.c:240:9: warning: implicit
> conversion from enumeration type 'enum mt76_mcuq_id' to different
> enumeration type 'enum mt76_txq_id' [-Wenum-conversion]
> qid = MT_MCUQ_FWDL;
> ~ ^~~~~~~~~~~~
> 2 warnings generated.
>
> Use the proper type for the queue ID variables to fix these warnings.
> Additionally, rename the txq variable in mt7915_mcu_send_message to be
> more neutral like mt7615_mcu_send_message.
>
> Fixes: e637763b606b ("mt76: move mcu queues to mt76_dev q_mcu array")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1229
> Signed-off-by: Nathan Chancellor <[email protected]>
> Acked-by: Lorenzo Bianconi <[email protected]>

Patch applied to wireless-drivers.git, thanks.

b7c568752ef3 mt76: Fix queue ID variable types after mcu queue split

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches