So, Can I remove suspend process in amdgpu_pci_shutdown if I don't use
amdgpu driver in vm?
Thank you so much foryour reply!
在 2021/9/30 上午5:12, Alex Deucher 写道:
On Wed, Sep 29, 2021 at 3:25 AM 李真能 <[email protected]> wrote:
Hello:
When I do loop auto test of reboot, I found kernel may halt
on memcpy_fromio of amdgpu's amdgpu_uvd_suspend, so I remove suspend
process in amdgpu_pci_shutdown, and it will fix this bug.
I have 3 questions to ask:
1. In amdgpu_pci_shutdown, the comment explains why we must execute
suspend, so I know VM will call amdgpu driver in which situations, as I
know, VM's graphics card is a virtual card;
2. I see a path that is commited by Alex Deucher, the commit message is
as follows:
drm/amdgpu: just suspend the hw on pci shutdown
We can't just reuse pci_remove as there may be userspace still
doing things.
My question is:In which situations, there may be userspace till doing
things.
3. Why amdgpu driver is halted on memcpy_fromio of amdgpu_uvd_suspend, I
haven't launch any video app during reboot test, is it the bug of pci bus?
Test environment:
CPU: arm64
I suspect the problem is something ARM specific. IIRC, we added the
memcpy_fromio() to work around a limitation in ARM related to CPU
mappings of PCI BAR memory. The whole point of the PCI shutdown
callback is to put the device into a quiescent state (e.g., stop all
DMAs and asynchronous engines, etc.). Some of that tear down requires
access to PCI BARs.
Alex
Graphics card: r7340(amdgpu), rx550
OS: ubuntu 2004