Re: [RFT 0/5] drm/msm: DMABUF_DEBUG fixes
From: Jianfeng Liu
Date: Wed Oct 07 2026 - 09:34:05 EST
Hi Rob,
On Tue, Oct 6, 2026 at 6:09 AM Rob Clark wrote:
> With DMABUF_DEBUG=y, the page information is stripped from the sgt that
> we get for an externally allocated buffer that is dma-buf imported (as
> opposed to an exported GEM buffer that is re-imported). [...]
Tested on the machine that originally reported the breakage - this
exercises exactly the externally-allocated-buffer case from your cover
letter:
Tested-by: Jianfeng Liu <liujianfeng1994@xxxxxxxxx> # x1e78100 (Acer
SFA14-11), v7.3-rc5 + this series, CONFIG_DMABUF_DEBUG=y
Hardware video decode in chromium (V4L2 decoder capture buffers from
videobuf2-dma-contig imported into msm and rendered by the GPU)
displays correctly, with zero arm-smmu faults and zero io-pgtable
WARNs. For comparison, on plain v7.3-rc5 with DMABUF_DEBUG=y the
same workload logs UCHE translation faults and a __arm_lpae_unmap()
WARN storm (~470 traces per minute of playback).
This is also much cleaner than the translation-based approach in the
follow-up series I withdrew - mapping from the DMA addresses is where
I should have ended up in the first place.
One small suggestion for __do_map(): panthor treats "map_pages()
mapped nothing" as an error (panthor_mmu.c):
/* If nothing was mapped, consider it an ENOMEM. */
if (!ret && !mapped)
ret = -ENOMEM;
With the DMA fields now populated on both paths this should not
trigger in practice, but it would turn any future regression back
into a loud failure instead of a silent empty mapping - which is
the failure mode this whole series fixes.
Happy to run more (heap-exported dmabuf import test, kmssink scanout
of V4L2 frames) on any revision.
BR,
Jianfeng