[Intel-gfx] [PATCH] drm/i915/dp: Backlight PWM enable before BL Enable assert
Jani Nikula
jani.nikula at linux.intel.com
Fri Aug 15 14:14:01 CEST 2014
On Fri, 15 Aug 2014, clinton.a.taylor at intel.com wrote:
> From: Clint Taylor <clinton.a.taylor at intel.com>
>
> Backlight on delay uses PWM enable time to seperate PWM to
> backlight enable assert. Previous time difference used timing
> from VDD enable which occur several seconds before resulting
> in PWM starting 5ms after backlight enable. Changes to backlight
> duty cycle take affect at the end of the current PWM cycle.
> Measured time for the PWM cycle is 5ms. 5 additional ms must be
> added to the backlight_on_delay to get correct VBT timing of
> PWM to backlight enable assert.
The patch seems sane, but I'd like you to rebase this on top of patch
1/4 of my backlight series [1] so I can queue them both to
drm-intel-fixes. Then we'll have fewer conflicts with the rest of the
backlight series going forward.
Hint hint, I'd also appreciate review of my backlight series. ;)
BR,
Jani.
[1] http://mid.gmane.org/e7a47b50ed0f25cafdc26711fc09561ea8af3b81.1407849872.git.jani.nikula@intel.com
>
> Change-Id: I484999a597fd84dacf4cf99a168ec9ba4bb6ff11
> Signed-off-by: Clint Taylor <clinton.a.taylor at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 6 ++++--
> drivers/gpu/drm/i915/intel_drv.h | 1 +
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index e5ada4f..c59ccdb 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1141,7 +1141,7 @@ static void wait_panel_power_cycle(struct intel_dp *intel_dp)
>
> static void wait_backlight_on(struct intel_dp *intel_dp)
> {
> - wait_remaining_ms_from_jiffies(intel_dp->last_power_on,
> + wait_remaining_ms_from_jiffies(intel_dp->last_backlight_on,
> intel_dp->backlight_on_delay);
> }
>
> @@ -1398,6 +1398,7 @@ void intel_edp_backlight_on(struct intel_dp *intel_dp)
> DRM_DEBUG_KMS("\n");
>
> intel_panel_enable_backlight(intel_dp->attached_connector);
> + intel_dp->last_backlight_on = jiffies;
>
> /*
> * If we enable the backlight right away following a panel power
> @@ -4243,9 +4244,10 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
> assign_final(t11_t12);
> #undef assign_final
>
> +#define PWM_CYCLE_DELAY 5
> #define get_delay(field) (DIV_ROUND_UP(final.field, 10))
> intel_dp->panel_power_up_delay = get_delay(t1_t3);
> - intel_dp->backlight_on_delay = get_delay(t8);
> + intel_dp->backlight_on_delay = get_delay(t8) + PWM_CYCLE_DELAY;
> intel_dp->backlight_off_delay = get_delay(t9);
> intel_dp->panel_power_down_delay = get_delay(t10);
> intel_dp->panel_power_cycle_delay = get_delay(t11_t12);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 3abc915..ad6fcc1 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -556,6 +556,7 @@ struct intel_dp {
> bool want_panel_vdd;
> unsigned long last_power_cycle;
> unsigned long last_power_on;
> + unsigned long last_backlight_on;
> unsigned long last_backlight_off;
>
> struct notifier_block edp_notifier;
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list