lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210413072818.GC15093@dragon>
Date:   Tue, 13 Apr 2021 15:28:19 +0800
From:   Shawn Guo <shawn.guo@...aro.org>
To:     Kalle Valo <kvalo@...eaurora.org>
Cc:     Rob Herring <robh+dt@...nel.org>,
        Rafał Miłecki <rafal@...ecki.pl>,
        Arend van Spriel <aspriel@...il.com>,
        Franky Lin <franky.lin@...adcom.com>,
        Hante Meuleman <hante.meuleman@...adcom.com>,
        Chi-hsien Lin <chi-hsien.lin@...ineon.com>,
        Wright Feng <wright.feng@...ineon.com>,
        Chung-hsien Hsu <chung-hsien.hsu@...ineon.com>,
        linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
        brcm80211-dev-list.pdl@...adcom.com,
        SHA-cyfmac-dev-list@...ineon.com
Subject: Re: [PATCH 1/2] dt-binding: bcm43xx-fmac: add optional brcm,ccode-map

On Mon, Apr 12, 2021 at 02:54:46PM +0300, Kalle Valo wrote:
> Shawn Guo <shawn.guo@...aro.org> writes:
> 
> > On Sun, Apr 11, 2021 at 10:57:54AM +0300, Kalle Valo wrote:
> >> Shawn Guo <shawn.guo@...aro.org> writes:
> >> 
> >> > Add optional brcm,ccode-map property to support translation from ISO3166
> >> > country code to brcmfmac firmware country code and revision.
> >> >
> >> > Signed-off-by: Shawn Guo <shawn.guo@...aro.org>
> >> > ---
> >> >  .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 7 +++++++
> >> >  1 file changed, 7 insertions(+)
> >> >
> >> > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> >> > index cffb2d6876e3..a65ac4384c04 100644
> >> > --- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> >> > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> >> > @@ -15,6 +15,12 @@ Optional properties:
> >> >  	When not specified the device will use in-band SDIO interrupts.
> >> >   - interrupt-names : name of the out-of-band interrupt, which must be set
> >> >  	to "host-wake".
> >> > + - brcm,ccode-map : multiple strings for translating ISO3166 country code to
> >> > +	brcmfmac firmware country code and revision.  Each string must be in
> >> > +	format "AA-BB-num" where:
> >> > +	  AA is the ISO3166 country code which must be 2 characters.
> >> > +	  BB is the firmware country code which must be 2 characters.
> >> > +	  num is the revision number which must fit into signed integer.
> >> >  
> >> >  Example:
> >> >  
> >> > @@ -34,5 +40,6 @@ mmc3: mmc@...2000 {
> >> >  		interrupt-parent = <&pio>;
> >> >  		interrupts = <10 8>; /* PH10 / EINT10 */
> >> >  		interrupt-names = "host-wake";
> >> > +		brcm,ccode-map = "JP-JP-78", "US-Q2-86";
> >> 
> >> The commit log does not answer "Why?". Why this needs to be in device
> >> tree and, for example, not hard coded in the driver?
> >
> > Thanks for the comment, Kalle.  Actually, this is something I need some
> > input from driver maintainers.  I can see this country code mapping
> > table is chipset specific, and can be hard coded in driver per chip id
> > and revision.  But on the other hand, it makes some sense to have this
> > table in device tree, as the country code that need to be supported
> > could be a device specific configuration.
> 
> Could be? Does such a use case exist at the moment or are just guessing
> future needs?

I hope that the patch [1] from Rafał (copied) is one use case.  And
also, the device I'm working on only needs to support some of the
countries in the mapping table. 

> 
> From what I have learned so far I think this kind of data should be in
> the driver, but of course I might be missing something.

I agree with you that such data are chipset specific and should ideally
be in the driver.  However, the brcmfmac driver implementation has been
taking the mapping table from platform_data [2][3], which is a logical
equivalent of DT data in case of booting with device tree.

Shawn

[1] https://gitlab.dai-labor.de/nadim/powquty-coap/-/blob/563b2bd658822375dcfa8e87707304b94de9901c/kernel/mac80211/patches/863-brcmfmac-add-in-driver-tables-with-country-codes.patch
[2] https://elixir.bootlin.com/linux/v5.12-rc7/source/include/linux/platform_data/brcmfmac.h#L154
[3] https://elixir.bootlin.com/linux/v5.12-rc7/source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c#L433

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ