Re: [PATCH net-next v2 2/2] dt: bindings: add new dt entries for brcmfmac

From: Arend van Spriel
Date: Thu Apr 05 2018 - 15:12:02 EST


On 4/5/2018 3:10 PM, Kalle Valo wrote:
Ulf Hansson <ulf.hansson@xxxxxxxxxx> writes:

On 20 March 2018 at 10:55, Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote:
Arend van Spriel <arend.vanspriel@xxxxxxxxxxxx> writes:

If I get it right, you mean something like this:

mmc3: mmc@1c12000 {
...
broken-sg-support;
sd-head-align = 4;
sd-sgentry-align = 512;

brcmf: wifi@1 {
...
};
};

Where dt: bindings documentation for these entries should reside?
In generic MMC bindings? Well, this is the very special case and
mmc-linux maintainer will unlikely to accept these changes.
Also, extra kernel code modification might be required. It could make
quite trivial change much more complex.

If the MMC maintainers are not copied on this patch series, it will
likely be hard for them to identify this patch series and chime in...

The main question is whether this is indeed a "very special case" as
Alexey claims it to be or that it is likely to be applicable to other
device and host combinations as you are suggesting.

If these properties are imposed by the host or host controller it
would make sense to have these in the mmc bindings.

BTW, last year we were discussing something similar (I mean related to
alignment requirements) with ath10k SDIO patches and at the time the
patch submitter was proposing to have a bounce buffer in ath10k to
workaround that. I don't remember the details anymore, they are on the
ath10k mailing list archive if anyone is curious to know, but I would
not be surprised if they are similar as here. So there might be a need
to solve this in a generic way (but not sure of course as I haven't
checked the details).

I re-call something about these as well, here are the patches. Perhaps
I should pick some of them up...

https://patchwork.kernel.org/patch/10123137/
https://patchwork.kernel.org/patch/10123139/
https://patchwork.kernel.org/patch/10123141/
https://patchwork.kernel.org/patch/10123143/

Actually I was talking about a different patch, found it now:

ath10k_sdio: DMA bounce buffers for read write

https://patchwork.kernel.org/patch/9979543/

The patches Uffe mentions are related to this. In brcmfmac we simply implemented functionality to create a scatter list and send it through the MMC stack using SDIO CMD53. It is in the creation of the scatter list that these alignment properties are needed. Moving the whole functionality to the MMC stack will also move those properties into their right context, ie. SDIO host controller.

Our broker_sg_support property is basically doing the bounce buffer thing if I understand it correctly.

Regards,
Arend