History log of /drivers/dma/at_hdmac_regs.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bda3a47c886664e86ee14eb79e9072b9e341f575 17-Jan-2012 Nikolaus Voss <n.voss@weinmann.de> at_hdmac: bugfix for enabling channel irq

commit 463894705e4089d0ff69e7d877312d496ac70e5b deleted redundant
chan_id and chancnt initialization in dma drivers as this is done
in dma_async_device_register().

However, atc_enable_irq() relied on chan_id set before registering
the device, what left only channel 0 functional for this driver.

This patch introduces atc_enable/disable_chan_irq() as a variant
of atc_enable/disable_irq() with the channel as explicit argument.

Signed-off-by: Nikolaus Voss <n.voss@weinmann.de>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
/drivers/dma/at_hdmac_regs.h
02f88be9488a3d831f073c1161b1e5feacb9d3ec 22-Nov-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: simplify device selection from platform data or DT

Using a configuration structure simplify the finding of SoC
dependent parameters. Both platform data and device tree ids are
using these structures.
This will separate data from code and remove the need for an enum.

Idea from Grant Likely.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
/drivers/dma/at_hdmac_regs.h
67348450b86cb1b42aa4dd55cf7cde19c2e53461 17-Oct-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: platform data move to use .id_table

We remove the use of platform data from DMA controller driver.
We now use of .id_table to distinguish between compatible
types. The two implementations allow to determine the
number of channels and the capabilities of the controller.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
/drivers/dma/at_hdmac_regs.h
3c477482bb9f976e5451c50be7d3d60ea6f88646 25-Jul-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: add wrappers for testing channel state

Cyclic property and paused state are encoded as bits in the channel status
bitfield. Tests of those bits are wrapped in convenient helper functions.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
c0ba5947370a0900b1823922fc4faf41515bc901 27-Jul-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: improve power management routines

Save/restore dma controller state across a suspend-resume sequence.
The prepare() function will wait for the non-cyclic channels to become idle.
It also deals with cyclic operations with the start at next period while
resuming.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
23b5e3ad68a3c26a6a36039ea907997664aedcab 06-May-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: implement pause and resume in atc_control

Pause and resume controls are useful for audio devices. This also returns
correct status from atc_tx_status() in case chan is paused.

Idea from dw_dmac patch by Linus Walleij.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
ae14d4b5e0a4ebc4e674831cbb97b73ba66dba08 30-Apr-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: specialize AHB interfaces to optimize transfers

DMA controller has two AHB interfaces on the SOC internal
matrix.
It is more efficient to specialize each interface as the
access to memory can introduce latencies that are not compatible
with peripheral accesses requirements.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
53830cc75974a199b6b654c062ff8c54c58caa0b 30-Apr-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: add cyclic DMA operation support

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
9b3aa589eaa1366200062ce1f9cc7ddca8d1d578 30-Apr-2011 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: modify way to use interrupts

Now we use Buffer Transfer Completed interrupts. If we
want a chained buffer completed information, we setup the
ATC_IEN bit in CTRLB register in the lli.
This is done by set_desc_eol() function and used by
memcpy/slave_sg functions.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/drivers/dma/at_hdmac_regs.h
285a3c71640ad7101b7237b8fbaa4ead22c6551c 09-Sep-2009 Dan Williams <dan.j.williams@intel.com> at_hdmac: implement a private tx_list

Drop at_hdmac's use of tx_list from struct dma_async_tx_descriptor in
preparation for removal of this field.

Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
/drivers/dma/at_hdmac_regs.h
808347f6a31792079e345ec865e9cfcb6e8ae6b2 22-Jul-2009 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: add DMA slave transfers

This patch for at_hdmac adds the slave transfers capability to the Atmel DMA
controller available on some AT91 SOCs. This allow peripheral to memory and
memory to peripheral transfers with hardware handshaking.

Slave structure for controller specific information is passed through channel
private data. This at_dma_slave structure is defined in at_hdmac.h header file
and relative hardware definition are moved to this file from at_hdmac_regs.h.
Doing this we allow the channel configuration from platform definition code.

This work is intensively based on dw_dmac and several slave implementations.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
/drivers/dma/at_hdmac_regs.h
dc78baa2b90b289590911b40b6800f77d0dc935a 03-Jul-2009 Nicolas Ferre <nicolas.ferre@atmel.com> dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller

This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on
at91sam9rl chip. It will be used on other products in the future.

This first release covers only the memory-to-memory tranfer type. This is the
only tranfer type supported by this chip. On other products, it will be used
also for peripheral DMA transfer (slave API support to come).

I used dmatest client without problem in different configurations to test it.

Full documentation for this controller can be found in the SAM9RL datasheet:
http://www.atmel.com/dyn/products/product_card.asp?part_id=4243

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
/drivers/dma/at_hdmac_regs.h