]> git.ipfire.org Git - thirdparty/linux.git/commit
drm/sun4i: Use backend/mixer as dedicated DMA device
authorChen-Yu Tsai <wenst@chromium.org>
Wed, 11 Mar 2026 09:49:28 +0000 (17:49 +0800)
committerChen-Yu Tsai <wenst@chromium.org>
Mon, 23 Mar 2026 05:23:29 +0000 (13:23 +0800)
commit25e90f486f5bc8f606f4263c9d86e2d2b1db4613
tree8b7c7888cc8f48a4f1a210fc61bfb6a2e5be574d
parente21b1a91430d5ff626a35f72951ed80268e26de6
drm/sun4i: Use backend/mixer as dedicated DMA device

The sun4i DRM driver deals with DMA constraints in a peculiar way.
Instead of using the actual DMA device in various helpers, it justs
reconfigures the DMA constraints of the virtual display device using
the DMA device's device tree node by calling of_dma_configure().

Turns out of_dma_configure() should only be called from bus code.
Lately this also triggers a big warning through of_iommu_configure()
and ultimately __iommu_probe_device():

    late IOMMU probe at driver bind, something fishy here!

Now that the GEM DMA helpers have proper support for allocating
and mapping buffers with a dedicated DMA device, switch over to
it as the proper solution.

The mixer change was tested on a Pine H64 model B. The backend change
was only compile tested. Though I don't expect any issues, help testing
on an older device would be appreciated.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20260311094929.3393338-5-wenst@chromium.org
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
drivers/gpu/drm/sun4i/sun4i_backend.c
drivers/gpu/drm/sun4i/sun8i_mixer.c