Re: [PATCH 3/3] Documentation: dmaengine: Add DMA_CTRL_REUSE documentation

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

 



Vinod Koul <vinod.koul@xxxxxxxxx> writes:

>> > +	- Terminating the channel
>> Is this last condition mandatory, or can it be transformed into :
>>  - Clearing DMA_CTRL_REUSE and terminating the channel
>> 
>> The reason I'm asking this is for this kind of scenario :
>>  - 4 video buffers are prepared and submitted (ie. 4 txs)
>>  - 1st video buffer completes
>>  - 2nd video buffer starts, and an error occurs in this 2nd buffer
>>    => the driver will terminate the DMA channel to stop the transmission
>>  - the driver will wait for the next "start of frame" of the camera sensor
>>  - and then it will start 3rd video buffer
>>    => in this case, the 3rd video will be reused, even if the channel was
>>    terminated
> Nope during terminate flow you are expected to clean up channel. Which mean
> cleaning up all pending descriptors and throwing error. You are required to
> prepare again
Ok.

> Here when adding, I though of giving few choice
> - allowing folks to say, okay I have last txn, let me remove reuse and
>   submit. That should be hint to driver to free it up
>   The expecttaion would be that client supporting reuse check this for every
>   submit, if the desc is being reused or not
That one is great for drivers which know beforehand.

> - allowing cleanup anytime when we dont know where last txn is, or when user
>   cancelled
That one is great when it's the userspace which drives the decision to requeue
or not.

> - Or freeing gracefuly on already submitted desc
Ah I don't quite understand this one. I don't see the usecase in this one.

Cheers.

-- 
Robert
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux