[Intel-gfx] [v2] drm/i915/pps: improve eDP power on flow

Jani Nikula jani.nikula at linux.intel.com
Tue Nov 1 09:53:16 UTC 2022


On Mon, 24 Oct 2022, Lee Shawn C <shawn.c.lee at intel.com> wrote:
> A panel power off cycle delay always append before turn eDP on.
> Driver should check last_power_on and last_backlight_off before
> insert this delay. If these values are the same, it means eDP
> was off until now and driver can bypass power off cycle delay
> to save some times to speed up eDP power on sequence.
>
> v2: fix commit messages

There are more changes here than what the changelog says, but the
previous review comments were not answered [1].


BR,
Jani.


[1] https://lore.kernel.org/r/Y1afUdAwfVTACJoK@intel.com

>
> Cc: Shankar Uma <uma.shankar at intel.com>
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Lee Shawn C <shawn.c.lee at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_pps.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
> index 21944f5bf3a8..290473ec70d5 100644
> --- a/drivers/gpu/drm/i915/display/intel_pps.c
> +++ b/drivers/gpu/drm/i915/display/intel_pps.c
> @@ -509,6 +509,13 @@ static void wait_panel_power_cycle(struct intel_dp *intel_dp)
>  	ktime_t panel_power_on_time;
>  	s64 panel_power_off_duration;
>  
> +	/* When last_power_on equal to last_backlight_off, it means driver did not
> +	 * turn on or off eDP panel so far. So we can bypass power cycle delay to
> +	 * save some times here.
> +	 */
> +	if (intel_dp->pps.last_power_on == intel_dp->pps.last_backlight_off)
> +		return;
> +
>  	drm_dbg_kms(&i915->drm, "Wait for panel power cycle\n");
>  
>  	/* take the difference of current time and panel power off time
> @@ -1100,7 +1107,7 @@ static void pps_init_timestamps(struct intel_dp *intel_dp)
>  {
>  	intel_dp->pps.panel_power_off_time = ktime_get_boottime();
>  	intel_dp->pps.last_power_on = jiffies;
> -	intel_dp->pps.last_backlight_off = jiffies;
> +	intel_dp->pps.last_backlight_off = intel_dp->pps.last_power_on;
>  }
>  
>  static void

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list