Re: [PATCH 7/7] dt-bindings: dmaengine: pl330: Add new quirks

From: Joy Chakraborty
Date: Fri May 05 2023 - 05:45:07 EST


On Thu, May 4, 2023 at 8:38 PM Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> On 04/05/2023 16:57, Joy Chakraborty wrote:
> > Add 2 new quirks added to the driver "arm,pl330-optimize-dev2mem-axsize"
> > and "arm,pl330-periph-single-dregs"
>
> This we can see from the diff. You need to answer why?
>

Sure will change it to:
"
Addition of following quirks :
- "arm,pl330-periph-use-diff-axsize"
AxSize of transactions to peripherals are limited by the peripheral
address width which inturn limits the AxSize used for transactions
towards memory.
This quirk will make transactions to memory use the maximum
possible bus width(AxSize), store data in MFIFO and use narrow
multi-beat transactions to move data to peripherals.
This only applies to transfers between memory and peripherals where
bus widths available are different for memory and the peripheral.
- "arm,pl330-periph-complete-with-singles" :
When transfer sizes are not a multiple of a block of burst
transfers (AxLen * AxSize configured at the peripheral), certain
peripherals might choose not to set the burst request at the
peripheral request interface of the DMA.
This quirk moves the remaining bytes to the peripheral using single
transactions.
"

> >
> > Signed-off-by: Joy Chakraborty <joychakr@xxxxxxxxxx>
> > ---
> > Documentation/devicetree/bindings/dma/arm,pl330.yaml | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/dma/arm,pl330.yaml b/Documentation/devicetree/bindings/dma/arm,pl330.yaml
> > index 4a3dd6f5309b..0499a7fba88d 100644
> > --- a/Documentation/devicetree/bindings/dma/arm,pl330.yaml
> > +++ b/Documentation/devicetree/bindings/dma/arm,pl330.yaml
> > @@ -53,6 +53,14 @@ properties:
> > type: boolean
> > description: quirk for performing burst transfer only
> >
> > + arm,pl330-optimize-dev2mem-axsize:
> > + type: boolean
> > + description: quirk for optimizing AxSize used between dev<->mem
>
> This tells me nothing... Neither what it is about nor why this is
> property of a board or PL330 hardware implementation. Please describe
> hardware, not drivers.
>

Will change the name to "arm,pl330-periph-use-diff-axsize" and add description:
"
Quirk to use different AxSize for bursts while accessing source and
destination when moving data between memory and peripheral.
Maximum possible bus width is used as AxSize for transactions towards
memory and transactions towards peripherals use AxSize as per
peripheral address width.
"

> > +
> > + arm,pl330-periph-single-dregs:
> > + type: boolean
> > + description: quirk for using dma-singles for peripherals in _dregs()
>
> Same concerns.
>

Will change the name to "arm,pl330-periph-complete-with-singles" and
add description:
"
Quirk to use dma singles n times instead of an n beat burst to
complete a transfer when the transfer size is not a multiple of the
burst size and burst length configured at the peripheral.
n being bytes left after the major chunk is transferred with
peripheral configured burst transactions.
"

>
> Best regards,
> Krzysztof
>

Will update the patch series if this is satisfactory.

Thanks
Joy