On Fri, Oct 26, 2018 at 07:34:42PM +0000, Souza, Jose wrote: > On Fri, 2018-10-26 at 21:01 +0300, Ville Syrjälä wrote: > > On Fri, Oct 26, 2018 at 05:53:47PM +0000, Souza, Jose wrote: > > > On Thu, 2018-10-25 at 18:17 -0700, José Roberto de Souza wrote: > > > > If a PSR error happened and the driver is reloaded, the > > > > EDP_PSR_IIR > > > > will still keep the error set even after the reset done in the > > > > irq_preinstall and irq_uninstall hooks. > > > > And enabling in this situation cause the screen to freeze in the > > > > first time that PSR HW tries to activate so lets keep PSR > > > > disabled > > > > to avoid any rendering problems. > > > > > > > > Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@xxxxxxxxx> > > > > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > > > > --- > > > > drivers/gpu/drm/i915/intel_psr.c | 13 +++++++++++++ > > > > 1 file changed, 13 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/i915/intel_psr.c > > > > b/drivers/gpu/drm/i915/intel_psr.c > > > > index 68201cc24d25..718270da1061 100644 > > > > --- a/drivers/gpu/drm/i915/intel_psr.c > > > > +++ b/drivers/gpu/drm/i915/intel_psr.c > > > > @@ -529,6 +529,19 @@ void intel_psr_compute_config(struct > > > > intel_dp > > > > *intel_dp, > > > > return; > > > > } > > > > > > > > + /* > > > > + * If a PSR error happened and the driver is reloaded, the > > > > EDP_PSR_IIR > > > > + * will still keep the error set even after the reset done in > > > > the > > > > + * irq_preinstall and irq_uninstall hooks. > > > > + * And enabling in this situation cause the screen to freeze in > > > > the > > > > + * first time that PSR HW tries to activate so lets keep PSR > > > > disabled > > > > + * to avoid any rendering problems. > > > > + */ > > > > + if (I915_READ(EDP_PSR_IIR) & EDP_PSR_ERROR(TRANSCODER_EDP)) { > > > > + DRM_DEBUG_KMS("PSR interruption error set\n"); > > > > + return; > > > > + } > > > > + > > > > if (IS_HASWELL(dev_priv) && > > > > I915_READ(HSW_STEREO_3D_CTL(crtc_state->cpu_transcoder)) & > > > > S3D_ENABLE) { > > > > > > diff --git a/drivers/gpu/drm/i915/intel_psr.c > > > b/drivers/gpu/drm/i915/intel_psr.c > > > index 68201cc24d25..47af87f45e03 100644 > > > --- a/drivers/gpu/drm/i915/intel_psr.c > > > +++ b/drivers/gpu/drm/i915/intel_psr.c > > > @@ -529,6 +529,22 @@ void intel_psr_compute_config(struct intel_dp > > > *intel_dp, > > > return; > > > } > > > > > > + /* > > > + * If a PSR error happened and the driver is reloaded, the > > > EDP_PSR_IIR > > > + * will still keep the error set even after the reset done > > > in > > > the > > > + * irq_preinstall and irq_uninstall hooks. > > > + * And enabling in this situation cause the screen to > > > freeze in > > > the > > > + * first time that PSR HW tries to activate so lets keep > > > PSR > > > disabled > > > + * to avoid any rendering problems. > > > + */ > > > + intel_runtime_pm_get(dev_priv); > > > + if (I915_READ(EDP_PSR_IIR) & EDP_PSR_ERROR(TRANSCODER_EDP)) > > > { > > > + intel_runtime_pm_put(dev_priv); > > > + DRM_DEBUG_KMS("PSR interruption error set\n"); > > > + return; > > > + } > > > + intel_runtime_pm_put(dev_priv); > > > > No hardware access in compute_config() > > Oh did not know that, I will fix that. > Thanks > > > > > > + > > > if (IS_HASWELL(dev_priv) && > > > I915_READ(HSW_STEREO_3D_CTL(crtc_state- > > > >cpu_transcoder)) & > > > S3D_ENABLE) { > > > > ^ > > This is nonsense. Don't follow the bad example. Also pls send a patch > > to > > kill this thing ;) > > Sure, I can't find any place setting HSW_STEREO_3D_CTL so I will just > remove it. > I guess we don't support stereo 3D at all. Not this form of it. -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx