We keep getting new drivers based on the obsolete simple-display pipeline,
such as the recent driver for st7789v panels. [1] But submitters cannot
know, as the simple-display helpers are fully documented and still used
in several places.

Hence, convert all the mipi-dbi drivers over to regular atomic helpers
and remove simple-display support from mipi-dbi in this series. Then
undocument the helpers and add TODO items for final their removal.

Patch 1 changes the mode-setting logic get CRTC and panel updates into
the correct order. This patch is probably the most fragile change in the
series.

Patches 2 and 3 prepare mipi-dbi to allow for atomic helpers to be used.

Patches 5 to 14 update mipi-dbi drivers one by one. The st7735r driver
requires some additional minor preparation. Overall, the refactoring is
always the same.

Patches 15 abd 16 clean up mipi-dbi and the simple-display helpers.

These patches need some testing, as I can only compile them. At least
one of the drivers should be tried on hardware. Regressions should be
easy to fix, as these changes are mostly refactoring jobs.

[1] 
https://lore.kernel.org/dri-devel/[email protected]/

Thomas Zimmermann (16):
  drm/mipi-dbi: Only modify planes on enabled CRTCs
  drm/mipi-dbi: Support custom pipelines with drm_mipi_dbi_dev_init()
  drm/mipi-dbi: Provide callbacks for atomic interfaces
  drm/hx8357d: Use regular atomic helpers; drop simple-display helpers
  drm/ili9163: Use regular atomic helpers; drop simple-display helpers
  drm/ili9225: Use regular atomic helpers; drop simple-display helpers
  drm/ili9341: Use regular atomic helpers; drop simple-display helpers
  drm/ili9486: Use regular atomic helpers; drop simple-display helpers
  drm/mi0283qt: Use regular atomic helpers; drop simple-display helpers
  drm/panel-mipi-dbi: Use regular atomic helpers; drop simple-display
    helpers
  drm/st7586: Use regular atomic helpers; drop simple-display helpers
  drm/st7735r: Rename struct st7735r_priv to struct st7735r_device
  drm/st7735r: Rename priv variable to st7735r
  drm/st7735r: Use regular atomic helpers; drop simple-display helpers
  drm/mipi-dbi: Remove simple-display helpers from mipi-dbi
  drm/simple-kms: Deprecate simple-kms helpers

 Documentation/gpu/drm-kms-helpers.rst   |  12 -
 Documentation/gpu/introduction.rst      |   5 -
 Documentation/gpu/todo.rst              |  32 +++
 drivers/gpu/drm/drm_crtc.c              |   6 +-
 drivers/gpu/drm/drm_gem_atomic_helper.c |  22 --
 drivers/gpu/drm/drm_mipi_dbi.c          | 352 ++++++------------------
 drivers/gpu/drm/drm_modeset_helper.c    |   3 -
 drivers/gpu/drm/drm_simple_kms_helper.c |  83 ------
 drivers/gpu/drm/sitronix/st7586.c       | 194 +++++++++----
 drivers/gpu/drm/sitronix/st7735r.c      | 142 ++++++++--
 drivers/gpu/drm/tiny/hx8357d.c          | 138 +++++++++-
 drivers/gpu/drm/tiny/ili9163.c          | 139 +++++++++-
 drivers/gpu/drm/tiny/ili9225.c          | 193 +++++++++----
 drivers/gpu/drm/tiny/ili9341.c          | 139 +++++++++-
 drivers/gpu/drm/tiny/ili9486.c          | 130 ++++++++-
 drivers/gpu/drm/tiny/mi0283qt.c         | 139 +++++++++-
 drivers/gpu/drm/tiny/panel-mipi-dbi.c   | 142 ++++++++--
 include/drm/drm_mipi_dbi.h              | 140 ++++++----
 include/drm/drm_simple_kms_helper.h     | 216 +--------------
 19 files changed, 1366 insertions(+), 861 deletions(-)


base-commit: 1c44015babd759b8e5234084dffcc08a0b784333
-- 
2.52.0

Reply via email to