[PATCH 0/7] drm: Add physical status and BMC support to conenctor
Thomas Zimmermann
tzimmermann at suse.de
Fri Oct 11 06:43:05 UTC 2024
Track a connector's physical status separately from the logical status
and implement BMC support for DRM drivers. Connectors with virtual BMC
stay connected even if no display is physically connected. DRM clients
then continue displaying output to the BMC.
Ast and mgag200 have been doing this for a while. Moving this into
struct drm_connector and probe helpers simplifies htese divers and
makes the functionality available to others. Hibmc is a candidate here.
Patch just simplifies code in probe helpers and has been acked as part
of the series at [1].
Pathces 2 and 3 add the physical status and a BMC flag to struct
drm_connector. Usually physical connector status and regular, logical
status are in sync, so nothing changes for most drivers. If the the
BMC flag has been set, the logical status is always connected. The
probe helpers also take care of sending hotplug events if the physical
status changes.
Patches 4 to 7 update ast and mgag200. Both drivers already implement
their own tracking of physical status, which is now handled by DRM
helpers. Ast also receives two simple bug fixes for cleaning up EDID
properties in the BMC case.
Tested on ast and mgag200 hardware. Another driver that could make use
of this functionality is hibmc.
[1] https://patchwork.freedesktop.org/series/136084/
Thomas Zimmermann (7):
drm/probe-helper: Call connector detect functions in single helper
drm: Add physical status to connector
drm: Add bmc_attached flag to connector
drm/ast: sil164: Clear EDID if no display is connected
drm/ast: vga: Clear EDID if no display is connected
drm/ast: Track physical connector status in struct drm_connector
drm/mgag200: Track physical connector status in struct drm_connector
drivers/gpu/drm/ast/ast_dp.c | 21 +++-------
drivers/gpu/drm/ast/ast_dp501.c | 17 ++------
drivers/gpu/drm/ast/ast_drv.h | 24 ++---------
drivers/gpu/drm/ast/ast_sil164.c | 19 +++------
drivers/gpu/drm/ast/ast_vga.c | 30 +++-----------
drivers/gpu/drm/drm_connector.c | 1 +
drivers/gpu/drm/drm_probe_helper.c | 50 +++++++++++++----------
drivers/gpu/drm/mgag200/mgag200_vga_bmc.c | 32 +++------------
include/drm/drm_connector.h | 15 +++++++
9 files changed, 77 insertions(+), 132 deletions(-)
--
2.46.0
More information about the dri-devel
mailing list