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)

Reply via email to