diff options
author | Martin Povišer <[email protected]> | 2022-10-19 15:23:24 +0200 |
---|---|---|
committer | Vinod Koul <[email protected]> | 2022-10-19 22:24:57 +0530 |
commit | 568aa6dd641f63166bb60d769e256789b3ac42d4 (patch) | |
tree | 9c4e3d7a5c1ca8dbd7960a00bc9ce3844ae2cd15 /lib/mpi/mpi-mod.c | |
parent | 91123b37e8a99cc489d5bdcfebd1c25f29382504 (diff) |
dmaengine: apple-admac: Allocate cache SRAM to channels
There's a previously unknown part of the controller interface: We have
to assign SRAM carveouts to channels to store their in-flight samples
in. So, obtain the size of the SRAM from a read-only register and divide
it into 2K blocks for allocation to channels. The FIFO depths we
configure will always fit into 2K.
(This fixes audio artifacts during simultaneous playback/capture on
multiple channels -- which looking back is fully accounted for by having
had the caches in the DMA controller overlap in memory.)
Fixes: b127315d9a78 ("dmaengine: apple-admac: Add Apple ADMAC driver")
Signed-off-by: Martin Povišer <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Vinod Koul <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-mod.c')
0 files changed, 0 insertions, 0 deletions