Xvideo errors on RV710 "timeout going to reset GPU" with 6.13.0 and recent kernel versions

Marco Schinkel schinkelm at web.de
Fri Apr 16 14:53:21 PDT 2010


Hello Alex,

Am 16.04.2010 16:27, schrieb Alex Deucher:
> On Thu, Apr 15, 2010 at 1:49 PM, Marco Schinkel <schinkelm at web.de> wrote:
>> Hello,
>>
>> as of recently I cannot use Xvideo on my RV710 PCI card anymore.
>> I updated to X.Org X Server 1.8.0 with xf86-video-ati 6.13.0, recent
>> libraries and 2.6.33.2 kernel (tried 2.6.34-rc4 too, same problem).
>>
>> Normal X display works without problems, but as soon as I start vlc or
>> mplayer with Xvideo output the picture hangs or gets corrupted (black
>> screen, some coloured line at the top). There are no messages in the
>> Xorg log but the kernel spits out the following (repeating every few
>> seconds until I stop the X server):
>>
>>
>> [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
>> [drm:radeon_fence_wait] *ERROR* fence(ffff880213c34580:0x00000020) 3ms
>> timeout
>> [drm:radeon_fence_wait] *ERROR* last signaled fence(0x00000020)
>> [drm:radeon_fence_wait] *ERROR* fence(ffff880213d3cd00:0x00000022) 505ms
>> timeout going to reset GPU
>> radeon 0000:12:00.0: GPU softreset
>> radeon 0000:12:00.0:   R_008010_GRBM_STATUS=0xE57044A4
>> radeon 0000:12:00.0:   R_008014_GRBM_STATUS2=0x00113302
>> radeon 0000:12:00.0:   R_000E50_SRBM_STATUS=0x200030C0
>> radeon 0000:12:00.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
>> radeon 0000:12:00.0: R_008020_GRBM_SOFT_RESET=0x00000001
>> radeon 0000:12:00.0:   R_000E60_SRBM_SOFT_RESET=0x00000C02
>> radeon 0000:12:00.0:   R_008010_GRBM_STATUS=0x00003028
>> radeon 0000:12:00.0:   R_008014_GRBM_STATUS2=0x00000002
>> radeon 0000:12:00.0:   R_000E50_SRBM_STATUS=0x200000C0
>> [drm:radeon_fence_wait] *ERROR* fence(ffff880213d3cd00:0x00000022) 578ms
>> timeout
>> [drm:radeon_fence_wait] *ERROR* last signaled fence(0x00000022)
>> [drm:radeon_fence_wait] *ERROR* fence(ffff880213d61c40:0x00000023) 510ms
>> timeout going to reset GPU
>> radeon 0000:12:00.0: GPU softreset
>> radeon 0000:12:00.0:   R_008010_GRBM_STATUS=0xA0003028
>> radeon 0000:12:00.0:   R_008014_GRBM_STATUS2=0x00000002
>> radeon 0000:12:00.0:   R_000E50_SRBM_STATUS=0x200000C0
>> radeon 0000:12:00.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
>> radeon 0000:12:00.0: R_008020_GRBM_SOFT_RESET=0x00000001
>> radeon 0000:12:00.0:   R_000E60_SRBM_SOFT_RESET=0x00000402
>> radeon 0000:12:00.0:   R_008010_GRBM_STATUS=0xFFFFFFFF
>> radeon 0000:12:00.0:   R_008014_GRBM_STATUS2=0xFFFFFFFF
>> radeon 0000:12:00.0:   R_000E50_SRBM_STATUS=0x200000C0
>>
>>
>> Unfortunately I cannot interprete this completely. The RV710 is on a PCI
>> card (not PCIe). I wonder if the timeout may be too low or something
>> similar. The card is used for playing videos and only connected to a
>> projector and running as single card, single screen with a dedicated X
>> server.
>>
>> The RV670 used as primary card with two LCDs works perfectly with Xvideo
>> on the same Kernel/Xorg/Driver versions, so it is not a "recompile with
>> the newer libraries" problem. The same setup worked really nice with
>> some git version before 6.13.0 and 2.6.32 kernel.  Does anyone have an
>> idea on how to fix this?
>>
> 
> Are you using both the rv710 and the rv670 in the same system at the
> same time?  Did you previously test them individually?  Any chance you
> could bisect the drm or the ddx and see what commit caused the
> problem?

Yes I use them in the same system at the same time. Both X servers
started with the "SingleCard" option set to "On" in the ServerLayout
section. I usually did something like

DISPLAY=:1 mplayer -vo xv -fs Something.mkv

and it worked. It was definitely after xorg/driver/xf86-video-ati commit
78e7047c5235b09858b66dd3688d39aaa27d7589 (Allocate Xv buffers to GTT). I
know this because before this commit 1080p replay did not work fluently,
obviously because the transfer rate was not sufficient.

I still have the 2.6.32.7 kernel, but I don't know which libdrm, mesa
and driver version I exactly used (I used the -9999 gentoo live ebuilds
and did not write down the sha1).

So I will test with the older kernel version and if it works I will try
to bisect it.

Marco

> 
> Alex
> 
> 
>> Thanks,
>>
>> Marco
>>
>>
>> lspci lines:
>>
>> 03:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3870
>> 03:00.1 Audio device: ATI Technologies Inc Radeon HD 3870 Audio device
>>
>> 12:00.0 VGA compatible controller: ATI Technologies Inc RV710 [Radeon HD
>> 4350]
>> 12:00.1 Audio device: ATI Technologies Inc RV710/730
>>
>> boot messages for the card:
>>
>> radeon 0000:12:00.0: enabling device (0144 -> 0147)
>> radeon 0000:12:00.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
>> radeon 0000:12:00.0: setting latency timer to 64
>> [drm] radeon: Initializing kernel modesetting.
>> [drm] register mmio base: 0xD0200000
>> [drm] register mmio size: 65536
>> ATOM BIOS: RV710
>> [drm] GPU not posted. posting now...
>> [drm] Clocks initialized !
>> [drm] 1 Power State(s)
>> [drm] State 0 Default (default)
>> [drm]   1 PCIE Lanes
>> [drm]   1 Clock Mode(s)
>> [drm]           0 engine/memory: 600000/400000
>> [drm] radeon: power management initialized
>> radeon 0000:12:00.0: VRAM: 256M 0x00000000 - 0x0FFFFFFF (256M used)
>> radeon 0000:12:00.0: GTT: 512M 0x10000000 - 0x2FFFFFFF
>> mtrr: type mismatch for c0000000,10000000 old: write-back new:
>> write-combining
>> [drm] Detected VRAM RAM=256M, BAR=256M
>> [drm] RAM width 64bits DDR
>> [drm] radeon: 256M of VRAM memory ready
>> [drm] radeon: 512M of GTT memory ready.
>> radeon 0000:12:00.0: irq 51 for MSI/MSI-X
>> [drm] radeon: using MSI.
>> [drm] radeon: irq initialized.
>> [drm] GART: num cpu pages 131072, num gpu pages 131072
>> [drm] Loading RV710 Microcode
>> platform radeon_cp.0: firmware: using built-in firmware radeon/RV710_pfp.bin
>> platform radeon_cp.0: firmware: using built-in firmware radeon/RV710_me.bin
>> platform radeon_cp.0: firmware: using built-in firmware radeon/R700_rlc.bin
>> [drm] ring test succeeded in 0 usecs
>> [drm] radeon: ib pool ready.
>> [drm] ib test succeeded in 0 usecs
>> [drm] Enabling audio support
>> [drm] Unknown TV standard; defaulting to NTSC
>> [drm] Unknown TV standard; defaulting to NTSC
>> [drm] Radeon Display Connectors
>> [drm] Connector 0:
>> [drm]   VGA
>> [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
>> [drm]   Encoders:
>> [drm]     CRT2: INTERNAL_KLDSCP_DAC2
>> [drm] Connector 1:
>> [drm]   HDMI-A
>> [drm]   HPD1
>> [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
>> [drm]   Encoders:
>> [drm]     DFP1: INTERNAL_UNIPHY
>> [drm] Connector 2:
>> [drm]   DVI-I
>> [drm]   HPD4
>> [drm]   DDC: 0x7f10 0x7f10 0x7f14 0x7f14 0x7f18 0x7f18 0x7f1c 0x7f1c
>> [drm]   Encoders:
>> [drm]     CRT1: INTERNAL_KLDSCP_DAC1
>> [drm]     DFP2: INTERNAL_UNIPHY2
>> [drm] fb mappable at 0xC0141000
>> [drm] vram apper at 0xC0000000
>> [drm] size 8294400
>> [drm] fb depth is 24
>> [drm]    pitch is 7680
>> fb1: radeondrmfb frame buffer device
>> [drm] Initialized radeon 2.2.0 20080528 for 0000:12:00.0 on minor 1
>> _______________________________________________
>> xorg-driver-ati mailing list
>> xorg-driver-ati at lists.x.org
>> http://lists.x.org/mailman/listinfo/xorg-driver-ati
>>


More information about the xorg-driver-ati mailing list