• Marcin Wojtas's avatar
    dmaengine: mv_xor: add support for Armada 3700 SoC · ac5f0f3f
    Marcin Wojtas authored
    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: default avatarMarcin Wojtas <mw@semihalf.com>
    Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
    Acked-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    ac5f0f3f
mv_xor.c 34.7 KB