Dynamic clock cause hard lockup on Radeon 7000 + SMP

Alex Deucher alexdeucher at gmail.com
Tue Nov 23 12:01:08 PST 2004


On Tue, 23 Nov 2004 14:21:18 -0500, Kristian Høgsberg <krh at bitplanet.net> wrote:
> Hi,
> 
> I've been chasing a hard lockup that occurs on Radeon 7000 cards on SMP
> boxes.  The lock up is typically triggered by high levels of drawing
> activity, the gnome login process typically triggers it within 10
> seconds, another way to reproduce is the pixbuf part of gtk-demo.  The
> box locks up hard, it's not pingable and there is no response on a
> serial console.  I was able to trace it down to the dynamic clock
> feature, and if I remove the calls to RADEONSetDynamicClock in lines
> 4511-4515 I can no longer reproduce the lockup.  I'm not sure what the
> exact problem is, but I suspect some of the bits set in
> RADEONSetDynamicClock could be undefined for RV100.  I don't have the
> specs, so I'm only guessing.
> 
> I'm using the attached patch in our RPMs to special case RV100s, but I'd
> like to hear if others have better suggestions, and I would like to get
> this into head and 6.8.2.
> 

This patch will disable dynamicclocks on all RV100 hardware including
m6 which is what one of the chips on which is is most useful and
doesn't seem to cause a problem.  I've done extensive testing on my m6
and all is well there.  Unless we come up with a better fix, we should
probably change the patch to

-            if ( !info->HasCRTC2 ) {
+	    if ((info->ChipFamily == CHIP_FAMILY_RV100) || !(info->IsMobility)) {
+		break;
+	    } else if ( !info->HasCRTC2 ) {

I've also cc'ed Hui is case he has any ideas.

Alex

> See:
>         https://bugs.freedesktop.org/show_bug.cgi?id=1912
>         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=138108
> 
> cheers,
> Kristian
> 
>



More information about the xorg mailing list