OSDN Git Service

drm/i915: Move assert_vblank_disabled() into intel_crtc_vblank_on()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 18 Nov 2019 16:44:23 +0000 (18:44 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 20 Nov 2019 15:43:47 +0000 (17:43 +0200)
Move the assert_vblank_disabled() into intel_crtc_vblank_on()
so that we don't have to inline it all over.

This does mean we now assert_vblank_disabled() during readout as well
but that is totally fine as it happens after drm_crtc_vblank_reset().
One can even argue it's what we want to do anyway to make sure
the reset actually happened.

Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191118164430.27265-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_display.c

index 61ba12c..5481056 100644 (file)
@@ -1838,6 +1838,7 @@ static void intel_crtc_vblank_on(const struct intel_crtc_state *crtc_state)
 {
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 
+       assert_vblank_disabled(&crtc->base);
        drm_crtc_set_max_vblank_count(&crtc->base,
                                      intel_crtc_max_vblank_count(crtc_state));
        drm_crtc_vblank_on(&crtc->base);
@@ -6547,7 +6548,6 @@ static void ironlake_crtc_enable(struct intel_crtc_state *pipe_config,
        if (pipe_config->has_pch_encoder)
                ironlake_pch_enable(state, pipe_config);
 
-       assert_vblank_disabled(crtc);
        intel_crtc_vblank_on(pipe_config);
 
        intel_encoders_enable(state, intel_crtc);
@@ -6713,7 +6713,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config,
        if (pipe_config->has_pch_encoder)
                lpt_pch_enable(state, pipe_config);
 
-       assert_vblank_disabled(crtc);
        intel_crtc_vblank_on(pipe_config);
 
        intel_encoders_enable(state, intel_crtc);
@@ -7089,7 +7088,6 @@ static void valleyview_crtc_enable(struct intel_crtc_state *pipe_config,
        dev_priv->display.initial_watermarks(state, pipe_config);
        intel_enable_pipe(pipe_config);
 
-       assert_vblank_disabled(crtc);
        intel_crtc_vblank_on(pipe_config);
 
        intel_encoders_enable(state, intel_crtc);
@@ -7149,7 +7147,6 @@ static void i9xx_crtc_enable(struct intel_crtc_state *pipe_config,
                intel_update_watermarks(intel_crtc);
        intel_enable_pipe(pipe_config);
 
-       assert_vblank_disabled(crtc);
        intel_crtc_vblank_on(pipe_config);
 
        intel_encoders_enable(state, intel_crtc);