So, Can I remove suspend process in amdgpu_pci_shutdown if I don't use amdgpu driver in vm?
Thank you so much for your reply!
在 2021/9/30 上午5:12, Alex Deucher 写道:
On Wed, Sep 29, 2021 at 3:25 AM 李真能 <lizhenneng@xxxxxxxxxx> 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: arm64I 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. AlexGraphics card: r7340(amdgpu), rx550 OS: ubuntu 2004