On Mon, 01 Dec 2014, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > Otherwise we'll have backtraces in assert_panel_unlocked because the > BIOS locks the register. In the reporter's case this regression was > introduced in > > commit c31407a3672aaebb4acddf90944a114fa5c8af7b > Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Date: Thu Oct 18 21:07:01 2012 +0100 > > drm/i915: Add no-lvds quirk for Supermicro X7SPA-H > > Reported-by: Alexey Orishko <alexey.orishko@xxxxxxxxx> > Cc: Alexey Orishko <alexey.orishko@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Francois Tigeot <ftigeot@xxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > > --- > > Alexey, please test this patch. > > Thanks, Daniel > --- > drivers/gpu/drm/i915/intel_lvds.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index c03d457a5150..14654d628ca4 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -899,6 +899,17 @@ void intel_lvds_init(struct drm_device *dev) > int pipe; > u8 pin; > > + /* > + * Unlock registers and just leave them unlocked. Do this before > + * checking quirk lists to avoid bogus WARNINGs. > + */ > + if (HAS_PCH_SPLIT(dev)) { > + I915_WRITE(PCH_PP_CONTROL, > + I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS); > + } else { > + I915_WRITE(PP_CONTROL, > + I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS); > + } Ugh, this is bogus for vlv/chv. Jani. > if (!intel_lvds_supported(dev)) > return; > > @@ -1097,17 +1108,6 @@ out: > lvds_encoder->a3_power = I915_READ(lvds_encoder->reg) & > LVDS_A3_POWER_MASK; > > - /* > - * Unlock registers and just > - * leave them unlocked > - */ > - if (HAS_PCH_SPLIT(dev)) { > - I915_WRITE(PCH_PP_CONTROL, > - I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS); > - } else { > - I915_WRITE(PP_CONTROL, > - I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS); > - } > lvds_connector->lid_notifier.notifier_call = intel_lid_notify; > if (acpi_lid_notifier_register(&lvds_connector->lid_notifier)) { > DRM_DEBUG_KMS("lid notifier registration failed\n"); > -- > 2.1.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx