Messages in this thread | | | Date | Thu, 10 Mar 2022 16:59:28 +0100 | Subject | Re: [PATCH 1/3] dt-bindings: mmc: mmci: add a property to disable DMA LLI | From | Yann Gautier <> |
| |
On 3/8/22 11:57, Ulf Hansson wrote: > Hi Yann, > > On Fri, 4 Mar 2022 at 14:52, Yann Gautier <yann.gautier@foss.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@foss.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 >>
| |