[PATCH 1/3] drm/xe: Ensure caller uses sole domain for xe_force_wake_assert_held

Ghimiray, Himal Prasad himal.prasad.ghimiray at intel.com
Thu Jun 6 13:49:58 UTC 2024


On 06-06-2024 18:19, Michal Wajdeczko wrote:
> 
> 
> On 06.06.2024 14:41, Himal Prasad Ghimiray wrote:
>> xe_force_wake_assert_held() is designed to confirm a particular
>> forcewake domain's wakefulness; it doesn't verify the wakefulness of
>> multiple domains. Make sure the caller doesn't input multiple domains as
>> a parameter, this will ensure caller doesn't use xe_force_wake_assert_held
>> with XE_FORCEWAKE_ALL parameter.
>>
>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
>> Cc: Badal Nilawar <badal.nilawar at intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_force_wake.h | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
>> index 83cb157da7cc..cee8ff039f83 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>> @@ -32,6 +32,9 @@ static inline void
>>   xe_force_wake_assert_held(struct xe_force_wake *fw,
>>   			  enum xe_force_wake_domains domain)
>>   {
>> +	/* Ensure caller is not passing multiple domains */
>> +	xe_gt_assert(fw->gt, !(domain & (domain - 1)));
> 
> as all enumerators but XE_FORCEWAKE_ALL are defined as BIT then maybe it
> is sufficient to just use clear to understand:

Hmm. With the understanding the caller will not pass any random int 
value checking XE_FORCEWAKE_ALL should be enough.


> 
> 	xe_gt_assert(fw->gt, domain != XE_FORCEWAKE_ALL);
> 
>> +
>>   	xe_gt_assert(fw->gt, fw->awake_domains & domain);
>>   }
>>   


More information about the Intel-xe mailing list