On Mon, 01 Dec 2014, Daniel Vetter <daniel.vet...@ffwll.ch> 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 <ch...@chris-wilson.co.uk>
> Date:   Thu Oct 18 21:07:01 2012 +0100
>
>     drm/i915: Add no-lvds quirk for Supermicro X7SPA-H
>
> Reported-by: Alexey Orishko <alexey.oris...@gmail.com>
> Cc: Alexey Orishko <alexey.oris...@gmail.com>
> Cc: sta...@vger.kernel.org
> Cc: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Francois Tigeot <ftig...@wolfpond.org>
> Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
>
> ---
>
> 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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to