> 

> > Rodrigo: And why here and not some upper layer? like in prepare....
> alan: wait_for_suspend does both the checking for idle as well as the 
> potential
> wedging if guc or hw has hung at this late state. if i call from the upper
> layer before this wait_for_suspend, it might be too early because the
> wait-for-idle could experience workloads completing and new 
> contexts-derigtrations
> being queued. If i call it from upper layer after wait_for_suspend, then it 
> would
> be unnecessary if wait_for_suspend decided to nuke everything. Hmmm.. but i 
> guess
> the latter could work too - since the nuke case would have emptied out the 
> link-list
> of that worker and so it would either run and do nothing or would not even be 
> queued.
> Would you rather i go that way? (i'll recheck with my team mates for 
> i-dotting/t-crossing
> discussion.

actually, after going up a layer, i realize the right place might be to insert
late stage worker-flushing into intel_uc_suspend (called from 
intel_gt_suspend_late)
which is also where the gsc worker is flushed. This will also mean we don't 
need to
create intel_uc_suspend_prepare for new plumbing.

Reply via email to