linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] brcmfmac: expose firmware config files through modinfo
@ 2020-11-20  9:52 matthias.bgg
  2020-11-20 10:05 ` Dmitry Osipenko
  0 siblings, 1 reply; 4+ messages in thread
From: matthias.bgg @ 2020-11-20  9:52 UTC (permalink / raw)
  To: Jakub Kicinski, Kalle Valo, David S . Miller, hdegoede
  Cc: Pali Rohár, Guenter Roeck, Chi-Hsien Lin, Franky Lin,
	Chung-Hsien Hsu, Jean-Philippe Brucker, Double Lo, Frank Kao,
	linux-wireless, brcm80211-dev-list.pdl, Arend van Spriel,
	Gustavo A . R . Silva, netdev, Rafał Miłecki,
	Hante Meuleman, Wright Feng, Matthias Brugger,
	Saravanan Shanmugham, brcm80211-dev-list, linux-kernel,
	Ulf Hansson, Amar Shankar, Dmitry Osipenko

From: Matthias Brugger <mbrugger@suse.com>

Apart from a firmware binary the chip needs a config file used by the
FW. Add the config files to modinfo so that they can be read by
userspace.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>

---

Changes in v2:
In comparison to first version [0] we use wildcards to enumerate the
firmware configuration files. Wildcard support was added to dracut
recently [1].
[0] https://lore.kernel.org/linux-wireless/20200701153123.25602-1-matthias.bgg@kernel.org/
[1] https://github.com/dracutdevs/dracut/pull/860

 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 99987a789e7e..dd6d287b1b00 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -625,6 +625,15 @@ BRCMF_FW_DEF(4359, "brcmfmac4359-sdio");
 BRCMF_FW_DEF(4373, "brcmfmac4373-sdio");
 BRCMF_FW_DEF(43012, "brcmfmac43012-sdio");
 
+/* firmware config files */
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4330-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43340-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43362-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430a0-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43455-sdio.*.txt");
+MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4356-pcie.*.txt");
+
 static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
 	BRCMF_FW_ENTRY(BRCM_CC_43143_CHIP_ID, 0xFFFFFFFF, 43143),
 	BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x0000001F, 43241B0),
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] brcmfmac: expose firmware config files through modinfo
  2020-11-20  9:52 [PATCH v2] brcmfmac: expose firmware config files through modinfo matthias.bgg
@ 2020-11-20 10:05 ` Dmitry Osipenko
  2020-11-20 11:11   ` Matthias Brugger
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Osipenko @ 2020-11-20 10:05 UTC (permalink / raw)
  To: matthias.bgg, Jakub Kicinski, Kalle Valo, David S . Miller, hdegoede
  Cc: Pali Rohár, Guenter Roeck, Chi-Hsien Lin, Franky Lin,
	Chung-Hsien Hsu, Jean-Philippe Brucker, Double Lo, Frank Kao,
	linux-wireless, brcm80211-dev-list.pdl, Arend van Spriel,
	Gustavo A . R . Silva, netdev, Rafał Miłecki,
	Hante Meuleman, Wright Feng, Matthias Brugger,
	Saravanan Shanmugham, brcm80211-dev-list, linux-kernel,
	Ulf Hansson, Amar Shankar

20.11.2020 12:52, matthias.bgg@kernel.org пишет:
> From: Matthias Brugger <mbrugger@suse.com>
> 
> Apart from a firmware binary the chip needs a config file used by the
> FW. Add the config files to modinfo so that they can be read by
> userspace.
> 
> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
> 
> ---
> 
> Changes in v2:
> In comparison to first version [0] we use wildcards to enumerate the
> firmware configuration files. Wildcard support was added to dracut
> recently [1].
> [0] https://lore.kernel.org/linux-wireless/20200701153123.25602-1-matthias.bgg@kernel.org/
> [1] https://github.com/dracutdevs/dracut/pull/860
> 
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> index 99987a789e7e..dd6d287b1b00 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> @@ -625,6 +625,15 @@ BRCMF_FW_DEF(4359, "brcmfmac4359-sdio");
>  BRCMF_FW_DEF(4373, "brcmfmac4373-sdio");
>  BRCMF_FW_DEF(43012, "brcmfmac43012-sdio");
>  
> +/* firmware config files */
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4330-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43340-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43362-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430a0-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43455-sdio.*.txt");
> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4356-pcie.*.txt");

This doesn't cover all hardware models. Note that the upstream
linux-firmware has files only for a few hardware models.

I suppose that the correct mask should be "brcm/brcmfmac*-sdio.*.txt".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] brcmfmac: expose firmware config files through modinfo
  2020-11-20 10:05 ` Dmitry Osipenko
@ 2020-11-20 11:11   ` Matthias Brugger
  2020-11-20 15:43     ` Hans de Goede
  0 siblings, 1 reply; 4+ messages in thread
From: Matthias Brugger @ 2020-11-20 11:11 UTC (permalink / raw)
  To: Dmitry Osipenko, matthias.bgg, Jakub Kicinski, Kalle Valo,
	David S . Miller, hdegoede
  Cc: Pali Rohár, Guenter Roeck, Chi-Hsien Lin, Franky Lin,
	Chung-Hsien Hsu, Jean-Philippe Brucker, Double Lo, Frank Kao,
	linux-wireless, brcm80211-dev-list.pdl, Arend van Spriel,
	Gustavo A . R . Silva, netdev, Rafał Miłecki,
	Hante Meuleman, Wright Feng, Saravanan Shanmugham,
	brcm80211-dev-list, linux-kernel, Ulf Hansson, Amar Shankar



On 20/11/2020 11:05, Dmitry Osipenko wrote:
> 20.11.2020 12:52, matthias.bgg@kernel.org пишет:
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> Apart from a firmware binary the chip needs a config file used by the
>> FW. Add the config files to modinfo so that they can be read by
>> userspace.
>>
>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>
>> ---
>>
>> Changes in v2:
>> In comparison to first version [0] we use wildcards to enumerate the
>> firmware configuration files. Wildcard support was added to dracut
>> recently [1].
>> [0] https://lore.kernel.org/linux-wireless/20200701153123.25602-1-matthias.bgg@kernel.org/
>> [1] https://github.com/dracutdevs/dracut/pull/860
>>
>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> index 99987a789e7e..dd6d287b1b00 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> @@ -625,6 +625,15 @@ BRCMF_FW_DEF(4359, "brcmfmac4359-sdio");
>>   BRCMF_FW_DEF(4373, "brcmfmac4373-sdio");
>>   BRCMF_FW_DEF(43012, "brcmfmac43012-sdio");
>>   
>> +/* firmware config files */
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4330-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43340-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43362-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430a0-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43455-sdio.*.txt");
>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4356-pcie.*.txt");
> 
> This doesn't cover all hardware models. Note that the upstream
> linux-firmware has files only for a few hardware models.
> 
> I suppose that the correct mask should be "brcm/brcmfmac*-sdio.*.txt".
> 

We can use the two "brcm/brcmfmac*-sdio.*.txt" and "brcm/brcmfmac*-pcie.*.txt" 
to also include firmware files for chips that don't have any config file in 
linux-firmware. I'm indifferent to that, although I think we should make 
incentivize to upstream firmware config files to linux-firmware.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] brcmfmac: expose firmware config files through modinfo
  2020-11-20 11:11   ` Matthias Brugger
@ 2020-11-20 15:43     ` Hans de Goede
  0 siblings, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2020-11-20 15:43 UTC (permalink / raw)
  To: Matthias Brugger, Dmitry Osipenko, matthias.bgg, Jakub Kicinski,
	Kalle Valo, David S . Miller
  Cc: Pali Rohár, Guenter Roeck, Chi-Hsien Lin, Franky Lin,
	Chung-Hsien Hsu, Jean-Philippe Brucker, Double Lo, Frank Kao,
	linux-wireless, brcm80211-dev-list.pdl, Arend van Spriel,
	Gustavo A . R . Silva, netdev, Rafał Miłecki,
	Hante Meuleman, Wright Feng, Saravanan Shanmugham,
	brcm80211-dev-list, linux-kernel, Ulf Hansson, Amar Shankar

Hi,

On 11/20/20 12:11 PM, Matthias Brugger wrote:
> 
> 
> On 20/11/2020 11:05, Dmitry Osipenko wrote:
>> 20.11.2020 12:52, matthias.bgg@kernel.org пишет:
>>> From: Matthias Brugger <mbrugger@suse.com>
>>>
>>> Apart from a firmware binary the chip needs a config file used by the
>>> FW. Add the config files to modinfo so that they can be read by
>>> userspace.
>>>
>>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>>
>>> ---
>>>
>>> Changes in v2:
>>> In comparison to first version [0] we use wildcards to enumerate the
>>> firmware configuration files. Wildcard support was added to dracut
>>> recently [1].
>>> [0] https://lore.kernel.org/linux-wireless/20200701153123.25602-1-matthias.bgg@kernel.org/
>>> [1] https://github.com/dracutdevs/dracut/pull/860
>>>
>>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 9 +++++++++
>>>   1 file changed, 9 insertions(+)
>>>
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> index 99987a789e7e..dd6d287b1b00 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> @@ -625,6 +625,15 @@ BRCMF_FW_DEF(4359, "brcmfmac4359-sdio");
>>>   BRCMF_FW_DEF(4373, "brcmfmac4373-sdio");
>>>   BRCMF_FW_DEF(43012, "brcmfmac43012-sdio");
>>>   +/* firmware config files */
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4330-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43340-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43362-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430a0-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43430-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac43455-sdio.*.txt");
>>> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcm/brcmfmac4356-pcie.*.txt");
>>
>> This doesn't cover all hardware models. Note that the upstream
>> linux-firmware has files only for a few hardware models.
>>
>> I suppose that the correct mask should be "brcm/brcmfmac*-sdio.*.txt".
>>
> 
> We can use the two "brcm/brcmfmac*-sdio.*.txt" and "brcm/brcmfmac*-pcie.*.txt" to also include firmware files for chips that don't have any config file in linux-firmware.

Yes, lets just go with those 2 wildcard matches, that should catch all the files the driver needs without needing to add a lot of extra MODULE_FIRMWARE() entries to the module's firmware.

> I'm indifferent to that, although I think we should make incentivize to upstream firmware config files to linux-firmware.

I completely agree with you. Actually, if you take a look you will see that most of these were submitted to linux-firmware by me :)

But this is really orthogonal to which MODULE_FIRMWARE() entries we should add.

Regards,

Hans


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-20 15:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-20  9:52 [PATCH v2] brcmfmac: expose firmware config files through modinfo matthias.bgg
2020-11-20 10:05 ` Dmitry Osipenko
2020-11-20 11:11   ` Matthias Brugger
2020-11-20 15:43     ` Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).