From: Ville Syrjälä <ville.syrj...@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 now that the modes[] lifetime issues
have been sorted out we can just switch over to the
proper crtc->state->mode.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/drm_client_modeset.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/drm_client_modeset.c 
b/drivers/gpu/drm/drm_client_modeset.c
index d413e119db3f..3e49448370c4 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -710,19 +710,8 @@ static bool drm_client_firmware_config(struct 
drm_client_dev *client,
 
                /* last resort: use current mode */
                if (!mode_valid(&modes[i])) {
-                       /*
-                        * IMPORTANT: We want to use the adjusted mode (i.e.
-                        * after the panel fitter upscaling) as the initial
-                        * config, not the input mode, which is what crtc->mode
-                        * usually contains. But since our current
-                        * code puts a mode derived from the post-pfit timings
-                        * into crtc->mode this works out correctly.
-                        *
-                        * This is crtc->mode and not crtc->state->mode for the
-                        * fastboot check to work correctly.
-                        */
                        mode_type = "current";
-                       drm_mode_copy(&modes[i], &connector->state->crtc->mode);
+                       drm_mode_copy(&modes[i], &new_crtc->state->mode);
                }
 
                /*
-- 
2.45.2

Reply via email to