2017-12-11 08:11:58

by Chi-Hsien Lin

[permalink] [raw]
Subject: [PATCH] dt-bindings: net: wireless: Add sg parameters dts parsing

broken_sg_support, sd_head_align, and sd_sgentry_align are used in
brcmfmac code but not configurable in dts file. Add the parsing logic.
Now they can be configured like below in dts:
brcm,broken_sg_support;
brcm,sd_head_align = <4>;
brcm,sd_sgentry_align = <4>;

Signed-off-by: Chi-hsien Lin <[email protected]>
---
.../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
index 86602f2..4d42f0d 100644
--- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -17,6 +17,11 @@ 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".
+ - broken_sg_support : flag for broken sg list support of SDIO host controller.
+ Set this to true if the SDIO host controller has higher align
+ requirement than 32 bytes for each scatterlist item.
+ - sg_head_align : alignment requirement for start of data buffer.
+ - sg_sgentry_align : length alignment requirement for each sg entry.

Example:

@@ -36,5 +41,8 @@ mmc3: mmc@1c12000 {
interrupt-parent = <&pio>;
interrupts = <10 8>; /* PH10 / EINT10 */
interrupt-names = "host-wake";
+ brcm,broken_sg_support;
+ brcm,sd_head_align = <4>;
+ brcm,sd_sgentry_align = <4>;
};
};
--
2.1.0


2017-12-11 09:55:21

by Arend Van Spriel

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: net: wireless: Add sg parameters dts parsing

On 12/11/2017 9:11 AM, Chi-Hsien Lin wrote:
> broken_sg_support, sd_head_align, and sd_sgentry_align are used in
> brcmfmac code but not configurable in dts file. Add the parsing logic.
> Now they can be configured like below in dts:
> brcm,broken_sg_support;
> brcm,sd_head_align = <4>;
> brcm,sd_sgentry_align = <4>;
>
> Signed-off-by: Chi-hsien Lin <[email protected]>
> ---
> .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> index 86602f2..4d42f0d 100644
> --- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> @@ -17,6 +17,11 @@ 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".
> + - broken_sg_support : flag for broken sg list support of SDIO host controller.
> + Set this to true if the SDIO host controller has higher align
> + requirement than 32 bytes for each scatterlist item.

In DT context, this does not characterize the device but as described it
is about the SDIO host controller. I think the same applies to the
properties below, but not entirely sure about that.

> + - sg_head_align : alignment requirement for start of data buffer.
> + - sg_sgentry_align : length alignment requirement for each sg entry.

Regards,
Arend

2017-12-15 21:46:55

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: net: wireless: Add sg parameters dts parsing

On Mon, Dec 11, 2017 at 10:55:18AM +0100, Arend van Spriel wrote:
> On 12/11/2017 9:11 AM, Chi-Hsien Lin wrote:
> > broken_sg_support, sd_head_align, and sd_sgentry_align are used in
> > brcmfmac code but not configurable in dts file. Add the parsing logic.
> > Now they can be configured like below in dts:
> > brcm,broken_sg_support;
> > brcm,sd_head_align = <4>;
> > brcm,sd_sgentry_align = <4>;
> >
> > Signed-off-by: Chi-hsien Lin <[email protected]>
> > ---
> > .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> > index 86602f2..4d42f0d 100644
> > --- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
> > @@ -17,6 +17,11 @@ 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".
> > + - broken_sg_support : flag for broken sg list support of SDIO host controller.
> > + Set this to true if the SDIO host controller has higher align
> > + requirement than 32 bytes for each scatterlist item.
>
> In DT context, this does not characterize the device but as described it is
> about the SDIO host controller. I think the same applies to the properties
> below, but not entirely sure about that.

Yes. However, all of this should be implied by the host controller's
compatible property.

For future reference, don't use '_' in property names either.

Rob