[Regression 3.14-rc2] drm/i915: Brightness adjustment is broken in 945GM

Luis Ortega luiorpe1 at upv.es
Thu Feb 13 07:34:58 PST 2014


Hi, testing 3.14-rc2 I noticed I could not adjust the brightness of the
screen any longer. This problem is already present in 3.14-rc1. 3.13 works fine.

My hardware is a netbook with intel atom and a 945GM graphics card.

I bisected the problem down to the next commit:

bc0bb9fd1c7810407ab810d204bbaecb255fddde is the first bad commit
commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
Author: Jani Nikula <jani.nikula at intel.com>
Date:   Thu Nov 14 12:14:29 2013 +0200

    drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE
    
    The quirk was added as what I'd say was a stopgap measure in
    
    commit e85843bec6c2ea7c10ec61238396891cc2b753a9
    Author: Kamal Mostafa <kamal at 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 770c12312ad617172b1a65b911d3e6564fc5aca8
    Author: Takashi Iwai <tiwai at 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.com
    
    Signed-off-by: Jani Nikula <jani.nikula at intel.com>
    Reviewed-by: Imre Deak <imre.deak at intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>


Additionally, when I had narrowed the problem to around 11 commits all the
resulting kernel I compiled made the screen blink and shake from left to right
non-stop. In the -rc kernels this doesn't happen. Thought it was worth
mentioning.


More information about the dri-devel mailing list