Den 21.11.2022 11.45, skrev Thomas Zimmermann: > 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. > Tested-by: Noralf Trønnes <noralf@xxxxxxxxxxx> # drm/tiny/mi0283qt > 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