linux-stable/drivers/dma/dw
Serge Semin 8d2f59dab3 dmaengine: dw: Ignore burst setting for memory peripherals
According to the DW DMA controller Databook 2.18b (page 40 "3.5 Memory
Peripherals") memory peripherals don't have handshaking interface
connected to the controller, therefore they can never be a flow
controller. Since the CTLx.SRC_MSIZE and CTLx.DEST_MSIZE are properties
valid only for peripherals with a handshaking interface, we can freely
zero these fields out if the memory peripheral is selected to be the
source or the destination of the DMA transfers.

Note according to the databook, length of burst transfers to memory is
always equal to the number of data items available in a channel FIFO or
data items required to complete the block transfer, whichever is smaller;
length of burst transfers from memory is always equal to the space
available in a channel FIFO or number of data items required to complete
the block transfer, whichever is smaller.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Link: https://lore.kernel.org/r/20200731200826.9292-5-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-08-17 11:58:31 +05:30
..
acpi.c dmaengine: dw: Register ACPI DMA controller for PCI that has companion 2020-06-16 21:54:47 +05:30
core.c dmaengine: dw: Discard dlen from the dev-to-mem xfer width calculation 2020-08-17 11:58:31 +05:30
dw.c dmaengine: dw: Ignore burst setting for memory peripherals 2020-08-17 11:58:31 +05:30
idma32.c dmaengine: dw: Ignore burst setting for memory peripherals 2020-08-17 11:58:31 +05:30
internal.h dmaengine: dw: platform: Split OF helpers to separate module 2019-08-21 09:41:28 +05:30
Kconfig dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
Makefile dmaengine: dw: Replace 'objs' by 'y' 2020-06-16 21:54:47 +05:30
of.c dmaengine: dw: Introduce max burst length hw config 2020-07-27 14:30:55 +05:30
pci.c dmaengine: dw: Register ACPI DMA controller for PCI that has companion 2020-06-16 21:54:47 +05:30
platform.c dmaengine: dw: platform: Mark 'hclk' clock optional 2019-10-14 13:51:44 +05:30
regs.h dmaengine: dw: Introduce max burst length hw config 2020-07-27 14:30:55 +05:30