]> git.ipfire.org Git - thirdparty/linux.git/commit
dma-mapping: add DMA_ATTR_CPU_CACHE_CLEAN
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 29 Dec 2025 12:28:43 +0000 (07:28 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 1 Jan 2026 00:30:02 +0000 (19:30 -0500)
commit61868dc55a119a5e4b912d458fc2c48ba80a35fe
tree890eda524fdc6fd1609d056f201af91554b2dd02
parent1e8b5d855525e0863198797a67a69774f426e142
dma-mapping: add DMA_ATTR_CPU_CACHE_CLEAN

When multiple small DMA_FROM_DEVICE or DMA_BIDIRECTIONAL buffers share a
cacheline, and DMA_API_DEBUG is enabled, we get this warning:
cacheline tracking EEXIST, overlapping mappings aren't supported.

This is because when one of the mappings is removed, while another one
is active, CPU might write into the buffer.

Add an attribute for the driver to promise not to do this, making the
overlapping safe, and suppressing the warning.

Message-ID: <2d5d091f9d84b68ea96abd545b365dd1d00bbf48.1767601130.git.mst@redhat.com>
Reviewed-by: Petr Tesarik <ptesarik@suse.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/linux/dma-mapping.h
kernel/dma/debug.c