Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Workaround for AGP + Intel Q45
On Monday 09 February 2009 07:42:53 Arnaud Lacombe wrote:
> In any case, I think I screwed things up by setting
> AGP_G4X_MSAC to 0x64, I think it should be 0x60, but I'm not sure
> unless I find a datasheet explicitly saying this. I used 0x64 because
> a of comment in the original FreeBSD code saying that G45 were like
> G965. On G965, MSAC is at offset 0x66 (ie. 0x64 to have aligned PCI
> access). But the G965 data sheet is not coherent as the default value
> is 0x02 which is an illegal programming...
>
> So definitively, I am missing something... :(
I'm also leaning toward the MSAC being 0x60, though I also can't find a
definitive answer.
Certainly this patch:
Index: agp_i810.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/agp_i810.c,v
retrieving revision 1.62
diff -u -r1.62 agp_i810.c
--- agp_i810.c 27 Jan 2009 08:39:34 -0000 1.62
+++ agp_i810.c 9 Feb 2009 11:06:18 -0000
@@ -705,6 +705,7 @@
break;
case CHIP_I915:
case CHIP_G33:
+ case CHIP_G4X:
reg = pci_conf_read(sc->as_pc, sc->as_tag, AGP_I915_MSAC);
msac = (u_int16_t)(reg >> 16);
if (msac & AGP_I915_MSAC_APER_128M)
@@ -715,7 +716,7 @@
case CHIP_I965:
size = 512 * 1024 * 1024;
break;
- case CHIP_G4X:
+ /* case CHIP_G4X:
reg = pci_conf_read(sc->as_pc, sc->as_tag, AGP_G4X_MSAC);
msac = (u_int16_t)(reg >> 16);
switch (msac & AGP_G4X_MSAC_MASK) {
@@ -724,7 +725,7 @@
case AGP_G4X_MSAC_APER_512M:
size = 512 * 1024 * 1024;
}
- break;
+ break; */
default:
aprint_error(": Unknown chipset\n");
}
gets me a system that works better (get a non zero aperture returned and X
works for screens bigger than 1280x1024).
cheers
mark
Home |
Main Index |
Thread Index |
Old Index