[Bug 110509] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 29 22:41:26 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=110509

--- Comment #8 from James.Dutton at gmail.com ---
Thank you for the feedback.
Is there a data sheet somewhere that might help me work out a fix for this.
What I would like is:
1) A way to scan all the engines and detect which ones have hung.
2) A way to intentionally halt an engine and tidy up. So that the modprobe,
rmmod, modprobe scenario works. 
3) data sheet details regarding how to un-hang each engine.
Specifically, in this case the IP block <dm>.

Maybe that is not possible, and (I think you are hinting at it), one cannot
reset an individual IP block. So the approach is to suspend the card, and then
do a full reset of the entire card, then resume.

I think a different suspend process would be better.
We have a for_each within the suspend code. The output of that code should not
be a single error code, but instead an array indicating the current state of
each engine (running/hung), the intended state and status of whether the
intention worked or failed. If the loop through the for_each, it could compare
the current state and intended state, and attempt to reach the intended state,
and report an error code for each engine. Then the code to achieve the
transition can been different depending on the current -> intended transition.
i.e. code for running -> suspended, can be different than code for hung ->
suspended. The code already needs to know which engines are enabled/disabled 
(Vega 56 vs Vega 64)

I can hang this IP block <dm> at will. I have 2 games that hang it within
seconds of starting.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190429/be549e14/attachment-0001.html>


More information about the dri-devel mailing list