UVD doesn't survive a GPU crash on a Radeon HD 6770
@nmiell
Submitted by Nicholas Miell Assigned to Default DRI bug account
Description
UVD isn't reinitialized after a GPU crash.
GPU is a Radeon HD 6770, which is a Evergreen-based Juniper XT.
Kernel is 3.13.3-201.fc20.x86_64
X is xorg-x11-server-Xorg-1.14.4-6.fc20.x86_64
Mesa is current master (adad8fb2e947e3ea9e9d84cb3722e46de91346e4).
Reproducing:
- vdpauinfo's output before the crash:
Decoder capabilities:
name level macbs width height
-------------------------------------------
MPEG1 0 9216 2048 1152
MPEG2_SIMPLE 3 9216 2048 1152
MPEG2_MAIN 3 9216 2048 1152
H264_BASELINE 41 9216 2048 1152
H264_MAIN 41 9216 2048 1152
H264_HIGH 41 9216 2048 1152
VC1_SIMPLE 1 9216 2048 1152
VC1_MAIN 2 9216 2048 1152
VC1_ADVANCED 4 9216 2048 1152
2. Crash the GPU. DoubleFine's The Cave or Brütal Legend are good for this.
3. vdpauinfo's output after the crash:
Decoder capabilities:
name level macbs width height
-------------------------------------------
MPEG1 0 1048576 16384 16384
MPEG2_SIMPLE 3 1048576 16384 16384
MPEG2_MAIN 3 1048576 16384 16384
4. Relevant kernel logs:
radeon 0000:01:00.0: GPU lockup CP stall for more than 10104msec
radeon 0000:01:00.0: GPU lockup (waiting for 0x000000000012605f last fence id 0x0000000000126059 on ring 0)
[drm] Disabling audio 0 support
radeon 0000:01:00.0: Saved 311 dwords of commands on ring 0.
radeon 0000:01:00.0: GPU softreset: 0x00000009
radeon 0000:01:00.0: GRBM_STATUS = 0xF0001828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x80000003
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x40040000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00048002
radeon 0000:01:00.0: R_008680_CP_STAT = 0x80268643
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
radeon 0000:01:00.0: GRBM_STATUS = 0x00003828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x00000007
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000
radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GPU reset succeeded, trying to resume
[drm] PCIE gen 2 link speeds already enabled
[drm] PCIE GART of 1024M enabled (table at 0x000000000025D000).
radeon 0000:01:00.0: WB enabled
radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff88031ac2dc00
radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff88031ac2dc0c
radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000000005c418 and cpu addr 0xffffc9001219c418
[drm] ring test on 0 succeeded in 1 usecs
[drm] ring test on 3 succeeded in 1 usecs
[drm] ring test on 5 succeeded in 1 usecs
[drm] UVD initialized successfully.
[drm] Enabling audio 0 support
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
radeon 0000:01:00.0: GPU lockup CP stall for more than 10001msec
radeon 0000:01:00.0: GPU lockup (waiting for 0x0000000000126064 last fence id 0x0000000000126060 on ring 0)
[drm:r600_ib_test] *ERROR* radeon: fence wait failed (-35).
[drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on GFX ring (-35).
radeon 0000:01:00.0: ib ring test failed (-35).
[drm] Disabling audio 0 support
radeon 0000:01:00.0: GPU softreset: 0x00000009
radeon 0000:01:00.0: GRBM_STATUS = 0xF0001828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x80000003
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x40040000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00048000
radeon 0000:01:00.0: R_008680_CP_STAT = 0x80268643
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
radeon 0000:01:00.0: GRBM_STATUS = 0x00003828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x00000007
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000
radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GPU reset succeeded, trying to resume
CE: hpet increased min_delta_ns to 20115 nsec
CE: hpet increased min_delta_ns to 30172 nsec
[drm] PCIE gen 2 link speeds already enabled
[drm] PCIE GART of 1024M enabled (table at 0x000000000025D000).
radeon 0000:01:00.0: WB enabled
radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff88031ac2dc00
radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff88031ac2dc0c
radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000000005c418 and cpu addr 0xffffc9001219c418
[drm] ring test on 0 succeeded in 1 usecs
[drm] ring test on 3 succeeded in 1 usecs
[drm] ring test on 5 succeeded in 1 usecs
[drm] UVD initialized successfully.
[drm] Enabling audio 0 support
[drm] ib test on ring 0 succeeded in 0 usecs
[drm] ib test on ring 3 succeeded in 1 usecs
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
[drm:uvd_v1_0_ib_test] *ERROR* radeon: failed to get create msg (-22).
[drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on ring 5 (-22).
switching from power state:
ui class: none
internal class: boot
caps: video
uvd vclk: 0 dclk: 0
power level 0 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
power level 1 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
power level 2 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
status: c b
switching to power state:
ui class: performance
internal class: none
caps: single_disp video
uvd vclk: 0 dclk: 0
power level 0 sclk: 15700 mclk: 30000 vddc: 950 vddci: 0
power level 1 sclk: 50000 mclk: 110000 vddc: 1100 vddci: 0
power level 2 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
status: r
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
[drm] Disabling audio 0 support
radeon 0000:01:00.0: Saved 247 dwords of commands on ring 0.
radeon 0000:01:00.0: GPU softreset: 0x00000009
radeon 0000:01:00.0: GRBM_STATUS = 0xF0001828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x80000003
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x20000AC0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x40040000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00048006
radeon 0000:01:00.0: R_008680_CP_STAT = 0x80268647
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
radeon 0000:01:00.0: GRBM_STATUS = 0x00003828
radeon 0000:01:00.0: GRBM_STATUS_SE0 = 0x00000007
radeon 0000:01:00.0: GRBM_STATUS_SE1 = 0x00000007
radeon 0000:01:00.0: SRBM_STATUS = 0x200000C0
radeon 0000:01:00.0: SRBM_STATUS2 = 0x00000000
radeon 0000:01:00.0: R_008674_CP_STALLED_STAT1 = 0x00000000
radeon 0000:01:00.0: R_008678_CP_STALLED_STAT2 = 0x00000000
radeon 0000:01:00.0: R_00867C_CP_BUSY_STAT = 0x00000000
radeon 0000:01:00.0: R_008680_CP_STAT = 0x00000000
radeon 0000:01:00.0: R_00D034_DMA_STATUS_REG = 0x44C83D57
radeon 0000:01:00.0: GPU reset succeeded, trying to resume
[drm] PCIE gen 2 link speeds already enabled
[drm] PCIE GART of 1024M enabled (table at 0x000000000025D000).
radeon 0000:01:00.0: WB enabled
radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff88031ac2dc00
radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff88031ac2dc0c
radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000000005c418 and cpu addr 0xffffc9001219c418
[drm] ring test on 0 succeeded in 1 usecs
[drm] ring test on 3 succeeded in 1 usecs
[drm] ring test on 5 succeeded in 1 usecs
[drm] UVD initialized successfully.
[drm] Enabling audio 0 support
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
[drm] ib test on ring 0 succeeded in 0 usecs
[drm] ib test on ring 3 succeeded in 1 usecs
[drm:uvd_v1_0_ib_test] *ERROR* radeon: failed to get create msg (-22).
[drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on ring 5 (-22).
switching from power state:
ui class: none
internal class: boot
caps: video
uvd vclk: 0 dclk: 0
power level 0 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
power level 1 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
power level 2 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
status: c b
switching to power state:
ui class: performance
internal class: none
caps: single_disp video
uvd vclk: 0 dclk: 0
power level 0 sclk: 15700 mclk: 30000 vddc: 950 vddci: 0
power level 1 sclk: 50000 mclk: 110000 vddc: 1100 vddci: 0
power level 2 sclk: 80000 mclk: 110000 vddc: 1125 vddci: 0
status: r
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD
ALSA sound/pci/hda/hda_eld.c:684 HDMI ATI/AMD: no speaker allocation for ELD