[PATCH 2/2] drm/xe/lnl: Enable GuC SLPC DCC task

Cavitt, Jonathan jonathan.cavitt at intel.com
Fri Dec 20 16:31:53 UTC 2024


-----Original Message-----
From: Intel-xe <intel-xe-bounces at lists.freedesktop.org> On Behalf Of Rodrigo Vivi
Sent: Friday, December 20, 2024 7:30 AM
To: intel-xe at lists.freedesktop.org
Cc: Vivi, Rodrigo <rodrigo.vivi at intel.com>; Belgaumkar, Vinay <vinay.belgaumkar at intel.com>
Subject: [PATCH 2/2] drm/xe/lnl: Enable GuC SLPC DCC task
> 
> Enable DCC (Duty Cycle Control) in Lunar Lake.
> 
> DCC is the SLPC task that tries to keep
> the GT from operating inefficiently when thermally constrained.
> 
> Although the recommendation is to enable it, LNL GuC is leaving
> it disabled by default on LNL.
> 
> It would minimize the GT frequency oscilation on throttled
> scenarios, what could potentially reduce latencies.

s/oscilation/oscillation/
s/what/which/
But otherwise:
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt

> 
> v2: Move set_policies call after wait for running state, so
>     we ensure it is not overwritten. (Vinay)
> 
> Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc_pc.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
> index 9f9e0642c796..4233679036de 100644
> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
> @@ -956,6 +956,16 @@ static int pc_init_freqs(struct xe_guc_pc *pc)
>  	return ret;
>  }
>  
> +static int slpc_set_policies(struct xe_guc_pc *pc)
> +{
> +	struct xe_device *xe = pc_to_xe(pc);
> +
> +	if (xe->info.platform == XE_LUNARLAKE)
> +		return pc_action_set_param(pc, SLPC_PARAM_TASK_ENABLE_DCC, 1);
> +
> +	return 0;
> +}
> +
>  /**
>   * xe_guc_pc_start - Start GuC's Power Conservation component
>   * @pc: Xe_GuC_PC instance
> @@ -1000,6 +1010,10 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
>  		goto out;
>  	}
>  
> +	ret = slpc_set_policies(pc);
> +	if (ret)
> +		goto out;
> +
>  	ret = pc_init_freqs(pc);
>  	if (ret)
>  		goto out;
> -- 
> 2.47.1
> 
> 


More information about the Intel-xe mailing list