Merge tag 'drm-misc-next-2020-06-19' of git://anongit.freedesktop.org/drm/drm-misc...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / display / intel_dp.c
index ed9e53c373a766250945e6ba74c7a69e1e94c1bc..cc525fda441af8ea8da7e361686838dc8db08954 100644 (file)
@@ -7694,7 +7694,7 @@ static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,
                return;
        }
 
-       if (intel_dp->attached_connector->panel.downclock_mode->vrefresh ==
+       if (drm_mode_vrefresh(intel_dp->attached_connector->panel.downclock_mode) ==
                        refresh_rate)
                index = DRRS_LOW_RR;
 
@@ -7807,7 +7807,7 @@ void intel_edp_drrs_disable(struct intel_dp *intel_dp,
 
        if (dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR)
                intel_dp_set_drrs_state(dev_priv, old_crtc_state,
-                       intel_dp->attached_connector->panel.fixed_mode->vrefresh);
+                       drm_mode_vrefresh(intel_dp->attached_connector->panel.fixed_mode));
 
        dev_priv->drrs.dp = NULL;
        mutex_unlock(&dev_priv->drrs.mutex);
@@ -7840,7 +7840,7 @@ static void intel_edp_drrs_downclock_work(struct work_struct *work)
                struct drm_crtc *crtc = dp_to_dig_port(intel_dp)->base.base.crtc;
 
                intel_dp_set_drrs_state(dev_priv, to_intel_crtc(crtc)->config,
-                       intel_dp->attached_connector->panel.downclock_mode->vrefresh);
+                       drm_mode_vrefresh(intel_dp->attached_connector->panel.downclock_mode));
        }
 
 unlock:
@@ -7860,6 +7860,7 @@ unlock:
 void intel_edp_drrs_invalidate(struct drm_i915_private *dev_priv,
                               unsigned int frontbuffer_bits)
 {
+       struct intel_dp *intel_dp;
        struct drm_crtc *crtc;
        enum pipe pipe;
 
@@ -7869,12 +7870,14 @@ void intel_edp_drrs_invalidate(struct drm_i915_private *dev_priv,
        cancel_delayed_work(&dev_priv->drrs.work);
 
        mutex_lock(&dev_priv->drrs.mutex);
-       if (!dev_priv->drrs.dp) {
+
+       intel_dp = dev_priv->drrs.dp;
+       if (!intel_dp) {
                mutex_unlock(&dev_priv->drrs.mutex);
                return;
        }
 
-       crtc = dp_to_dig_port(dev_priv->drrs.dp)->base.base.crtc;
+       crtc = dp_to_dig_port(intel_dp)->base.base.crtc;
        pipe = to_intel_crtc(crtc)->pipe;
 
        frontbuffer_bits &= INTEL_FRONTBUFFER_ALL_MASK(pipe);
@@ -7883,7 +7886,7 @@ void intel_edp_drrs_invalidate(struct drm_i915_private *dev_priv,
        /* invalidate means busy screen hence upclock */
        if (frontbuffer_bits && dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR)
                intel_dp_set_drrs_state(dev_priv, to_intel_crtc(crtc)->config,
-                       dev_priv->drrs.dp->attached_connector->panel.fixed_mode->vrefresh);
+                                       drm_mode_vrefresh(intel_dp->attached_connector->panel.fixed_mode));
 
        mutex_unlock(&dev_priv->drrs.mutex);
 }
@@ -7903,6 +7906,7 @@ void intel_edp_drrs_invalidate(struct drm_i915_private *dev_priv,
 void intel_edp_drrs_flush(struct drm_i915_private *dev_priv,
                          unsigned int frontbuffer_bits)
 {
+       struct intel_dp *intel_dp;
        struct drm_crtc *crtc;
        enum pipe pipe;
 
@@ -7912,12 +7916,14 @@ void intel_edp_drrs_flush(struct drm_i915_private *dev_priv,
        cancel_delayed_work(&dev_priv->drrs.work);
 
        mutex_lock(&dev_priv->drrs.mutex);
-       if (!dev_priv->drrs.dp) {
+
+       intel_dp = dev_priv->drrs.dp;
+       if (!intel_dp) {
                mutex_unlock(&dev_priv->drrs.mutex);
                return;
        }
 
-       crtc = dp_to_dig_port(dev_priv->drrs.dp)->base.base.crtc;
+       crtc = dp_to_dig_port(intel_dp)->base.base.crtc;
        pipe = to_intel_crtc(crtc)->pipe;
 
        frontbuffer_bits &= INTEL_FRONTBUFFER_ALL_MASK(pipe);
@@ -7926,7 +7932,7 @@ void intel_edp_drrs_flush(struct drm_i915_private *dev_priv,
        /* flush means busy screen hence upclock */
        if (frontbuffer_bits && dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR)
                intel_dp_set_drrs_state(dev_priv, to_intel_crtc(crtc)->config,
-                               dev_priv->drrs.dp->attached_connector->panel.fixed_mode->vrefresh);
+                                       drm_mode_vrefresh(intel_dp->attached_connector->panel.fixed_mode));
 
        /*
         * flush also means no more activity hence schedule downclock, if all