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