Re: [RFD RESEND] dmaengine: add new sleepy alloc descriptor and slave sg APIs

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

 




On 02/24/2017 10:27 AM, Lars-Peter Clausen wrote:
> On 02/24/2017 06:19 PM, Dave Jiang wrote:
>>
>>
>> On 02/23/2017 05:41 PM, Dan Williams wrote:
>>> On Thu, Feb 23, 2017 at 4:13 PM, Vinod Koul <vinod.koul@xxxxxxxxx> wrote:
>>>> There have been discussions on need for change of dmaengine API for
>>>> a) allow sleepy invocation of the prepare descriptor so that drivers can
>>>> do the runtime pm (maybe move into core as well)
>>>> b) split the prepare operation to allocate and new prepare methods
>>>
>>> I'm wondering if you should you go even further and move to a more
>>> idiomatic model where a generic request is prepared outside the driver
>>> and passed in, rather than the current situation of requiring the
>>> driver to wrap a dma_async_tx_descriptor inside it's internal command
>>> structure.
>>
>> I wonder if we should support allowing proper batching of requests
>> before submission in the framework. Certain consumers of the DMA driver
>> can take advantage of that to improve performance.
> 
> Some drivers already do this and the API allows this. issue_pending() is the
> operation that starts the transfer. So when a descriptor is submitted and
> there are already other descriptors pending it is OK to batch those
> descriptors together into one hardware-linked descriptor chain.
> 

Right, a lot of the mechanism is in the driver. And the prep call leaves
the submission lock held does it not? That prevents more prep calls
being invoked.
--
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