Stephen C. Tweedie wrote:
> Hi,
>
>> On Sat, May 19, 2001 at 02:10:43PM +1000, Gareth Hughes wrote:
>>
>>> I'm currently working on some kernel-related tasks, but I can take a
>>> look into the problems you (and others) have mentioned regarding the
>>> Radeon driver early next week. Are you running it from the DRI CVS? If
>>> you're game, you might want to try the in-development mesa-3-5-branch.
>>
>> OK, I will try that.
>
>
> Done --- it didn't help.
>
> The mesa-3.5 branch _did_ cure the q3a cinematics problem, and the bad
> performance and rendering artifacts in one of the tribes2 training
> levels (which looks as if it was due to an imperfect software fallback
> path in the sky rendering). In fact, I'm very pleased by the 3.5
> branch performance. However, it did not help the lockup on startup.
>
> A couple of other data points: dynamic X resolution switching is fine,
> so it's not a mode timing setup problem. X -probeonly works fine, so
> I can get you a verbose server log up to the graphics setup point if
> you want it. Initialising or restoring graphics state, either on
> entering X or on leaving it (or switching to/from a text VC), locks up
> about 75% of the time.
>
> I have got both trunk and mesa-3.5-branch trees built and installed so
> I can easily apply any patches you want me to try, either in hope of
> fixing things or to obtain a trace of where things stop working.
>
> Cheers,
> Stephen
>
> _______________________________________________
> Dri-devel mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/dri-devel
>
Well there is one thing that is likely to cause the problems you are
seeing. I need to spend some time with an AMD engineer to get AGP
completely stable on all the Irongate revisions. I have been told there
are some revision specific workarounds that need to be done. and I have
not received any info on these workarounds. I also have a hunch which
might fix your problem. Could you try the following patch and tell me
if it helps or cures your problem? Its kinda a stab in the dark, but
considering your symptoms, it just might help.
-Jeff
diff -ur linux-orig/drivers/char/agp/agpgart_be.c linux/drivers/char/agp/agpgart_be.c
--- linux-orig/drivers/char/agp/agpgart_be.c Tue Feb 13 15:13:43 2001
+++ linux/drivers/char/agp/agpgart_be.c Mon May 21 08:50:34 2001
@@ -1827,7 +1827,17 @@
static void amd_irongate_tlbflush(agp_memory * temp)
{
+ u32 temp;
+ unsigned long end;
+ int i;
+
+ end = jiffies + (HZ*3);
+
OUTREG32(amd_irongate_private.registers, AMD_TLBFLUSH, 0x00000001);
+ do {
+ temp = INREG32(amd_irongate_private.registers, AMD_TLBFLUSH);
+ for(i = 0; i < 4096; i++) ;
+ } while((temp & 0x00000001) || ((signed)(end - jiffies) <= 0));
}
static unsigned long amd_irongate_mask_memory(unsigned long addr, int type)