OSDN Git Service

dmaengine: sun6i: Set the maximum segment size
authorSamuel Holland <samuel@sholland.org>
Sun, 1 Jan 2023 19:36:04 +0000 (13:36 -0600)
committerVinod Koul <vkoul@kernel.org>
Wed, 18 Jan 2023 12:07:39 +0000 (17:37 +0530)
commit3dfaa68fa89afd7a926cc3c5f0388b52f489609b
tree384ffb7d8e4b0001588f23b73f0058b56a422d7b
parentad4ce0789033529673aa69ef1568ac37f38f9f27
dmaengine: sun6i: Set the maximum segment size

The sun6i DMA engine supports segment sizes up to 2^25-1 bytes. This is
explicitly stated in newer SoC documentation (H6, D1), and it is implied
in older documentation by the 25-bit width of the "bytes left in the
current segment" register field.

Exposing the real segment size limit (instead of the 64k default)
reduces the number of SG list segments needed for a transaction.

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Link: https://lore.kernel.org/r/20230101193605.50285-1-samuel@sholland.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sun6i-dma.c