• Arnd Bergmann's avatar
    dmaengine: qcom-adm: stop abusing slave_id config · 03de6b27
    Arnd Bergmann authored
    The slave_id was previously used to pick one DMA slave instead of another,
    but this is now done through the DMA descriptors in device tree.
    
    For the qcom_adm driver, the configuration is documented in the DT
    binding to contain a tuple of device identifier and a "crci" field,
    but the implementation ends up using only a single cell for identifying
    the slave, with the crci getting passed in nonstandard properties of
    the device, and passed through the dma driver using the old slave_id
    field. Part of the problem apparently is that the nand driver ends up
    using only a single DMA request ID, but requires distinct values for
    "crci" depending on the type of transfer.
    
    Change both the dmaengine driver and the two slave drivers to allow
    the documented binding to work in addition to the ad-hoc passing
    of crci values. In order to no longer abuse the slave_id field, pass
    the data using the "peripheral_config" mechanism instead.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20211122222203.4103644-9-arnd@kernel.orgSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    03de6b27
qcom_adm.c 23.6 KB