]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: vdma: Add 64 bit addressing support for the axi cdma
authorKedareswara rao Appana <appana.durga.rao@xilinx.com>
Tue, 7 Jun 2016 13:51:16 +0000 (19:21 +0530)
committerVinod Koul <vinod.koul@intel.com>
Tue, 21 Jun 2016 05:35:23 +0000 (11:05 +0530)
commit9395c7c479c2b0e2c918ebbc1c475d038a8f4c45
tree389ea476a9b4c3e8545ae6f4d2d74be26fc3ecd9
parent8a6416aeba9bbec0d4cb1deedc1a950e2dbf85d1
dmaengine: vdma: Add 64 bit addressing support for the axi cdma

The AXI CDMA is a soft ip, which can be programmed to support
32 bit addressing or greater than 32 bit addressing.

When the AXI CDMA ip is configured for 32 bit address space
in simple dma mode the source/destination buffer address is
specified by a single register(18h for Source buffer address and
20h for Destination buffer address). When configured in SG mode
the current descriptor and tail descriptor are specified by a
Single register(08h for curdesc 10h for tail desc).

When the  AXI CDMA core is configured for an address space greater
than 32 then each buffer address or descriptor address is specified by
a combination of two registers.

The first register specifies the LSB 32 bits of address,
while the next register specifies the MSB 32 bits of address.

For example, 08h will specify the LSB 32 bits while 0Ch will
specify the MSB 32 bits of the first start address.
So we need to program two registers at a time.

This patch adds the 64 bit addressing support to the axicdma
IP in the driver.

Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/xilinx/xilinx_vdma.c