drm/i915: use default 200 Hz backlight frequency
authorJani Nikula <jani.nikula@intel.com>
Tue, 1 Dec 2015 08:23:51 +0000 (10:23 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 2 Dec 2015 08:09:57 +0000 (10:09 +0200)
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.

Reviewed-by: Imre Deak <imre.deak@intel.com>
Tested-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448958232-26520-2-git-send-email-jani.nikula@intel.com
drivers/gpu/drm/i915/intel_panel.c

index 2d16963..2b25497 100644 (file)
@@ -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;
 }