NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: xsrc/56729 (amdgpu X driver nearly (but not quite) working)



> i booted amdgpu (RX550) on a recent -current system and the
> system hard hung when starting X11.  serial break does not
> give me ddb...

this turns out to be some unrelated issue.  i didn't have
amdgpu in my kernel at all (so this was vga0 attached,
and then something else hard hanging starting X.)

i'm able to run some basic stuff and it works fine, but
an issue i had a while back remains, if slightly different
in nature.

if i run 'mpv' in full-screen mode, the display becomes
corrupted in a wrong-palette-like way, but with damaged
interfaces that may have apps behind the foreground app
mixed in some how (eg, glxgears data.)  in the background
it seems that a ring becomes locked up and the drm tries
to reset, but ultimately ends up not working (you get
errors trying to initialise a parser after it claims
to succeed.)

the host survives a while without doing mpv in full screen.

you can see an example of the reset issue being triggered
twice in:
   https://github.com/riastradh/netbsd-src/issues/28

the mpv above exited, and i attempted to run another one,
which gave me eg:

amdgpu: amdgpu_cs_query_fence_status failed.
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.

messages from libdrm_amdgpu, and did nothing, so i ^C'd
it which turned it into a zombie.  crash shows this BT:

crash> bt/a ffff82ea1303a140
trace: pid 2000 lid 4093 at 0xffff8710b95be9b0
sleepq_block() at sleepq_block+0x13a
cv_wait() at cv_wait+0x49
linux_dma_fence_default_wait() at linux_dma_fence_default_wait+0x163
linux_dma_fence_wait_timeout() at linux_dma_fence_wait_timeout+0xde
linux_dma_fence_wait() at linux_dma_fence_wait+0x52
amdgpu_vm_fini() at amdgpu_vm_fini+0xa9
amdgpu_driver_postclose_kms() at amdgpu_driver_postclose_kms+0x133
drm_file_free() at drm_file_free+0x1a8
drm_close() at drm_close+0x60
closef() at closef+0x60
fd_free() at fd_free+0x1e4
exit1() at exit1+0x13e
sigexit() at sigexit+0x2e7
postsig() at sendsig
lwp_userret() at lwp_userret+0x20a
mi_userret() at mi_userret+0x249
syscall() at syscall+0x116
--- syscall (number 4) ---
syscall+0x116:
crash>



Home | Main Index | Thread Index | Old Index