mbox series

[v3,00/11] drm/ast: Transparently handle BMC in outputs

Message ID 20240815151953.184679-1-tzimmermann@suse.de (mailing list archive)
Headers show
Series drm/ast: Transparently handle BMC in outputs | expand

Message

Thomas Zimmermann Aug. 15, 2024, 3:18 p.m. UTC
Add transparent BMC support to all outputs. If the user disconnects
the physical display, each output will now return display modes for
the BMC. Makes the BMC connector obsolete, so remove it.

The benefit of the new approach is that is works with any userspace.
Most userspace compositors have problems configuring the current BMC
connector. The BMC connector is now gone and only a physical connector
is present.

Also clean up some of the EDID handling in preparation. Switching to
struct drm_edid and its helpers simplifies the code for inclusion of
the BMC support.

A similar approach has been taken for mgag200. [1] Here a server's
display hardware also contains an internal BMC that needs to display
even without the presence of a physical display.

v3:
- track physical connector status in struct ast_connector
v2:
- fix reading EDID data on ASTDP and DP501 chips (Jocelyn)

[1] https://patchwork.freedesktop.org/series/136885/

Thomas Zimmermann (11):
  drm/ast: Move code for physical outputs into separate files
  drm/ast: Add struct ast_connector
  drm/ast: astdp: Move locking into EDID helper
  drm/ast: astdp: Use struct drm_edid and helpers
  drm/ast: astdp: Simplify power management when detecting display
  drm/ast: astdp: Transparently handle BMC support
  drm/ast: dp501: Use struct drm_edid and helpers
  drm/ast: dp501: Transparently handle BMC support
  drm/ast: sil164: Transparently handle BMC support
  drm/ast: vga: Transparently handle BMC support
  drm/ast: Remove BMC output

 drivers/gpu/drm/ast/Makefile     |   4 +-
 drivers/gpu/drm/ast/ast_dp.c     | 242 ++++++++++++-
 drivers/gpu/drm/ast/ast_dp501.c  | 184 ++++++++--
 drivers/gpu/drm/ast/ast_drv.h    |  42 +--
 drivers/gpu/drm/ast/ast_mode.c   | 578 -------------------------------
 drivers/gpu/drm/ast/ast_sil164.c | 127 +++++++
 drivers/gpu/drm/ast/ast_vga.c    | 127 +++++++
 7 files changed, 667 insertions(+), 637 deletions(-)
 create mode 100644 drivers/gpu/drm/ast/ast_sil164.c
 create mode 100644 drivers/gpu/drm/ast/ast_vga.c