From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> --- 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