OSDN Git Service

drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_reado...
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 10 Sep 2015 15:59:10 +0000 (18:59 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 23 Sep 2015 08:32:47 +0000 (10:32 +0200)
intel_modeset_readout_hw_state() seems like the more appropriate place
for populating the scanline_offset and timestamping constants than
intel_sanitize_crtc() since they are basically part of the state we
read out.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 5064d8f..8db2b13 100644 (file)
@@ -14907,8 +14907,6 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc)
        if (crtc->active) {
                struct intel_plane *plane;
 
-               drm_calc_timestamping_constants(&crtc->base, &crtc->base.hwmode);
-               update_scanline_offset(crtc);
                drm_crtc_vblank_on(&crtc->base);
 
                /* Disable everything but the primary plane */
@@ -15204,6 +15202,9 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
                         * recalculation.
                         */
                        crtc->base.state->mode.private_flags = I915_MODE_FLAG_INHERITED;
+
+                       drm_calc_timestamping_constants(&crtc->base, &crtc->base.hwmode);
+                       update_scanline_offset(crtc);
                }
        }
 }