On Mon, Nov 7, 2011 at 11:05 AM, Tormod Volden <lists.tormod@xxxxxxxxx> wrote: > On Mon, Nov 7, 2011 at 2:50 PM, Konrad Rzeszutek Wilk > <konrad.wilk@xxxxxxxxxx> wrote: >> On Sun, Nov 06, 2011 at 04:03:21PM +0100, Tormod Volden wrote: >>> From: Tormod Volden <debian.tormod@xxxxxxxxx> >>> >>> Some cards report that they support only 4x, in which case they >>> should support 2x and 1x as well, according to the AGP spec. >> >> Have you tested it on other hardware besides your KN133? > > No, I don't have access to other AGP hardware. Note that this will > only affect the hardware & software/configuration combinations that > currently result in the "0x" message. A web search on this message > shows that also some radeon cards are bitten by this. So testing on > these cards would be welcome. There are already a number of chipset/asic combos where we force a certain AGP mode in order to get stable operation. Alex > > Tormod > > >> >>> >>> 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@xxxxxxxxx> >>> --- >>> 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@xxxxxxxxxxxxxxxxxxxxx >>> http://lists.freedesktop.org/mailman/listinfo/dri-devel >> > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel