dmaengine: mv_xor: Add support for IO (PCIe) src/dst areas
authorStefan Roese <sr@denx.de>
Thu, 15 Sep 2016 05:37:31 +0000 (07:37 +0200)
committerVinod Koul <vinod.koul@intel.com>
Thu, 15 Sep 2016 15:43:59 +0000 (21:13 +0530)
commit77ff7a706f014a56d38f07acf220f381a8fe0fd8
tree060c52eedaba57d63912fc10e89bdefbfcb8ded1
parent434cec62a6d73b8c8080cd992bc97a564fdd5a5a
dmaengine: mv_xor: Add support for IO (PCIe) src/dst areas

To enable the access to a specific area, the MVEBU XOR controllers needs
to have this area enabled / mapped via an address window. Right now,
only the DRAM memory area is enabled via such memory windows. So
using this driver to DMA to / from a e.g. PCIe memory region is
currently not supported.

This patch now adds support for such PCIe / IO regions by checking
if the src / dst address is located in an IO memory area in contrast
to being located in DRAM. This is done by using the newly introduced
MBus function mvebu_mbus_get_io_win_info(). If the src / dst address
is located in such an IO area, a new address window is created in
the XOR DMA controller. Enabling the controller to access this area.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Marcin Wojtas <mw@semihalf.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/mv_xor.c
drivers/dma/mv_xor.h