mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
drm/xe/vf: Abort H2G sends during VF post-migration recovery
While VF post-migration recovery is in progress, abort H2G sends with -ECANCEL. These messages are treated as lost, and TLB invalidation errors are suppressed. During this phase, the H2G channel is down, and VF recovery requires the CT lock to proceed. v3: - Use xe_gt_recovery_inprogress (Michal) Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://lore.kernel.org/r/20251008214532.3442967-11-matthew.brost@intel.com
This commit is contained in:
parent
e1587f1660
commit
489d890a39
|
|
@ -851,7 +851,7 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
|
|||
u32 len, u32 g2h_len, u32 num_g2h,
|
||||
struct g2h_fence *g2h_fence)
|
||||
{
|
||||
struct xe_gt *gt __maybe_unused = ct_to_gt(ct);
|
||||
struct xe_gt *gt = ct_to_gt(ct);
|
||||
u16 seqno;
|
||||
int ret;
|
||||
|
||||
|
|
@ -872,7 +872,7 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (ct->state == XE_GUC_CT_STATE_STOPPED) {
|
||||
if (ct->state == XE_GUC_CT_STATE_STOPPED || xe_gt_recovery_pending(gt)) {
|
||||
ret = -ECANCELED;
|
||||
goto out;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user