mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
drm/xe/guc_submit: Simplify and fix diff calculation
With a u32 type, there's no need to check which one is greater: the current is always the latest and if it's less than the previous, it's because it wrapped: just do the unsigned calculation that will lead to the same result, or better the correct one. It fixes an off-by-one in the wrapped calculation, however that doesn't really matter for the timeout calculation. Reviewed-by: Raag Jadav <raag.jadav@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://lore.kernel.org/r/20250513-time-wrap-v1-1-fba9a69a65c8@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
@@ -976,10 +976,7 @@ static bool check_timeout(struct xe_exec_queue *q, struct xe_sched_job *job)
|
||||
*/
|
||||
xe_gt_assert(gt, timeout_ms < 100 * MSEC_PER_SEC);
|
||||
|
||||
if (ctx_timestamp < ctx_job_timestamp)
|
||||
diff = ctx_timestamp + U32_MAX - ctx_job_timestamp;
|
||||
else
|
||||
diff = ctx_timestamp - ctx_job_timestamp;
|
||||
diff = ctx_timestamp - ctx_job_timestamp;
|
||||
|
||||
/*
|
||||
* Ensure timeout is within 5% to account for an GuC scheduling latency
|
||||
|
||||
Reference in New Issue
Block a user