dmaengine: qcom_hidma: implement lower level hardware interface
authorSinan Kaya <okaya@codeaurora.org>
Sun, 1 May 2016 04:25:26 +0000 (00:25 -0400)
committerVinod Koul <vinod.koul@intel.com>
Sat, 14 May 2016 06:24:45 +0000 (11:54 +0530)
commitd1615ca2e085222025118793b7b4af2cf4867b6e
tree5936945db6bdc897ca49552f79724929240a8b59
parent5ad3f29f6a712c3a37dbda4fba3b6969857d39d9
dmaengine: qcom_hidma: implement lower level hardware interface

This patch implements the hardware hooks for the HIDMA channel driver.

The main functions of interest are:
- hidma_ll_init
- hidma_ll_request
- hidma_ll_queue_request
- hidma_ll_hw_start

OS layer calls the hidma_ll_init function during probe to set up the
hardware. At this moment, the number of supported descriptors are also
given. On each request, a descriptor is allocated from the free pool and
filled in with the transfer parameters. Multiple requests can be queued
into the hardware via the OS interface. When client is ready for requests
to be executed, start method is called.

Completions are delivered via callbacks via tasklet.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/qcom/Makefile
drivers/dma/qcom/hidma.c
drivers/dma/qcom/hidma.h
drivers/dma/qcom/hidma_ll.c [new file with mode: 0644]