[PATCH v1] drm/xe/guc: Disable lite restore for MTL

Julia Filipchuk julia.filipchuk at intel.com
Tue Mar 18 21:35:25 UTC 2025


On 3/18/2025 7:35 AM, Michal Wajdeczko wrote:
> 
> 
> On 18.03.2025 15:18, Zhanjun Dong wrote:
>> Lite restore for MTL is not POR for Xe, then disable it for MTL.
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong at intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_guc.c | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
>> index bc5714a5b36b..0c2629e578d9 100644
>> --- a/drivers/gpu/drm/xe/xe_guc.c
>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>> @@ -80,7 +80,9 @@ static u32 guc_ctl_debug_flags(struct xe_guc *guc)
>>  
>>  static u32 guc_ctl_feature_flags(struct xe_guc *guc)
>>  {
>> -	u32 flags = GUC_CTL_ENABLE_LITE_RESTORE;
>> +	u32 flags = (guc_to_xe(guc)->info.platform == XE_METEORLAKE) ?
>> +		    0 : GUC_CTL_ENABLE_LITE_RESTORE;
>> +
> 
> please avoid long conditional initialization code,
> all this could be done in a simpler/unified way:
> 
> 	struct xe_device *xe = guc_to_xe(guc);
> 	u32 flags = 0;
> 
> 	if (xe->info.platform != XE_METEORLAKE)
> 		flags |= GUC_CTL_ENABLE_LITE_RESTORE;
> 
>>  
>>  	if (!guc_to_xe(guc)->info.skip_guc_pc)
>>  		flags |= GUC_CTL_ENABLE_SLPC;
> 

Agreed with this suggestion for clarity. Since GUC_CTL_ENABLE_LITE_RESTORE is
the default suggest just clearing it for MTL instead of an enable-if-not.

	struct xe_device *xe = guc_to_xe(guc);
	u32 flags = GUC_CTL_ENABLE_LITE_RESTORE;

	if (xe->info.platform == XE_METEORLAKE)
		flags &= ~GUC_CTL_ENABLE_LITE_RESTORE;

	if (!xe->info.skip_guc_pc)
		flags |= GUC_CTL_ENABLE_SLPC;

Also, if updated the replace the additional guc_to_xe(guc) in the function.


Reviewed-by: Julia Filipchuk <julia.filipchuk at intel.com>


More information about the Intel-xe mailing list