radeon: writeback-issues since kernel 2.6.34 on ATI FireMV 2200 PCI

Alex Deucher alexdeucher at gmail.com
Tue Jan 3 06:27:49 PST 2012


On Mon, Jan 2, 2012 at 5:07 PM, Helge Deller <deller at gmx.de> wrote:
> 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?
>

It's possible that writeback doesn't work on your system in which case
no_wb=1 is apprioriate.  dev_priv->writeback_works is part of the old
UMS drm and is not used by KMS.  The KMS code does not test if
writeback works prior to enabling it like UMS did.  The slow down you
are seeing is caused by the driver waiting for the fence to be written
back to memory.  If writeback does not work, the fence is never
written by the hw and the driver has to wait for the fence to time
out.

Alex

> Helge
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list