[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200720152930.8485-1-alobakin@marvell.com>
Date: Mon, 20 Jul 2020 18:29:30 +0300
From: Alexander Lobakin <alobakin@...vell.com>
To: Joe Perches <joe@...ches.com>
CC: Alexander Lobakin <alobakin@...vell.com>,
Andrew Lunn <andrew@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Igor Russkikh <irusskikh@...vell.com>,
Michal Kalderon <michal.kalderon@...vell.com>,
Ariel Elior <aelior@...vell.com>,
"Denis Bolotin" <denis.bolotin@...vell.com>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
<GR-everest-linux-l2@...vell.com>,
<QLogic-Storage-Upstream@...vell.com>, <netdev@...r.kernel.org>,
<linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 net-next 01/14] qed: convert link mode from u32 to bitmap
Hi Joe,
From: Joe Perches <joe@...ches.com>
Date: Mon, 20 Jul 2020 08:19:52 -0700
> On Mon, 2020-07-20 at 12:23 +0300, Alexander Lobakin wrote:
>> Date: Sun, 19 Jul 2020 23:21:00 +0200 From: Andrew Lunn <andrew@...n.ch>
>>> On Sun, Jul 19, 2020 at 11:14:40PM +0300, Alexander Lobakin wrote:
>>>> Currently qed driver already ran out of 32 bits to store link modes,
>>>> and this doesn't allow to add and support more speeds.
>>>> Convert link mode to bitmap that will always have enough space for
>>>> any number of speeds and modes.
> []
>>> Why not just throw away all these QED_LM_ defines and use the kernel
>>> link modes? The fact you are changing the u32 to a bitmap suggests the
>>> hardware does not use them.
>>
>> I've just double-checked, and you're right, management firmware operates
>> with NVM_* definitions, while QED_LM_* are used only in QED and QEDE to
>> fill Ethtool link settings.
>> I didn't notice this while working on the series, but it would be really
>> a lot better to just use generic definitions.
>> So I'll send v3 soon.
>
> While you're at it, why are you using __set_bit and not set_bit?
Because I'm filling link modes and don't need any atomicity at all.
If you refer linkmode_*() functions [1], they also use non-atomic
variants of bitops.
Al
[1] https://elixir.bootlin.com/linux/v5.8-rc4/source/include/linux/linkmode.h
Powered by blists - more mailing lists