From d08fda2cf2e68b4e0865f1bf0b49010db74da079 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 29 Dec 2025 18:28:28 -0500 Subject: [PATCH] virtio_input: use virtqueue_add_inbuf_cache_clean for events The evts array contains 64 small (8-byte) input events that share cachelines with each other. When CONFIG_DMA_API_DEBUG is enabled, this can trigger warnings about overlapping DMA mappings within the same cacheline. Previous patch isolated the array in its own cachelines, so the warnings are now spurious. Use virtqueue_add_inbuf_cache_clean() to indicate that the CPU does not write into these cache lines, suppressing these warnings. Message-ID: <4c885b4046323f68cf5cadc7fbfb00216b11dd20.1767601130.git.mst@redhat.com> Signed-off-by: Michael S. Tsirkin --- drivers/virtio/virtio_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_input.c b/drivers/virtio/virtio_input.c index 9f13de1f1d77b..74df16677da83 100644 --- a/drivers/virtio/virtio_input.c +++ b/drivers/virtio/virtio_input.c @@ -30,7 +30,7 @@ static void virtinput_queue_evtbuf(struct virtio_input *vi, struct scatterlist sg[1]; sg_init_one(sg, evtbuf, sizeof(*evtbuf)); - virtqueue_add_inbuf(vi->evt, sg, 1, evtbuf, GFP_ATOMIC); + virtqueue_add_inbuf_cache_clean(vi->evt, sg, 1, evtbuf, GFP_ATOMIC); } static void virtinput_recv_events(struct virtqueue *vq) -- 2.47.3