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