drm/i915/bxt: add support for setting backlight freq from vbt
The only missing piece is the function to convert frequency to PWM register value. The PWM is based on 19.2 MHz clock, except for BXT A step, which is based on CDCLK, and which we ignore. 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-1-git-send-email-jani.nikula@intel.com
This commit is contained in:
parent
1802419957
commit
2dd6982e47
|
@ -1263,6 +1263,14 @@ static void intel_backlight_device_unregister(struct intel_connector *connector)
|
|||
}
|
||||
#endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */
|
||||
|
||||
/*
|
||||
* BXT: PWM clock frequency = 19.2 MHz.
|
||||
*/
|
||||
static u32 bxt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
||||
{
|
||||
return KHz(19200) / pwm_freq_hz;
|
||||
}
|
||||
|
||||
/*
|
||||
* SPT: This value represents the period of the PWM stream in clock periods
|
||||
* multiplied by 16 (default increment) or 128 (alternate increment selected in
|
||||
|
@ -1750,6 +1758,7 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
|
|||
panel->backlight.disable = bxt_disable_backlight;
|
||||
panel->backlight.set = bxt_set_backlight;
|
||||
panel->backlight.get = bxt_get_backlight;
|
||||
panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
|
||||
} else if (HAS_PCH_LPT(dev) || HAS_PCH_SPT(dev)) {
|
||||
panel->backlight.setup = lpt_setup_backlight;
|
||||
panel->backlight.enable = lpt_enable_backlight;
|
||||
|
|
Loading…
Reference in New Issue