Skip to content

Commit 1648725

Browse files
rodrigovividanvet
authored andcommitted
drm/i915: Don't let update_psr function actually enable PSR.
Being more conservative by enabling PSR only on psr_enable function. Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
1 parent 4704c57 commit 1648725

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

drivers/gpu/drm/i915/intel_dp.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1805,9 +1805,6 @@ static void intel_edp_psr_do_enable(struct intel_dp *intel_dp)
18051805
intel_edp_is_psr_enabled(dev))
18061806
return;
18071807

1808-
/* Setup PSR once */
1809-
intel_edp_psr_setup(intel_dp);
1810-
18111808
/* Enable PSR on the panel */
18121809
intel_edp_psr_enable_sink(intel_dp);
18131810

@@ -1824,6 +1821,9 @@ void intel_edp_psr_enable(struct intel_dp *intel_dp)
18241821
return;
18251822
}
18261823

1824+
/* Setup PSR once */
1825+
intel_edp_psr_setup(intel_dp);
1826+
18271827
if (intel_edp_psr_match_conditions(intel_dp) &&
18281828
!intel_edp_is_psr_enabled(dev))
18291829
intel_edp_psr_do_enable(intel_dp);
@@ -1848,12 +1848,16 @@ void intel_edp_psr_disable(struct intel_dp *intel_dp)
18481848

18491849
void intel_edp_psr_update(struct drm_device *dev)
18501850
{
1851+
struct drm_i915_private *dev_priv = dev->dev_private;
18511852
struct intel_encoder *encoder;
18521853
struct intel_dp *intel_dp = NULL;
18531854

18541855
if (!HAS_PSR(dev))
18551856
return;
18561857

1858+
if (!dev_priv->psr.setup_done)
1859+
return;
1860+
18571861
list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head)
18581862
if (encoder->type == INTEL_OUTPUT_EDP) {
18591863
intel_dp = enc_to_intel_dp(&encoder->base);

0 commit comments

Comments
 (0)