From c9a50caa46e658699056a3ec1366e7426e9e0434 Mon Sep 17 00:00:00 2001 From: Rodrigo Vivi Date: Fri, 21 Aug 2015 09:38:22 -0700 Subject: [PATCH] XXX: For Ivan debuging only... According to Ivan log DRRS is enabled so let's avoid it and also let's grab some info on PSR flow. --- drivers/gpu/drm/i915/intel_dp.c | 3 +++ drivers/gpu/drm/i915/intel_psr.c | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index d32ce48..5e17bf5 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -5463,6 +5463,9 @@ void intel_edp_drrs_enable(struct intel_dp *intel_dp) struct drm_crtc *crtc = dig_port->base.base.crtc; struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + /* Force DRRS disabled for a PSR debug */ + return; + if (!intel_crtc->config->has_drrs) { DRM_DEBUG_KMS("Panel doesn't support DRRS\n"); return; diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c index 7517207..a32dba1 100644 --- a/drivers/gpu/drm/i915/intel_psr.c +++ b/drivers/gpu/drm/i915/intel_psr.c @@ -349,6 +349,7 @@ static void intel_psr_activate(struct intel_dp *intel_dp) else vlv_psr_activate(intel_dp); + DRM_ERROR("PSR Active\n"); dev_priv->psr.active = true; } @@ -447,10 +448,13 @@ void intel_psr_enable(struct intel_dp *intel_dp) * - On HSW/BDW we get a recoverable frozen screen until next * exit-activate sequence. */ - if (INTEL_INFO(dev)->gen < 9) + if (INTEL_INFO(dev)->gen < 9) { + DRM_ERROR("PSR Scheduling first activation to 500ms\n"); schedule_delayed_work(&dev_priv->psr.work, msecs_to_jiffies(500)); + } + DRM_ERROR("PSR Enabled\n"); dev_priv->psr.enabled = intel_dp; unlock: mutex_unlock(&dev_priv->psr.lock); @@ -508,6 +512,7 @@ static void hsw_psr_disable(struct intel_dp *intel_dp) & ~VIDEO_DIP_ENABLE_VSC_HSW); POSTING_READ(ctl_reg); + DRM_ERROR("PSR Disabled\n"); dev_priv->psr.active = false; } else { WARN_ON(I915_READ(EDP_PSR_CTL(dev)) & EDP_PSR_ENABLE); @@ -629,6 +634,8 @@ static void intel_psr_exit(struct drm_device *dev) DP_SET_POWER_D0); } + DRM_ERROR("PSR Exit\n"); + WARN_ON(1); dev_priv->psr.active = false; } @@ -753,9 +760,12 @@ void intel_psr_flush(struct drm_device *dev, intel_psr_exit(dev); if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits) - if (!work_busy(&dev_priv->psr.work.work)) + if (!work_busy(&dev_priv->psr.work.work)) { schedule_delayed_work(&dev_priv->psr.work, msecs_to_jiffies(delay_ms)); + DRM_ERROR("PSR Scheduling re-activation\n"); + WARN_ON(1); + } mutex_unlock(&dev_priv->psr.lock); } -- 2.4.3