OSDN Git Service

drm/i915: keep backlight_enable on until turn eDP display off
authorLee Shawn C <shawn.c.lee@intel.com>
Thu, 24 Jun 2021 05:39:32 +0000 (13:39 +0800)
committerJani Nikula <jani.nikula@intel.com>
Thu, 24 Jun 2021 08:19:49 +0000 (11:19 +0300)
commitcdad39216afd08efece616c419fde2e7826b11af
tree10e5885015121084ad214d710833968002555557
parent8b95b28047da740484acd8098d2a0ea1ca3bf1ef
drm/i915: keep backlight_enable on until turn eDP display off

This workaround is specific for a particular panel on Google
chromebook project. When user space daemon enter idle state.
It request adjust brightness to 0, turn backlight_enable signal
off and keep eDP main link active.

On general LCD, this behavior might not be a problem.
But on this panel, its tcon would expect source to execute
full eDP power off sequence after drop backlight_enable signal.
Without eDP power off sequence. Even source try to turn
backlight_enable signal on and restore proper brightness level.
This panel is not able to light on again.

This WA ignored the request from user space daemon to disable
backlight_enable signal and keep it on always. When user space
request kernel to turn eDP display off, kernel driver still
can control backlight_enable signal properly. It would not
impact standard eDP power off sequence.

v2: 1. modify the quirk name and debug messages.
    2. unregister backlight.power callback for specific device.
v3: 1. modify debug output messages.
    2. use DMI_EXACT_MATCH instead of DMI_MATCH.

Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Cooper Chiou <cooper.chiou@intel.com>
Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210624053932.21037-1-shawn.c.lee@intel.com
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_quirks.c
drivers/gpu/drm/i915/i915_drv.h