aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 4a7ba5ea9ee3..d0c3f9b08387 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1545,12 +1545,21 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp)
1545 return false; 1545 return false;
1546 } 1546 }
1547 1547
1548 crtc = dig_port->base.base.crtc;
1549 if (crtc == NULL) {
1550 DRM_DEBUG_KMS("crtc not active for PSR\n");
1551 dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE;
1552 return false;
1553 }
1554
1555 intel_crtc = to_intel_crtc(crtc);
1548 if (!intel_crtc->active || !crtc->fb || !crtc->mode.clock) { 1556 if (!intel_crtc->active || !crtc->fb || !crtc->mode.clock) {
1549 DRM_DEBUG_KMS("crtc not active for PSR\n"); 1557 DRM_DEBUG_KMS("crtc not active for PSR\n");
1550 dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE; 1558 dev_priv->no_psr_reason = PSR_CRTC_NOT_ACTIVE;
1551 return false; 1559 return false;
1552 } 1560 }
1553 1561
1562 obj = to_intel_framebuffer(crtc->fb)->obj;
1554 if (obj->tiling_mode != I915_TILING_X || 1563 if (obj->tiling_mode != I915_TILING_X ||
1555 obj->fence_reg == I915_FENCE_REG_NONE) { 1564 obj->fence_reg == I915_FENCE_REG_NONE) {
1556 DRM_DEBUG_KMS("PSR condition failed: fb not tiled or fenced\n"); 1565 DRM_DEBUG_KMS("PSR condition failed: fb not tiled or fenced\n");