Thread (40 messages) 40 messages, 3 authors, 2020-11-09

Re: [PATCH 01/18] dmaengine: of-dma: Add support for optional router configuration callback

From: Peter Ujfalusi <hidden>
Date: 2020-11-09 12:36:17
Also in: dmaengine, linux-devicetree, lkml


On 09/11/2020 14.23, Vinod Koul wrote:
HI Peter,

On 09-11-20, 14:09, Peter Ujfalusi wrote:
quoted
Hi Vinod,

On 09/11/2020 13.45, Vinod Koul wrote:
quoted
quoted
Without a channel number I can not do anything.
It is close to a chicken and egg problem.
We get 'channel' in xlate, so wont that help? I think I am still missing
something here :(
Yes, we get channel in xlate, but we get the channel after
ofdma->of_dma_route_allocate()
That is correct, so you need this info in allocate somehow..
To know the event number the router must send to trigger the channel I
need the router to 'craft' the dmaspec which can be used to request the
channel.

To request a bcdma channel to be triggered by global trigger 0:

[A]
<&main_bcdma 1 0 15>

main_bcdma - phandle to BCDMA
1 - triggered by global trigger0
0 - ignored
15 - ASEL value

A peripheral can not really use this binding directly as we need to
configure the get the event to be sent to the given channel's trigger0.
The binding for the router (l2g if INTA in this case):

[B]
<&inta_l2g 21 0 15>

inta_l2g - phandle to therouter
21 - local event index (input event/signal)
0 - event detection mode (pulsed/rising)
15 - ASEL value

The of_dma_router_xlate() receives the dmaspec for [B}, the router
driver creates the dmaspec for [A].

The xlate can not request the channel first as it needs the dmaspec from
the router to do so.

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help