Re: [PATCH 1/2] dt-bindings: dma: Add Apple ADMAC

Martin Povišer
2022-03-31T16:14:03Z

> On 31. 3. 2022, at 16:10, Vinod Koul <vkoul@kernel.org> wrote:
>
> On 31-03-22, 09:06, Martin Povišer wrote:
>>
>>> On 31. 3. 2022, at 8:50, Martin Povišer <povik@cutebit.org> wrote:
>>>>
>>>> On 31. 3. 2022, at 7:23, Vinod Koul <vkoul@kernel.org> wrote:
>>>>
>>>> On 30-03-22, 18:44, Martin Povišer wrote:
>>>>> Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio
>>>>> samples on Apple SoCs from the "Apple Silicon" family.
>>>>>
>>>>> Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
>>>>> ---
>>>>> .../devicetree/bindings/dma/apple,admac.yaml | 73 +++++++++++++++++++
>>>>> 1 file changed, 73 insertions(+)
>>>>> create mode 100644 Documentation/devicetree/bindings/dma/apple,admac.yaml
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/dma/apple,admac.yaml b/Documentation/devicetree/bindings/dma/apple,admac.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..34f76a9a2983
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/dma/apple,admac.yaml
>>>
>>>>> + apple,internal-irq-destination:
>>>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>>>> + description: Index influencing internal routing of the IRQs
>>>>> + within the peripheral.
>>>>
>>>> do you have more details for this, is this for peripheral and if so
>>>> suited to be in dam-cells?
>>>
>>> By peripheral I meant the DMA controller itself here.
>
> Dmaengine convention is that peripheral is device which we are doing dma
> to/from, like audio controller/fifo here
>
>>> Effectively the controller has four independent IRQ outputs and the driver
>>> needs to know which one we are using. (It need not be the same output even
>>> for different ADMAC instances on one die.)
>
> That smells like a mux to me.. why not use dma-requests for this?

I am not sure that’s right. Reading the dmaengine docs, DMA requests seem to have
to do with the DMA-controller-to-peripheral connection, but the proposed property
tells us which of four independent IRQ outputs of the DMA controller we actually
have in the interrupts= property. That is, it has to do with the DMA-controller-to-CPU
connection.

(I took the liberty of correcting my typo in the quotation.)

>
> --
> ~Vinod