]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
dmaengine: dw: Take HC_LLP flag into account for noLLP auto-config
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Thu, 23 Jul 2020 00:58:44 +0000 (03:58 +0300)
committerVinod Koul <vkoul@kernel.org>
Mon, 27 Jul 2020 09:00:55 +0000 (14:30 +0530)
commitef3e515a87df2881db66f05b576804ca6f03e1ff
treecac76340eef45bee2987e268709c37d9d1b2d7bc
parent3b6d694eb3eebd86ec44a119e730943ac8e03a6b
dmaengine: dw: Take HC_LLP flag into account for noLLP auto-config

Full multi-block transfers functionality is enabled in DW DMA
controller only if CHx_MULTI_BLK_EN is set. But LLP-based transfers
can be executed only if hardcode channel x LLP register feature isn't
enabled, which can be switched on at the IP core synthesis for
optimization. If it's enabled then the LLP register is hardcoded to
zero, so the blocks chaining based on the LLPs is unsupported.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200723005848.31907-7-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw/core.c
drivers/dma/dw/regs.h