dmaengine: mv_xor: add support for Armada 3700 SoC
authorMarcin Wojtas <mw@semihalf.com>
Fri, 29 Apr 2016 07:49:07 +0000 (09:49 +0200)
committerVinod Koul <vinod.koul@intel.com>
Tue, 3 May 2016 06:57:47 +0000 (12:27 +0530)
commitac5f0f3f863e9e6703a3038aa72814d2d0e8a056
treebc9da076d8ea0de1f1a2da61ef329d48e620b150
parentdd130c652cb745e82b70cb71a3cf2dd876295e96
dmaengine: mv_xor: add support for Armada 3700 SoC

Armada 3700 SoC comprise a single XOR engine compliant with the ones used
in older Marvell SoC's like Armada XP or 38x. The only thing that needs
modification is the Mbus configuration, which has to be done on two
levels: global and in device. The first one is inherited from the
bootloader. The latter can be opened in a default way, leaving
arbitration to the bus controller. Hence filled mbus_dram_target_info
structure is not needed.

Patch "dmaengine: mv_xor: optimize performance by using a subset
of the XOR channels" introduced limitation for using XOR engines and
channels vs number of available CPU's. Those constraints do not however
fit Armada 3700 architecture with two possible CPU's and single,
dual-channel engine. Hence in this commit an adjustment for setting
maximum available channels is added.

This patch enables XOR access to DRAM by opening default window to 4GB
space with specific attribute.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Documentation/devicetree/bindings/dma/mv-xor.txt
drivers/dma/mv_xor.c