mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
drm/xe/guc: Accumulate CT H2G retry sleep budget
guc_ct_send_wait_for_retry() introduced sleep_total_ms as a
budget guard, but never incremented it. As a result, the
"about 1 second" bailout condition never triggers in the H2G
backpressure path.
Accumulate the delay returned by xe_sleep_exponential_ms() into
sleep_total_ms so the timeout logic works as intended.
Fixes: 943c4d0637 ("drm/xe/guc: Limit sleep while waiting for H2G credits")
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20260223162350.3205364-5-shuicheng.lin@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
This commit is contained in:
parent
4953d806a4
commit
8313c938dc
|
|
@ -1124,7 +1124,7 @@ static bool guc_ct_send_wait_for_retry(struct xe_guc_ct *ct, u32 len,
|
|||
h2g->info.size,
|
||||
h2g->info.space,
|
||||
len + GUC_CTB_HDR_LEN);
|
||||
xe_sleep_exponential_ms(sleep_period_ms, 64);
|
||||
*sleep_total_ms += xe_sleep_exponential_ms(sleep_period_ms, 64);
|
||||
} else {
|
||||
struct xe_device *xe = ct_to_xe(ct);
|
||||
struct guc_ctb *g2h = &ct->ctbs.g2h;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user