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 restof 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. 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 | 175 +++++++++++++++---- 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 | 42 +++-- 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 | 45 +++-- drivers/gpu/drm/tiny/st7735r.c | 5 +- include/drm/drm_gem_atomic_helper.h | 2 - include/drm/drm_mipi_dbi.h | 50 +++++- include/drm/drm_plane.h | 4 +- include/drm/drm_simple_kms_helper.h | 4 +- 17 files changed, 265 insertions(+), 132 deletions(-) base-commit: b7598e2b3a3116bb5ddbf756db30a0e5dc0877ea prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6 -- 2.38.1