On Thu, Jan 09, 2003 at 06:01:48PM +0100, Alexander Stohr wrote:
> > > My system is a Mobile P-4 1.8 ghz with a 16 MB 4x AGP [ATI Radeon] M7.
> 
> > > I would like to inform you that I have found the solution to the
> > > above-mentioned problems.  These problems occur in several branches of
> > > XFree86 starting from about one-and-a-half months ago, I believe.  The
> > > removal of two lines of code was all that was necessary to correct
> > > EVERY one of the above problems.  It is as follows.
> > > 
> > > File: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
> > > Lines: 710 and 711
> > 
> > A unified diff says more than a thousand words, but I assume 
> > it's about
> > this:
> > 
> >     /* Workaround for some hardware bugs */
> >     if (info->ChipFamily < CHIP_FAMILY_R200)
> >     OUTREG(RADEON_AGP_CNTL, INREG(RADEON_AGP_CNTL) | 0x000e0020);
> > 
> > > I understand that this code may be beneficial for some people, but I
> > > do not understand enough about X or the various registers of the
> > > graphics hardware to actually 'fix' the code and these lines wreak
> > > havok on my system.
> > 
> > These lines of code come from XFree86 CVS, probably by Kevin E. Martin
> > or Hui Yu, It would be interesting to hear their rationale 
> > behind this, putting them on CC:.
> 
> >>From what i have read, i think the M7 grafics chipset 
> does neither like nor need that workaround, 
> whilst it does qualify as an pre-R200 model.
> So the conditional should be modified accordingly.
> 
> As far as i understand by reading public sources,
> the RADEON_AGP_CNTL register is forcefulley programmed
> to an aper size of 128 MB or smaller (0x20), avoiding 256 MB.
> The meaning of the value 0x000e0000 is not explained there.
> 
> my suggestion based upon the chip family enum in radeon.h is this:
>   /* Workaround for some hardware bugs */
>   if (info->ChipFamily < CHIP_FAMILY_M7) /* M7, R200 and upwards are okay */
>     OUTREG(RADEON_AGP_CNTL, INREG(RADEON_AGP_CNTL) | 0x000e0020);  
> 
> but that's all guessworks and i would be glad 
> if Hui or whoever knows about it can clarify on that.
> 
> -Alex.

I have been in contact with Hui Yu regarding this matter.  He gave me
some other options to try in place of 0x000e0020.  On his advice, i
tried 0x000e0000 and the AGP lockups I was experiencing with a 64 MB
aperture were fixed (on a Mobile Radeon 7500).  I think it is best to
change the code accordingly because if you do nothing as in the case
of the above-mentioned fix, my Mobility locks up as described.

-Jonathan


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to