]> rtime.felk.cvut.cz Git - zynq/linux.git/commit
dmaengine: vdma: Add 64 bit addressing support for the axi cdma
authorKedareswara rao Appana <appana.durga.rao@xilinx.com>
Wed, 13 Jul 2016 09:20:26 +0000 (14:50 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 14 Jul 2016 06:13:06 +0000 (08:13 +0200)
commitab182b3fe36312975119af40644ba25ed6c95731
treed99464396d7118d6c124b70f616ebc109948ff22
parent18ef650636a52570809d0248cd956fd4a7e921c2
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