[PATCH 04/12] drm/client: Add a FIXME around crtc->mode usage

Ville Syrjala ville.syrjala at linux.intel.com
Thu Apr 4 20:33:28 UTC 2024


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

crtc->mode is legacy junk and shouldn't really be used with
atomic drivers.

Most (all?) atomic drivers do end up still calling
drm_atomic_helper_update_legacy_modeset_state() at some
point, so crtc->mode does still get populated, and this
does work for now. But eventually would be nice to eliminate
all the legacy stuff from atomic drivers.

Switching to crtc->state->mode would require some bigger
changes however, as we currently drop the crtc->mutex
before we're done using the mode. So leave the junk in
for now and just add a FIXME to remind us that this
needs fixing.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/drm_client_modeset.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
index 2b7d0be04911..8ef03608b424 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -699,6 +699,10 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
 			 *
 			 * This is crtc->mode and not crtc->state->mode for the
 			 * fastboot check to work correctly.
+			 *
+			 * FIXME using legacy crtc->mode with atomic drivers
+			 * is dodgy. Switch to crtc->state->mode, after taking
+			 * care of the resulting locking/lifetime issues.
 			 */
 			DRM_DEBUG_KMS("looking for current mode on connector %s\n",
 				      connector->name);
-- 
2.43.2



More information about the dri-devel mailing list