radeon: writeback-issues since kernel 2.6.34 on ATI FireMV 2200 PCI
Helge Deller
deller at gmx.de
Mon Jan 2 14:07:52 PST 2012
I'm facing the problem with the radeon drm driver, that I now manually
need to set the kernel module parameter radeon.no_wb to 1 at bootup,
else X just hangs in average up to 8 seconds per minute without any real
activity (X or the video driver just seems to wait for something..).
Fedora 13 (kernel 2.6.34.9-69.fc13.x86_64) worked without problems,
while all following Fedora distributions including F16 have this problem.
I'm using a dual-DVI ATI RV280 [FireMV 2200 PCI].
I did compared the sources of those kernels and the only obvious change
to me is in radeon_ring.c: radeon_ring_free_size() where those lines
were added at the top of the function:
if (rdev->wb.enabled)
rdev->cp.rptr =
le32_to_cpu(rdev->wb.wb[RADEON_WB_CP_RPTR_OFFSET/4]);
Given the problems I'm seeing (X-Windows hangs for a few seconds every
time) this fits with the idea, that the driver is waiting for a free
slot but can't find any (maybe due to wrong values returned by
not-working WB?).
I'm wondering, if "rdev->wb.enabled" is correct in this place and if
"dev_priv->writeback_works" shouldn't be used instead here?
Helge
More information about the dri-devel
mailing list