But keep in mind that a lot of ARM boards are simply not compliant to the PCIe specification and the hardware won't work correctly on those in general.
I'm pretty sure you have one of those cases here.
Christian.
Am 30.09.21 um 03:26 schrieb 李真能:
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