Trusting the spec worries me; could this break anybody? Is there any reason to use the not-so-magic numbers instead of the named constants?
Sending from a mobile, pardon my terseness. ~ C. On Nov 6, 2011 7:03 AM, "Tormod Volden" <lists.tor...@gmail.com> wrote: > From: Tormod Volden <debian.tor...@gmail.com> > > Some cards report that they support only 4x, in which case they > should support 2x and 1x as well, according to the AGP spec. > > Otherwise a requested 1x or 2x rate will result in 0 being set: > > agpgart-via 0000:00:00.0: putting AGP V2 device into 0x mode > > For instance ProSavage KN133 [5333:8d02] only reports 4x. > > Signed-off-by: Tormod Volden <debian.tor...@gmail.com> > --- > drivers/char/agp/generic.c | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c > index b072648..c5d04e5 100644 > --- a/drivers/char/agp/generic.c > +++ b/drivers/char/agp/generic.c > @@ -526,6 +526,24 @@ static void agp_v2_parse_one(u32 *requested_mode, u32 > *bridge_agpstat, u32 *vga_ > break; > } > > + /* Some graphic cards report they only support 4x, however the AGP > 2.0 spec > + * (section 4.1.1) says components must support the lower speeds > as well. > + */ > + switch (*vga_agpstat & 7) { > + case 4: > + *vga_agpstat |= (AGPSTAT2_2X | AGPSTAT2_1X); > + printk(KERN_INFO PFX "Graphics card claims to only support > x4 rate. " > + "Fixing up support for x2 & x1\n"); > + break; > + case 2: > + *vga_agpstat |= AGPSTAT2_1X; > + printk(KERN_INFO PFX "Graphics card claims to only support > x2 rate. " > + "Fixing up support for x1\n"); > + break; > + default: > + break; > + } > + > /* Check the speed bits make sense. Only one should be set. */ > tmp = *requested_mode & 7; > switch (tmp) { > -- > 1.7.5.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel