• Jani Nikula's avatar
    drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE · bc0bb9fd
    Jani Nikula authored
    The quirk was added as what I'd say was a stopgap measure in
    
    commit e85843be
    Author: Kamal Mostafa <kamal@canonical.com>
    Date:   Fri Jul 19 15:02:01 2013 -0700
    
        drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight
    
    without really digging into what was going on.
    
    Also, as mentioned in the related bug [1], having the quirk regressed
    some of the machines it was supposed to fix to begin with, and there
    were patches posted to disable the quirk on such machines [2]!
    
    The fact is, we do need the BLM_PCH_PWM_ENABLE bit set to have
    backlight. With the quirk, we've relied on BIOS to have set it, and our
    save/restore code to retain it. With the full backlight setup at enable,
    we have no place for things that rely on previous state.
    
    With the per platform hooks, we've also made a change in the PCH
    platform enable order: setting the backlight duty cycle between CPU and
    PCH PWM enable. Some experimenting and
    
    commit 770c1231
    Author: Takashi Iwai <tiwai@suse.de>
    Date:   Sat Aug 11 08:56:42 2012 +0200
    
        drm/i915: Fix blank panel at reopening lid
    
    indicate that we can't set the backlight before enabling CPU PWM; the
    value just won't stick. But AFAICT we should do it before enabling the
    PCH PWM.
    
    Finally, any fallout we should fix properly, preferrably without quirks,
    and absolutely without quirks that rely on existing state. With the per
    platform hooks have much more flexibility to adjust the sequence as
    required by platforms.
    
    [1] https://bugzilla.kernel.org/show_bug.cgi?id=47941
    [2] http://lkml.kernel.org/r/1378229848-29113-1-git-send-email-kamal@canonical.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    bc0bb9fd
intel_display.c 308 KB