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. [1] https://patchwork.freedesktop.org/series/136885/ Thomas Zimmermann (9): drm/ast: Move code for physical outputs into separate files drm/ast: astdp: Move locking into EDID helper drm/ast: astdp: Use struct drm_edid and helpers 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 | 212 ++++++++++-- drivers/gpu/drm/ast/ast_drv.h | 21 +- drivers/gpu/drm/ast/ast_mode.c | 578 ------------------------------- drivers/gpu/drm/ast/ast_sil164.c | 124 +++++++ drivers/gpu/drm/ast/ast_vga.c | 124 +++++++ 7 files changed, 678 insertions(+), 627 deletions(-) create mode 100644 drivers/gpu/drm/ast/ast_sil164.c create mode 100644 drivers/gpu/drm/ast/ast_vga.c -- 2.46.0