not beeing totally deep into the drm-radeon driver... excerpt of agp command register, when chipset is in AGPv3 mode: bit 3, value 8: reserved bit 2..0, value 0: agp transfer mode not yet programmed value 1: agp transfer mode 4x value 2: agp transfer mode 8x value 3-7: reserved
the sheme in the hardware is different than below proposed patch. maybe it's a different encoding that is used in radeon_dri.c, i hope someone else can do a more qualified comment on this patch. -Alex. > -----Original Message----- > From: Dmitri Katchalov [mailto:[EMAIL PROTECTED] > Sent: Thursday, November 27, 2003 15:47 > To: [EMAIL PROTECTED] > Subject: [Dri-devel] AGP 8x support > > > Greetings, > > It appears that DRI does not quite support AGP 8x and AGP3.0 > in general, please correct me if I'm wrong. > > I've made this quick and dirty patch for Radeon driver only. > I understand that it is not perfect as it has to be copied > into every other driver. A better solution is needed IMHO. > > As a side note I'm now getting a whooping 1% improvement with > AGP 8x according to ut2003 benchmark. I wonder is there is > something else I should look at. BTW I'm running Radeon 9200 > with linux-2.6.0-test9 and the latest (as of today) DRI CVS. > Also AGPFastWrite locks up my machine hard, is this to be expected? > > Regards, > Dmitri > > > diff -r -x CVS > DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c > DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c > 723,726c723,758 > < switch (info->agpMode) { > < case 4: mode |= RADEON_AGP_4X_MODE; > < case 2: mode |= RADEON_AGP_2X_MODE; > < case 1: default: mode |= RADEON_AGP_1X_MODE; > --- > > > > if (mode & RADEON_AGP_MODE_3_0) { > > switch (info->agpMode) { > > case 8: > > mode |= RADEON_AGP3_8X_MODE; > > break; > > case 4: > > mode |= RADEON_AGP3_4X_MODE; > > break; > > default: > > xf86DrvMsg(pScreen->myNum, X_WARNING, > > "[agp] mode x%d not supported in AGP 3.0, > forcing 4x mode\n", > > info->agpMode); > > mode |= RADEON_AGP3_4X_MODE; > > break; > > } > > } else { > > switch (info->agpMode) { > > case 4: > > mode |= RADEON_AGP2_4X_MODE; > > break; > > case 2: > > mode |= RADEON_AGP2_2X_MODE; > > break; > > case 1: > > mode |= RADEON_AGP2_1X_MODE; > > break; > > default: > > xf86DrvMsg(pScreen->myNum, X_WARNING, > > "[agp] mode x%d not supported in AGP `2.0, > forcing 4x mode\n", > > info->agpMode); > > mode |= RADEON_AGP2_4X_MODE; > > break; > > } > diff -r -x CVS > DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h > DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h > 55c55 > < #define RADEON_AGP_MAX_MODE 4 > --- > > #define RADEON_AGP_MAX_MODE 8 > diff -r -x CVS > DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h > DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h > 73,75c73,78 > < # define RADEON_AGP_1X_MODE 0x01 > < # define RADEON_AGP_2X_MODE 0x02 > < # define RADEON_AGP_4X_MODE 0x04 > --- > > # define RADEON_AGP2_1X_MODE 0x01 > > # define RADEON_AGP2_2X_MODE 0x02 > > # define RADEON_AGP2_4X_MODE 0x04 > > # define RADEON_AGP3_4X_MODE 0x01 > > # define RADEON_AGP3_8X_MODE 0x02 > > # define RADEON_AGP_MODE_3_0 0x08 > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > Dri-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/dri-devel > ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel