Using Xorg CVS on my radeon 7000 (1002:5159), the machine lockups (no ping, no sysrq) when Mozilla scrolls. Using another card with the same PCI id, (1002:5159) on another machine, the problem doesn't happen. So there is really no way to tell if the card has this problem (IIRC, the difference between the cards is a card setting that's done in the video bios). If I comment the cache flush turn off that happens in radeon_accel.c (thanks to Roland for the hint), the problem disappears and I can happily scroll in mozilla. It seems that this cache setting was already causing trouble for R300-style cards, so I propose removing it for all cards.
Created attachment 1934 [details] [review] Proposed patch
Raising severity, as more or less unpredictable lockups on some unknown cards really is a problem (there are, btw, quite some bugs about strange lockups associated with radeons in the database, which might or might not be related). I tried to figure out why automatic flushing was turned off in the first place, I can't see a reason. Some 2d and 3d performance tests (x11perf -scroll100 and others, quake3) showed up absolutely no difference whatsoever with it enabled or disabled (on a rv250). The code in Xorg / Xfree always had that setting (the original checkin seemed to be here: http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/r128/Attic/) So, why I don't know why disabling automatic flushing would cause lockups in the first place, I'd suggest that setting to be removed, unless some cards are known to lockup when it's NOT disabled (original R100 is probably the only card this is even a possibility?). Maybe someone from ATI could comment if this is indeed necessary for some cards?
I think I've implicated these lines in bad rendering myself, so I went ahead and committed. Let's not make our code questionable for some unmeasured theoretical performance gain (the only question I had was whether disabling this might hide wrong flushing policy on my part, but I can't find any for the life of me).
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.