Convert the MIPI-DBI-based drivers to shadow-plane helpers. The drivers vmap/vunmap GEM buffer memory during the atomic commit. Shadow-plane helpers automate this process. Patches 1 to 4 prepare the MIPI code for the change and simplify the rest of the patchset. Patches 5 to 7 rework the vmap code in the MIPI-DBI drivers and add shadow-plane helpers. Most of the affected drivers call MIPI-DBI helpers and get the update automatically. Only ili9225 and st7586 require changes to their source code. Patch 8 simplifies drm_dev_enter() and _exit(). It's not strictly needed, but streamlines the driver code and make sense overall. Testing is welcome, as I don't have any hardware to test these changes myself. v2: * fix vmap()/vaddr confusion (Noralf) * drop struct mipi_dbi_plane_state (Noralf) Thomas Zimmermann (8): drm/simple-kms: Remove drm_gem_simple_display_pipe_prepare_fb() drm/ili9225: Call MIPI DBI mode_valid helper drm/st7586: Call MIPI DBI mode_valid helper drm/mipi-dbi: Initialize default driver functions with macro drm/mipi-dbi: Prepare framebuffer copy operation in pipe-update helpers drm/mipi-dbi: Support shadow-plane state drm/mipi-dbi: Use shadow-plane mappings drm/mipi-dbi: Move drm_dev_{enter,exit}() out from fb_dirty functions drivers/gpu/drm/drm_gem_atomic_helper.c | 31 +--- drivers/gpu/drm/drm_mipi_dbi.c | 144 ++++++++++++++----- drivers/gpu/drm/drm_simple_kms_helper.c | 2 +- drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 6 +- drivers/gpu/drm/tiny/hx8357d.c | 5 +- drivers/gpu/drm/tiny/ili9163.c | 6 +- drivers/gpu/drm/tiny/ili9225.c | 36 +++-- drivers/gpu/drm/tiny/ili9341.c | 5 +- drivers/gpu/drm/tiny/ili9486.c | 5 +- drivers/gpu/drm/tiny/mi0283qt.c | 5 +- drivers/gpu/drm/tiny/panel-mipi-dbi.c | 5 +- drivers/gpu/drm/tiny/st7586.c | 39 +++-- drivers/gpu/drm/tiny/st7735r.c | 5 +- include/drm/drm_gem_atomic_helper.h | 2 - include/drm/drm_mipi_dbi.h | 36 ++++- include/drm/drm_plane.h | 4 +- include/drm/drm_simple_kms_helper.h | 4 +- 17 files changed, 205 insertions(+), 135 deletions(-) base-commit: ad232f8a0287b805a7a167eddad30fe33fbec9d5 -- 2.38.1