If the backlight modulation frequency can't be extracted from the
registers or from VBT, use 200 Hz as the default. This may enable
backlight on some machines that previously failed.

Signed-off-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/i915/intel_panel.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index 2d1696386b0d..2b25497333de 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1393,14 +1393,18 @@ static u32 get_backlight_max_vbt(struct intel_connector 
*connector)
        u16 pwm_freq_hz = dev_priv->vbt.backlight.pwm_freq_hz;
        u32 pwm;
 
-       if (!pwm_freq_hz) {
-               DRM_DEBUG_KMS("backlight frequency not specified in VBT\n");
+       if (!panel->backlight.hz_to_pwm) {
+               DRM_DEBUG_KMS("backlight frequency conversion not supported\n");
                return 0;
        }
 
-       if (!panel->backlight.hz_to_pwm) {
-               DRM_DEBUG_KMS("backlight frequency setting from VBT currently 
not supported on this platform\n");
-               return 0;
+       if (pwm_freq_hz) {
+               DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n",
+                             pwm_freq_hz);
+       } else {
+               pwm_freq_hz = 200;
+               DRM_DEBUG_KMS("default backlight frequency %u Hz\n",
+                             pwm_freq_hz);
        }
 
        pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz);
@@ -1409,8 +1413,6 @@ static u32 get_backlight_max_vbt(struct intel_connector 
*connector)
                return 0;
        }
 
-       DRM_DEBUG_KMS("backlight frequency %u Hz from VBT\n", pwm_freq_hz);
-
        return pwm;
 }
 
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to