* Re: bug in Linux 2.4.19RC1 i815e agpgart module, unable to determineaperture size.
[not found] ` <fa.soqp29v.17ncoig@ifi.uio.no>
@ 2002-06-27 7:07 ` Nicolas Aspert
[not found] ` <3D1AD0A0.9D053C4E@online.no>
0 siblings, 1 reply; 2+ messages in thread
From: Nicolas Aspert @ 2002-06-27 7:07 UTC (permalink / raw)
To: Adrian Bunk, Knut J Bjuland; +Cc: linux-kernel, jhartmann
[-- Attachment #1: Type: text/plain, Size: 1122 bytes --]
Adrian Bunk wrote:
> Since -rc1 agpgart_be.c uses for the 815 new 815-specific instead of the
> generic intel functions.
>
> Could you try whether reverting the following part of the patch fixes the
> problem?
>
> --- linux/drivers/char/agp/agpgart_be.c 2002-06-04 01:22:07.000000000 +0000
> +++ linux/drivers/char/agp/agpgart_be.c 2002-06-24 15:23:36.000000000 +0000
> @@ -3929,7 +4005,7 @@
> INTEL_I815,
> "Intel",
> "i815",
> - intel_generic_setup },
> + intel_815_setup },
> { PCI_DEVICE_ID_INTEL_820_0,
> PCI_VENDOR_ID_INTEL,
> INTEL_I820,
>
>
>
Hello
I suspect that the problem (from what you sent) comes from the
'intel_8xx_fetch_size' function. The APSIZE register has only one bit
with valuable information with intel815 chipset, all other bits are
'reserved'. The problem you saw may come from reading those reserved bits.
I attach a patch against 2.4.19-rc1 that aims at fixing this. Could you
please test and report whether things get better/worse ?
Best regards
Nicolas.
--
Nicolas Aspert Signal Processing Institute (ITS)
Swiss Federal Institute of Technology (EPFL)
[-- Attachment #2: i815-fetch-size-2.4.19-rc1.diff --]
[-- Type: text/plain, Size: 574 bytes --]
diff -Nru linux-2.4.19-rc1.clean/drivers/char/agp/agpgart_be.c linux-2.4.19-rc1/drivers/char/agp/agpgart_be.c
--- linux-2.4.19-rc1.clean/drivers/char/agp/agpgart_be.c Thu Jun 27 08:56:02 2002
+++ linux-2.4.19-rc1/drivers/char/agp/agpgart_be.c Thu Jun 27 08:59:21 2002
@@ -1402,6 +1402,10 @@
aper_size_info_8 *values;
pci_read_config_byte(agp_bridge.dev, INTEL_APSIZE, &temp);
+
+ if (agp_bridge.type == INTEL_I815)
+ temp &= (1 << 3);
+
values = A_SIZE_8(agp_bridge.aperture_sizes);
for (i = 0; i < agp_bridge.num_aperture_sizes; i++) {
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: bug in Linux 2.4.19RC1 i815e agpgart module, unable to determineaperturesize.
[not found] ` <3D1AD0A0.9D053C4E@online.no>
@ 2002-06-27 9:04 ` Nicolas Aspert
0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Aspert @ 2002-06-27 9:04 UTC (permalink / raw)
To: Knut J Bjuland, Alan Cox, Dave Jones, marcelo; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 775 bytes --]
Knut J Bjuland wrote:
> Your patch fix my problem with the new i815 code. I run it through a quake3 test and it is as fast as the old
> code,
> Agpgart is now able to determine aperture size, I think you nailed this problem. Thank you for your patch, hope
> it get in Linux 2.4.19.
>
Ok that sounds like one bug killed ;-), so I guess this should go in for
2.4.19-rc2 ...
Marcelo, please apply (patch is against 2.4.19-rc1). I know that Alan
and Dave have also similar parts in their trees and they are likely to
suffer the same problem.
Thanks Knut for pointing the problem (although it was present in
2.4.19-pre10-ac2 already for sure...)
Best regards
Nicolas.
--
Nicolas Aspert Signal Processing Institute (ITS)
Swiss Federal Institute of Technology (EPFL)
[-- Attachment #2: i815-fetch-size-2.4.19-rc1.diff --]
[-- Type: text/plain, Size: 710 bytes --]
diff -Nru linux-2.4.19-rc1.clean/drivers/char/agp/agpgart_be.c linux-2.4.19-rc1/drivers/char/agp/agpgart_be.c
--- linux-2.4.19-rc1.clean/drivers/char/agp/agpgart_be.c Thu Jun 27 09:07:04 2002
+++ linux-2.4.19-rc1/drivers/char/agp/agpgart_be.c Thu Jun 27 10:53:47 2002
@@ -1402,6 +1402,12 @@
aper_size_info_8 *values;
pci_read_config_byte(agp_bridge.dev, INTEL_APSIZE, &temp);
+
+ /* Intel 815 chipsets have a _weird_ APSIZE register with only
+ * one non-reserved bit, so mask the others out ... */
+ if (agp_bridge.type == INTEL_I815)
+ temp &= (1 << 3);
+
values = A_SIZE_8(agp_bridge.aperture_sizes);
for (i = 0; i < agp_bridge.num_aperture_sizes; i++) {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-06-27 9:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <fa.ckqb7hv.j48jpn@ifi.uio.no>
[not found] ` <fa.soqp29v.17ncoig@ifi.uio.no>
2002-06-27 7:07 ` bug in Linux 2.4.19RC1 i815e agpgart module, unable to determineaperture size Nicolas Aspert
[not found] ` <3D1AD0A0.9D053C4E@online.no>
2002-06-27 9:04 ` bug in Linux 2.4.19RC1 i815e agpgart module, unable to determineaperturesize Nicolas Aspert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox