[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b465353f-9291-f159-ba0b-4cd9577fc676@foss.st.com>
Date: Thu, 10 Mar 2022 16:59:28 +0100
From: Yann Gautier <yann.gautier@...s.st.com>
To: Ulf Hansson <ulf.hansson@...aro.org>
CC: Rob Herring <robh+dt@...nel.org>, <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux-mmc@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Christophe Kerello <christophe.kerello@...s.st.com>,
Linus Walleij <linus.walleij@...aro.org>,
Ludovic Barre <ludovic.barre@...s.st.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Philipp Zabel <p.zabel@...gutronix.de>,
Russell King <linux@...linux.org.uk>,
Marek Vasut <marex@...x.de>, <kernel@...electronics.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Grzegorz Szymaszek <gszymaszek@...rt.pl>
Subject: Re: [PATCH 1/3] dt-bindings: mmc: mmci: add a property to disable DMA
LLI
On 3/8/22 11:57, Ulf Hansson wrote:
> Hi Yann,
>
> On Fri, 4 Mar 2022 at 14:52, Yann Gautier <yann.gautier@...s.st.com> wrote:
>>
>> On STMicroelectronics variant of PL18x, the DMA Linked Lists are supported
>> starting from revision v2 of the peripheral. But it has limitations,
>> as all the buffers should be aligned on block size (except the last one).
>> But this cannot be guaranteed with SDIO. We should then have a property
>> to disable the support of LLI.
>
> Indeed, the buffer handling with SDIO is somewhat special, which also
> has been discussed several times on LKML before. In principle, we need
> the SDIO func drivers to respect buffer limitations that should be
> specified by the mmc host drivers. Quite similar to what we already
> have for block devices, like ->max_seg_size, ->max_seg, etc, that is
> set per mmc host.
>
> I realize that implementing something like the above requires bigger
> changes, which is why mmc host drivers instead validates the sglists
> and the elements. In some cases that means returning an error code and
> in others it could mean falling back to a non-DMA based I/O mode.
>
> For the stm32_sdmmc variant, it looks like the sglist validation is
> being managed in sdmmc_idma_validate_data() already. Can it be
> extended to cover this case too, rather than using a DT property?
>
> Kind regards
> Uffe
Hi Ulf,
OK, I'll check what can be done for this. Patches 1 and 2 can be
dropped, they will be reworked.
But patch 3 of this series could be taken, as not linked to LLI
management. Should I push it again alone, or could you review it directly?
Best regards,
Yann
>
>>
>> Signed-off-by: Yann Gautier <yann.gautier@...s.st.com>
>> ---
>> Documentation/devicetree/bindings/mmc/arm,pl18x.yaml | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
>> index 1e69a5a42439..309a2c0426e5 100644
>> --- a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
>> +++ b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
>> @@ -145,6 +145,11 @@ properties:
>> driver to sample the receive data (for example with a voltage switch
>> transceiver).
>>
>> + st,disable-dma-lli:
>> + $ref: /schemas/types.yaml#/definitions/flag
>> + description: ST Micro-specific property, disable DMA linked lists.
>> + It is used for SDIO.
>> +
>> st,cmd-gpios:
>> maxItems: 1
>> description:
>> --
>> 2.25.1
>>
Powered by blists - more mailing lists