• Jeremiah Mahler's avatar
    drm/i915: fix inconsistent brightness after resume · 13f3fbe8
    Jeremiah Mahler authored
    commit 6dda730e
    Author: Jani Nikula <jani.nikula@intel.com>
    Date:   Tue Jun 24 18:27:40 2014 +0300
    
        drm/i915: respect the VBT minimum backlight brightness
    
    introduced a bug which resulted in inconsistent brightness levels on
    different machines. If a suspended was entered with the screen off some
    machines would resume with the screen at minimum brightness and others
    at maximum brightness.
    
    The following commands can be used to produce this behavior.
    
      xset dpms force off
      sleep 1
      sudo systemctl suspend
      (resume ...)
    
    The root cause of this problem is a comparison which checks to see if
    the backlight level is zero when the panel is enabled.  If it is zero,
    it is set to the maximum level.  Unfortunately, not all machines have a
    minimum level of zero. On those machines the level is left at the
    minimum instead of begin set to the maximum.
    
    Fix the bug by updating the comparison to check for the minimum
    backlight level instead of zero.  Also, expand the comparison for
    the possible case when the level is less than the minimum.
    
    Fixes: 6dda730e ("respect the VBT minimum backlight brightness")
    Signed-off-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    13f3fbe8
intel_panel.c 41.8 KB