2002-12-20 12:34:20

by Dave Jones

[permalink] [raw]
Subject: Next round of AGPGART fixes.

Linus,
Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
following fixes..

- AGP 3.0 now compiles as a module too.
- beginnings of VIA KT400 AGP 3.0 support.
(Not functional yet, more work needed).
- corrected handling of AGP capability bit in PCI headers for chipset drivers.
This should fix the problems on I815 and similar chipsets.
- small cleanups (making functions static, making things __initdata etc)
- Hopefully fix AMD K8 GART driver
- Fix module exit routine in backend
- Unmark some things __init (The cause of many modules bugs)
- agp_generic_agp_3_0_enable() now returns FALSE to the chipset driver
if it can't configure in 3.0 mode instead of falling back to
generic 2.0 routines.
- Export agp_generic_agp_3_0_enable() to work as module.
- Missing HP ZX1/Intel I460 fixes from David Mosberger (My bad)
- Changed I7505 driver to handle new agp_generic_agp_3_0_enable semantics.
- Renamed some VIA chipsets.

Makefile | 2
agp.h | 4 +
ali-agp.c | 21 +++++----
amd-k7-agp.c | 26 +++++------
amd-k8-agp.c | 18 +++++--
backend.c | 27 +++--------
frontend.c | 2
generic-3.0.c | 14 ++----
hp-agp.c | 18 +++----
i460-agp.c | 35 ++++++++-------
i7x05-agp.c | 32 +++++++------
intel-agp.c | 134 ++++++++++++++++++++++++++++------------------------------
sis-agp.c | 27 +++++------
sworks-agp.c | 59 ++++++++-----------------
via-agp.c | 99 +++++++++++++++++++++++++++++++++++-------
15 files changed, 283 insertions(+), 235 deletions(-)

GNU diff for those who care (against Linus' bk tree) is at
ftp.kernel.org/pub/linux/kernel/people/davej/patches/2.5/2.5.52/agpgart-fixes-1.diff

Dave

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs


2002-12-20 14:34:52

by Felix Seeger

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

Am Freitag 20 Dezember 2002 13:41 schrieb Dave Jones:
> Linus,
> Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
> following fixes..
>
> - AGP 3.0 now compiles as a module too.
> - beginnings of VIA KT400 AGP 3.0 support.
> (Not functional yet, more work needed).
> - corrected handling of AGP capability bit in PCI headers for chipset
> drivers. This should fix the problems on I815 and similar chipsets.
[...]
> Dave

I am running 2.5.52bk5 with you GNU patch. Doesn't help.
I do a modprobe i810 and I get:

FATAL: Error inserting i810
(/lib/modules/2.5.52bk5/kernel/drivers/char/drm/i810.ko): Cannot allocate
memory

This is from dmesg:
[drm:drm_init] *ERROR* Cannot initialize the agpgart module.
Uninitialised timer!
This is just a warning. Your computer is OK
function=0x00000000, data=0x0
Call Trace:
[<c01208a2>] check_timer_failed+0x42/0x50
[<c0120cd7>] del_timer+0x17/0x80
[<c4990dc5>] i810_takedown+0x45/0x3b0 [i810]
[<c49952d6>] i810_stub_unregister+0x36/0x3d [i810]
[<c49720e6>] 0xc49720e6
[<c4997cc0>] +0x840/0x2720 [i810]
[<c4997ca2>] +0x822/0x2720 [i810]
[<c012a782>] sys_init_module+0xfe/0x178
[<c0108d73>] syscall_call+0x7/0xb


thanks
have fun
Felix

2002-12-20 16:33:10

by Felix Seeger

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

Am Freitag 20 Dezember 2002 15:42 schrieb Felix Seeger:
> Am Freitag 20 Dezember 2002 13:41 schrieb Dave Jones:
> > Linus,
> > Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
> > following fixes..
> >
> > - AGP 3.0 now compiles as a module too.
> > - beginnings of VIA KT400 AGP 3.0 support.
> > (Not functional yet, more work needed).
> > - corrected handling of AGP capability bit in PCI headers for chipset
> > drivers. This should fix the problems on I815 and similar chipsets.
>
> [...]
>
> > Dave
>
> I am running 2.5.52bk5 with you GNU patch. Doesn't help.
> I do a modprobe i810 and I get:
>
> FATAL: Error inserting i810
> (/lib/modules/2.5.52bk5/kernel/drivers/char/drm/i810.ko): Cannot allocate
> memory
>
Mhm, I compiled all in the kernel and it works now, maybe I've done something
wrong.

thanks
have fun
Felix

2002-12-20 18:36:39

by Dave Jones

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

On Fri, Dec 20, 2002 at 05:41:05PM +0100, Felix Seeger wrote:
> > I am running 2.5.52bk5 with you GNU patch. Doesn't help.
> > I do a modprobe i810 and I get:
> >
> > FATAL: Error inserting i810
> > (/lib/modules/2.5.52bk5/kernel/drivers/char/drm/i810.ko): Cannot allocate
> > memory
> >
> Mhm, I compiled all in the kernel and it works now, maybe I've done something
> wrong.

More likely there are more modules related thinkos in the code.
I'll look it over again later.

Dave

--
| Dave Jones. http://www.codemonkey.org.uk

2002-12-21 06:58:38

by Linus Torvalds

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.



On Fri, 20 Dec 2002, Dave Jones wrote:
>
> - AGP 3.0 now compiles as a module too.
> - beginnings of VIA KT400 AGP 3.0 support.
> (Not functional yet, more work needed).

And with AGP 3 disabled, things do not even compile

In function `via_kt400_enable':
undefined reference to `agp_generic_agp_3_0_enable'

Hmm.

Linus

2002-12-21 14:16:07

by Dave Jones

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

On Fri, Dec 20, 2002 at 11:07:58PM -0800, Linus Torvalds wrote:

> > - AGP 3.0 now compiles as a module too.
> > - beginnings of VIA KT400 AGP 3.0 support.
> > (Not functional yet, more work needed).
> And with AGP 3 disabled, things do not even compile
>
> In function `via_kt400_enable':
> undefined reference to `agp_generic_agp_3_0_enable'
> Hmm.

Blehh, I'll fix it up later, along with the strange
'unsafe modules' bug reported.

Dave

--
| Dave Jones. http://www.codemonkey.org.uk

2002-12-22 15:44:06

by Florin Iucha

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

On Fri, Dec 20, 2002 at 12:41:37PM +0000, Dave Jones wrote:
> Linus,
> Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
> following fixes..
[snip]
> GNU diff for those who care (against Linus' bk tree) is at
> ftp.kernel.org/pub/linux/kernel/people/davej/patches/2.5/2.5.52/agpgart-fixes-1.diff

I'm using bk7 which contains all your patch except via* stuff which I'm
not interested in.
Agpgart and sis-agp compiled as modules. Modprobe agpgart succeeds,
modprobe sis-agp oopses:

agpgart: Detected SiS 735 chipset
Unable to handle kernel paging request at virtual address 1f000207
printing eip:
e085400c
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0060:[<e085400c>] Not tainted
EFLAGS: 00010282
EIP is at 0xe085400c
eax: c15f5c80 ebx: 000000c0 ecx: 00000000 edx: 1f000207
esi: 00000000 edi: 00000000 ebp: e0992408 esp: df9c7ec4
ds: 0068 es: 0068 ss: 0068
Process modprobe (pid: 498, threadinfo=df9c6000 task=dd0bb900)
Stack: e08720c8 df9c7ee4 00000246 c15df740 000000c0 c15f5c00 00000000 e08722d0
c15f5c00 000000c0 c15f5c00 000000c0 e099424a c15f5c00 00000000 000000c4
e0875090 c15f5c00 e09923e0 c02391fe c15f5c00 e09943c0 c15f5c4c e0992408
Call Trace:
[<e08720c8>] agp_backend_initialize+0x18/0x190 [agpgart]
[<e08722d0>] agp_register_driver+0x20/0xc0 [agpgart]
[<e099424a>] agp_sis_probe+0x7a/0x90 [sis_agp]
[<e0875090>] +0x30/0xa8 [agpgart]
[<e09923e0>] agp_sis_pci_driver+0x0/0xa0 [sis_agp]
[<c02391fe>] pci_device_probe+0x5e/0x70
[<e09943c0>] agp_sis_pci_table+0x0/0x38 [sis_agp]
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<c0273f05>] bus_match+0x45/0x80
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<c027401e>] driver_attach+0x5e/0x80
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<e0992424>] agp_sis_pci_driver+0x44/0xa0 [sis_agp]
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<c0274317>] bus_add_driver+0xa7/0xd0
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<e0992424>] agp_sis_pci_driver+0x44/0xa0 [sis_agp]
[<c027479f>] driver_register+0x2f/0x40
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<c0239337>] pci_register_driver+0x47/0x60
[<e0992408>] agp_sis_pci_driver+0x28/0xa0 [sis_agp]
[<e0994273>] agp_sis_init+0x13/0x60 [sis_agp]
[<e09923e0>] agp_sis_pci_driver+0x0/0xa0 [sis_agp]
[<c012f500>] sys_init_module+0x1b0/0x1d0
[<c010af0b>] syscall_call+0x7/0xb

Code: 69 32 63 5f 63 6f 72 65 00 00 00 00 00 00 00 00 00 00 00 00

If it matters, the compiler is:
bear:~# gcc-3.2 -v
Reading specs from /usr/lib/gcc-lib/i386-linux/3.2.2/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc i386-linux
Thread model: posix
gcc version 3.2.2 20021212 (Debian prerelease)

Cheers,
florin
--

"If it's not broken, let's fix it till it is."


Attachments:
(No filename) (3.01 kB)
(No filename) (189.00 B)
Download all attachments

2002-12-22 18:28:50

by Florin Iucha

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

On Sun, Dec 22, 2002 at 09:52:11AM -0600, Florin Iucha wrote:
> On Fri, Dec 20, 2002 at 12:41:37PM +0000, Dave Jones wrote:
> > Linus,
> > Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
> > following fixes..
> [snip]
> > GNU diff for those who care (against Linus' bk tree) is at
> > ftp.kernel.org/pub/linux/kernel/people/davej/patches/2.5/2.5.52/agpgart-fixes-1.diff
>
> I'm using bk7 which contains all your patch except via* stuff which I'm
> not interested in.
> Agpgart and sis-agp compiled as modules. Modprobe agpgart succeeds,
> modprobe sis-agp oopses:
>
> agpgart: Detected SiS 735 chipset

[snip oops]

With agpgart and sis-agp built in the kernel (non-modular) it works
fine - I have direct rendering enabled in X.

Cheers,
florin
--

"If it's not broken, let's fix it till it is."


Attachments:
(No filename) (817.00 B)
(No filename) (189.00 B)
Download all attachments

2002-12-25 18:16:07

by Alfred E. Heggestad

[permalink] [raw]
Subject: Re: Next round of AGPGART fixes.

On Sun, 2002-12-22 at 19:36, Florin Iucha wrote:
> On Sun, Dec 22, 2002 at 09:52:11AM -0600, Florin Iucha wrote:
> > On Fri, Dec 20, 2002 at 12:41:37PM +0000, Dave Jones wrote:
> > > Linus,
> > > Please pull from bk://linux-dj.bkbits.net/agpgart to get at the
> > > following fixes..
> > [snip]
> > > GNU diff for those who care (against Linus' bk tree) is at
> > > ftp.kernel.org/pub/linux/kernel/people/davej/patches/2.5/2.5.52/agpgart-fixes-1.diff
> >
> > I'm using bk7 which contains all your patch except via* stuff which I'm
> > not interested in.
> > Agpgart and sis-agp compiled as modules. Modprobe agpgart succeeds,
> > modprobe sis-agp oopses:
> >
> > agpgart: Detected SiS 735 chipset
>
> [snip oops]
>
> With agpgart and sis-agp built in the kernel (non-modular) it works
> fine - I have direct rendering enabled in X.
>
> Cheers,
> florin

I also had this problem with 2.5.51 and 2.5.52. Just tried 2.5.53
last night and now /dev/agpgart works fine again (static kernel,
no modules). Thanks.

/alfred

--
/**
* Alfred E. Heggestad - Coder
*/