Op 17-12-2018 om 15:19 schreef Hans de Goede: > When the pipe_config's update_pipe flag is set we may need to update the > panel fitting settings. On GEN9+ this means we need to update the crtc's > scaler settings. > > This fixes the following WARN_ON, during i915 loading on an Asrock > B150M Pro4S/D3 board with an i5-6500 CPU / graphics: > > [drm:pipe_config_err [i915]] *ERROR* mismatch in pch_pfit.enabled > (expected no, found yes) > pipe state doesn't match! > WARNING: CPU: 3 PID: 305 at drivers/gpu/drm/i915/intel_display.c:12084 > > With line 12084 being the I915_STATE_WARN call inside the > "if (!intel_pipe_config_compare())" block in verify_crtc_state(). > > On this board with 2 1920x1080 monitors connected over HDMI the GOP > initializes both monitors at 1920x1080 and despite no scaling being > necessary configures a scaler for one of them. > > When booting with fastboot=1 on the initial modeset needs_modeset will > be false while update_pipe is true. Since we were not calling > skl_update_scaler_crtc() in this case we would leave the scaler enabled > causing this error. > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 62df34d30b1f..df32626e0810 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -10919,7 +10919,7 @@ static int intel_crtc_atomic_check(struct drm_crtc *crtc, > } > > if (INTEL_GEN(dev_priv) >= 9) { > - if (mode_changed) > + if (mode_changed || pipe_config->update_pipe) > ret = skl_update_scaler_crtc(pipe_config); > > if (!ret) Ah, the missing bit.. https://patchwork.freedesktop.org/series/54127/ Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel