Re: [PATCH v4 2/3] dmaengine: add peripheral configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/10/2020 9.09, Vinod Koul wrote:
> On 09-10-20, 14:29, Peter Ujfalusi wrote:
>>
>>
>> On 09/10/2020 14.15, Vinod Koul wrote:
>>>>> If for any any reason subsequent txn is for different direction, I would
>>>>> expect that parameters are set again before prep_ calls
>>>>
>>>> But in DEV_TO_DEV?
>>>
>>> Do we support that :D
>>>
>>>> If we have two peripherals, both needs config:
>>>> p1_config and p2_config
>>>>
>>>> What and how would one use the single peripheral_config?
>>>
>>> Since the config is implementation specific, I do not think it limits.
>>> You may create
>>>
>>> struct peter_config {
>>>         struct p1_config;
>>>         struct p2_config;
>>> };
>>
>> The use case is:
>> MEM -DMA-> P1 -DMA-> P2
>> or
>> P2 -DMA-> P1 -DMA-> MEM
>> or
>> MEM -DMA-> P2
>> or
>> P2 -DMA-> MEM
>> or
>> MEM -DMA-> P1 -DMA-> MEM
>>
>> How would the DMA guess what it should do? How would the independent P1
>> and P2 would know how to set up the config?
> 
> As I said, we do not support DEV_TO_DEV yet :)
> 
> Question is how would p1<-->p2 look, will p1 initiate a DMA txn or p2..?
> who will configure these..

That's a good question, I have not really thought about that.
If we have MEM in the picture, then it is a bit cleaner, but I would guess.

> Do you have a real world example in horizon...

In j721e we have AASRC module which needs special PDMA configuration to
match with it's setup, AASRC can be chained with McASP, which in turn
have different type of PDMA.

- Péter

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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux