diff mbox series

[v2] wifi: brcmfmac: add Cypress 43439 SDIO ids

Message ID 20230407203752.128539-1-marex@denx.de (mailing list archive)
State Accepted
Commit cc4cffc3c142d57df48c07851862444e1d33bdaa
Delegated to: Kalle Valo
Headers show
Series [v2] wifi: brcmfmac: add Cypress 43439 SDIO ids | expand

Commit Message

Marek Vasut April 7, 2023, 8:37 p.m. UTC
Add SDIO ids for use with the muRata 1YN (Cypress CYW43439).
The odd thing about this is that the previous 1YN populated
on M.2 card for evaluation purposes had BRCM SDIO vendor ID,
while the chip populated on real hardware has a Cypress one.
The device ID also differs between the two devices. But they
are both 43439 otherwise, so add the IDs for both.

On-device 1YN (43439), the new one, chip label reads "1YN":
```
/sys/.../mmc_host/mmc2/mmc2:0001 # cat vendor device
0x04b4
0xbd3d
```

EA M.2 evaluation board 1YN (43439), the old one, chip label reads "1YN ES1.4":
```
/sys/.../mmc_host/mmc0/mmc0:0001/# cat vendor device
0x02d0
0xa9a6
```

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Fixes: be376df724aa3 ("wifi: brcmfmac: add 43439 SDIO ids and initialization")
Signed-off-by: Marek Vasut <marex@denx.de>
---
NOTE: Please drop the Fixes tag if this is considered unjustified
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Arend van Spriel <aspriel@gmail.com>
Cc: Danny van Heumen <danny@dannyvanheumen.nl>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Franky Lin <franky.lin@broadcom.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Hante Meuleman <hante.meuleman@broadcom.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Kalle Valo <kvalo@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: SHA-cyfmac-dev-list@infineon.com
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: linux-mmc@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
---
V2: Update commit message, add IDs for both old and new device
---
 .../net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c    | 9 ++++++++-
 include/linux/mmc/sdio_ids.h                             | 5 ++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

Comments

Simon Horman April 8, 2023, 3:24 p.m. UTC | #1
On Fri, Apr 07, 2023 at 10:37:52PM +0200, Marek Vasut wrote:
> Add SDIO ids for use with the muRata 1YN (Cypress CYW43439).
> The odd thing about this is that the previous 1YN populated
> on M.2 card for evaluation purposes had BRCM SDIO vendor ID,
> while the chip populated on real hardware has a Cypress one.
> The device ID also differs between the two devices. But they
> are both 43439 otherwise, so add the IDs for both.
> 
> On-device 1YN (43439), the new one, chip label reads "1YN":
> ```
> /sys/.../mmc_host/mmc2/mmc2:0001 # cat vendor device
> 0x04b4
> 0xbd3d
> ```
> 
> EA M.2 evaluation board 1YN (43439), the old one, chip label reads "1YN ES1.4":
> ```
> /sys/.../mmc_host/mmc0/mmc0:0001/# cat vendor device
> 0x02d0
> 0xa9a6
> ```
> 
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> Fixes: be376df724aa3 ("wifi: brcmfmac: add 43439 SDIO ids and initialization")
> Signed-off-by: Marek Vasut <marex@denx.de>

Reviewed-by: Simon Horman <simon.horman@corigine.com>


> ---
> NOTE: Please drop the Fixes tag if this is considered unjustified

<2c>
Feels more like enablement than a fix to me.
</2c>
Marek Vasut April 8, 2023, 4:44 p.m. UTC | #2
On 4/8/23 17:24, Simon Horman wrote:
> On Fri, Apr 07, 2023 at 10:37:52PM +0200, Marek Vasut wrote:
>> Add SDIO ids for use with the muRata 1YN (Cypress CYW43439).
>> The odd thing about this is that the previous 1YN populated
>> on M.2 card for evaluation purposes had BRCM SDIO vendor ID,
>> while the chip populated on real hardware has a Cypress one.
>> The device ID also differs between the two devices. But they
>> are both 43439 otherwise, so add the IDs for both.
>>
>> On-device 1YN (43439), the new one, chip label reads "1YN":
>> ```
>> /sys/.../mmc_host/mmc2/mmc2:0001 # cat vendor device
>> 0x04b4
>> 0xbd3d
>> ```
>>
>> EA M.2 evaluation board 1YN (43439), the old one, chip label reads "1YN ES1.4":
>> ```
>> /sys/.../mmc_host/mmc0/mmc0:0001/# cat vendor device
>> 0x02d0
>> 0xa9a6
>> ```
>>
>> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
>> Fixes: be376df724aa3 ("wifi: brcmfmac: add 43439 SDIO ids and initialization")
>> Signed-off-by: Marek Vasut <marex@denx.de>
> 
> Reviewed-by: Simon Horman <simon.horman@corigine.com>
> 
> 
>> ---
>> NOTE: Please drop the Fixes tag if this is considered unjustified
> 
> <2c>
> Feels more like enablement than a fix to me.
> </2c>

I added it because

Documentation/process/stable-kernel-rules.rst

L24  - New device IDs and quirks are also accepted.

So, really, up to the maintainer whether they are fine with it being 
backported to stable releases or not. I don't really mind either way.
Simon Horman April 8, 2023, 7:44 p.m. UTC | #3
On Sat, Apr 08, 2023 at 06:44:40PM +0200, Marek Vasut wrote:
> On 4/8/23 17:24, Simon Horman wrote:
> > On Fri, Apr 07, 2023 at 10:37:52PM +0200, Marek Vasut wrote:
> > > Add SDIO ids for use with the muRata 1YN (Cypress CYW43439).
> > > The odd thing about this is that the previous 1YN populated
> > > on M.2 card for evaluation purposes had BRCM SDIO vendor ID,
> > > while the chip populated on real hardware has a Cypress one.
> > > The device ID also differs between the two devices. But they
> > > are both 43439 otherwise, so add the IDs for both.
> > > 
> > > On-device 1YN (43439), the new one, chip label reads "1YN":
> > > ```
> > > /sys/.../mmc_host/mmc2/mmc2:0001 # cat vendor device
> > > 0x04b4
> > > 0xbd3d
> > > ```
> > > 
> > > EA M.2 evaluation board 1YN (43439), the old one, chip label reads "1YN ES1.4":
> > > ```
> > > /sys/.../mmc_host/mmc0/mmc0:0001/# cat vendor device
> > > 0x02d0
> > > 0xa9a6
> > > ```
> > > 
> > > Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> > > Fixes: be376df724aa3 ("wifi: brcmfmac: add 43439 SDIO ids and initialization")
> > > Signed-off-by: Marek Vasut <marex@denx.de>
> > 
> > Reviewed-by: Simon Horman <simon.horman@corigine.com>
> > 
> > 
> > > ---
> > > NOTE: Please drop the Fixes tag if this is considered unjustified
> > 
> > <2c>
> > Feels more like enablement than a fix to me.
> > </2c>
> 
> I added it because
> 
> Documentation/process/stable-kernel-rules.rst
> 
> L24  - New device IDs and quirks are also accepted.

Thanks. If I was aware of that, I had forgotten.

> So, really, up to the maintainer whether they are fine with it being
> backported to stable releases or not. I don't really mind either way.

Yes, I completely agree.
Kalle Valo April 12, 2023, 7:50 a.m. UTC | #4
Simon Horman <simon.horman@corigine.com> writes:

> On Sat, Apr 08, 2023 at 06:44:40PM +0200, Marek Vasut wrote:
>
>> On 4/8/23 17:24, Simon Horman wrote:
>> > On Fri, Apr 07, 2023 at 10:37:52PM +0200, Marek Vasut wrote:
>> >
>> > > NOTE: Please drop the Fixes tag if this is considered unjustified
>> > 
>> > <2c>
>> > Feels more like enablement than a fix to me.
>> > </2c>
>> 
>> I added it because
>> 
>> Documentation/process/stable-kernel-rules.rst
>> 
>> L24  - New device IDs and quirks are also accepted.
>
> Thanks. If I was aware of that, I had forgotten.
>
>> So, really, up to the maintainer whether they are fine with it being
>> backported to stable releases or not. I don't really mind either way.
>
> Yes, I completely agree.

IIUC you are here mixing Fixes and Cc tags, if you want to get a commit
to stable releases there should be "Cc: stable@...". So I'll remove the
Fixes tag and add the Cc tag, ok?
Marek Vasut April 12, 2023, 6:01 p.m. UTC | #5
On 4/12/23 09:50, Kalle Valo wrote:
> Simon Horman <simon.horman@corigine.com> writes:
> 
>> On Sat, Apr 08, 2023 at 06:44:40PM +0200, Marek Vasut wrote:
>>
>>> On 4/8/23 17:24, Simon Horman wrote:
>>>> On Fri, Apr 07, 2023 at 10:37:52PM +0200, Marek Vasut wrote:
>>>>
>>>>> NOTE: Please drop the Fixes tag if this is considered unjustified
>>>>
>>>> <2c>
>>>> Feels more like enablement than a fix to me.
>>>> </2c>
>>>
>>> I added it because
>>>
>>> Documentation/process/stable-kernel-rules.rst
>>>
>>> L24  - New device IDs and quirks are also accepted.
>>
>> Thanks. If I was aware of that, I had forgotten.
>>
>>> So, really, up to the maintainer whether they are fine with it being
>>> backported to stable releases or not. I don't really mind either way.
>>
>> Yes, I completely agree.
> 
> IIUC you are here mixing Fixes and Cc tags, if you want to get a commit
> to stable releases there should be "Cc: stable@...". So I'll remove the
> Fixes tag and add the Cc tag, ok?

Yes please, thank you!
Kalle Valo April 14, 2023, 12:31 p.m. UTC | #6
Marek Vasut <marex@denx.de> wrote:

> Add SDIO ids for use with the muRata 1YN (Cypress CYW43439).
> The odd thing about this is that the previous 1YN populated
> on M.2 card for evaluation purposes had BRCM SDIO vendor ID,
> while the chip populated on real hardware has a Cypress one.
> The device ID also differs between the two devices. But they
> are both 43439 otherwise, so add the IDs for both.
> 
> On-device 1YN (43439), the new one, chip label reads "1YN":
> ```
> /sys/.../mmc_host/mmc2/mmc2:0001 # cat vendor device
> 0x04b4
> 0xbd3d
> ```
> 
> EA M.2 evaluation board 1YN (43439), the old one, chip label reads "1YN ES1.4":
> ```
> /sys/.../mmc_host/mmc0/mmc0:0001/# cat vendor device
> 0x02d0
> 0xa9a6
> ```
> 
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Marek Vasut <marex@denx.de>
> Reviewed-by: Simon Horman <simon.horman@corigine.com>

Patch applied to wireless-next.git, thanks.

cc4cffc3c142 wifi: brcmfmac: add Cypress 43439 SDIO ids
diff mbox series

Patch

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
index 65d4799a56584..ff710b0b5071a 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
@@ -965,6 +965,12 @@  int brcmf_sdiod_probe(struct brcmf_sdio_dev *sdiodev)
 		.driver_data = BRCMF_FWVENDOR_ ## fw_vend \
 	}
 
+#define CYW_SDIO_DEVICE(dev_id, fw_vend) \
+	{ \
+		SDIO_DEVICE(SDIO_VENDOR_ID_CYPRESS, dev_id), \
+		.driver_data = BRCMF_FWVENDOR_ ## fw_vend \
+	}
+
 /* devices we support, null terminated */
 static const struct sdio_device_id brcmf_sdmmc_ids[] = {
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43143, WCC),
@@ -979,6 +985,7 @@  static const struct sdio_device_id brcmf_sdmmc_ids[] = {
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430, WCC),
+	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43439, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4345, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43455, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4354, WCC),
@@ -986,9 +993,9 @@  static const struct sdio_device_id brcmf_sdmmc_ids[] = {
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4359, WCC),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_4373, CYW),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43012, CYW),
-	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439, CYW),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752, CYW),
 	BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_89359, CYW),
+	CYW_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439, CYW),
 	{ /* end: all zeroes */ }
 };
 MODULE_DEVICE_TABLE(sdio, brcmf_sdmmc_ids);
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 0e4ef9c5127ad..bf3c95d8eb8af 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -74,10 +74,13 @@ 
 #define SDIO_DEVICE_ID_BROADCOM_43362		0xa962
 #define SDIO_DEVICE_ID_BROADCOM_43364		0xa9a4
 #define SDIO_DEVICE_ID_BROADCOM_43430		0xa9a6
-#define SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439	0xa9af
+#define SDIO_DEVICE_ID_BROADCOM_43439		0xa9af
 #define SDIO_DEVICE_ID_BROADCOM_43455		0xa9bf
 #define SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752	0xaae8
 
+#define SDIO_VENDOR_ID_CYPRESS			0x04b4
+#define SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439	0xbd3d
+
 #define SDIO_VENDOR_ID_MARVELL			0x02df
 #define SDIO_DEVICE_ID_MARVELL_LIBERTAS		0x9103
 #define SDIO_DEVICE_ID_MARVELL_8688_WLAN	0x9104