[PATCH] agp: Enable all supported rates for graphic cards

Corbin Simpson mostawesomedude at gmail.com
Sun Nov 6 07:37:26 PST 2011


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.tormod at gmail.com> wrote:

> From: Tormod Volden <debian.tormod at 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.tormod at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20111106/7363198e/attachment.htm>


More information about the dri-devel mailing list