diff options
| author | Takashi Iwai <[email protected]> | 2024-09-12 15:52:25 +0000 |
|---|---|---|
| committer | Takashi Iwai <[email protected]> | 2024-09-12 16:02:18 +0000 |
| commit | 0b9f2bd00fc3677e38ae5e46ff79b8d48d9cb02e (patch) | |
| tree | 78ca421c467de117671f974bced38aea530c99a3 /drivers/fpga/tests | |
| parent | ALSA: memalloc: Use proper DMA mapping API for x86 WC buffer allocations (diff) | |
| download | kernel-0b9f2bd00fc3677e38ae5e46ff79b8d48d9cb02e.tar.gz kernel-0b9f2bd00fc3677e38ae5e46ff79b8d48d9cb02e.zip | |
ALSA: memalloc: Use proper DMA mapping API for x86 S/G buffer allocations
The fallback S/G buffer allocation for x86 used the addresses deduced
from the page allocations blindly. It broke the allocations on IOMMU
and made us to work around with a hackish DMA ops check.
For cleaning up those messes, this patch switches to the proper DMA
mapping API usages with the standard sg-table instead.
By introducing the sg-table, the address table isn't needed, but for
keeping the original allocation sizes for freeing, replace it with the
array keeping the number of pages.
The get_addr callback is changed to use the existing one for
non-contiguous buffers. (Also it's the reason sg_table is put at the
beginning of struct snd_dma_sg_fallback.)
And finally, the hackish workaround that checks the DMA ops is
dropped now.
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Diffstat (limited to 'drivers/fpga/tests')
0 files changed, 0 insertions, 0 deletions
