Well you could remove it locally if it solves your problem at hand.
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 foryour reply!
在 2021/9/30 上午5:12, Alex Deucher 写道:
On Wed, Sep 29, 2021 at 3:25 AM 李真能<lizhenn...@kylinos.cn> 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