amdgpu driver halted on suspend of shutdown
Alex Deucher
alexdeucher at gmail.com
Wed Sep 29 21:12:40 UTC 2021
On Wed, Sep 29, 2021 at 3:25 AM 李真能 <lizhenneng at 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
>
More information about the amd-gfx
mailing list