[Bug 34144] Re: sis 760 AGP broken on amd64

sybille sybillel at free.fr
Fri Nov 2 12:08:49 UTC 2007


I had a chance to experiment with things some, and I think I made a
little progress. I was doing this on a Gentoo system with a 2.6.22
kernel compiled from gentoo-sources, but I don't think that makes a
difference. Although this is amd64 hardware, I'm using an x86 kernel/OS.

As I mentioned in the <a
href=https://bugs.freedesktop.org/show_bug.cgi?id=8840>freedesktop
bug</a>, it seems to me that incorrect identification of the AGP
aperture size as 4M no matter what the BIOS setting is related to the
SIS 760 device IDs in the sis-agp module of the kernel. If that is the
case, then it should be possible to comment out the device IDs and
recompile the module in order to see how the aperture size is
identified.

I had tried to do this before and apparently made some mistakes, but this time I did things correctly. Because, when I booted using the modified sis-agp module, I saw the following in the syslog:
Oct 31 10:00:31 menagerie agpgart: Detected AGP bridge 0
Oct 31 10:00:31 menagerie agpgart: AGP aperture is 128M @ 0xf0000000

Compare this with the unaltered kernel module:
[ 102.351910] agpgart: Detected SiS 760 chipset
[ 102.352228] agpgart: AGP aperture is 4M @ 0xf0000000

128M is the BIOS setting. I've attached a "patch" to show what I changed
in the sis-agp module to get the above result.

Unfortunately, however, using this altered module did not solve the APIC
error problem. That is, with the altered sis-agp module and amd64-agp
loaded, the AGP aperture size was identified correctly during boot, DRI
was enabled, but the stream of APIC errors began once the drm module was
loaded. So it's not really a patch that solves things for me, just some
more information that I thought might be useful.

@Neil Wilson,
I'm using the most recent beta BIOS for my motherboard (asus k8s-mx). I've upgraded the BIOS twice since opening this bug, with no effect on the problem.
Regarding the "noapic" boot option, I've used that too but found it a problematic workaround. For me, it leads to IRQ problems such as:
Oct 31 06:04:20 menagerie irq 7: nobody cared (try booting with the "irqpoll" option)
Oct 31 06:04:20 menagerie [<c0148be4>] __report_bad_irq+0x24/0x80
Oct 31 06:04:20 menagerie [<c0148e91>] note_interrupt+0x251/0x280
Oct 31 06:04:20 menagerie [<c0148115>] handle_IRQ_event+0x25/0x50
Oct 31 06:04:20 menagerie [<c014987d>] handle_level_irq+0xcd/0x110
Oct 31 06:04:20 menagerie [<c010672e>] do_IRQ+0x3e/0x80
Oct 31 06:04:20 menagerie [<c010498f>] common_interrupt+0x23/0x28
Oct 31 06:04:20 menagerie [<c0102b3a>] default_idle+0x2a/0x40
Oct 31 06:04:20 menagerie [<c01023e3>] cpu_idle+0x43/0x80
Oct 31 06:04:20 menagerie [<c0462b2f>] start_kernel+0x21f/0x2b0
Oct 31 06:04:20 menagerie [<c0462450>] unknown_bootoption+0x0/0x260
Oct 31 06:04:20 menagerie =======================
Oct 31 06:04:20 menagerie handlers:
Oct 31 06:04:20 menagerie [<c02ddf50>] (usb_hcd_irq+0x0/0x60)
Oct 31 06:04:20 menagerie Disabling IRQ #7

And that is accompanied by the whole system freezing. Again, this is
only when using "noapic" at boot.

The mother board I'm using is kind of strange because it has both an AGP
slot and a PCI Express slot (1x), maybe that's part of the issue. I
don't have anything plugged into the PCIe slot, though.

In any case, I believe that my experiment with the device IDs suggests
that the issue is with the kernel module. And I notice that the AGP
kernel maintainer, Dave Airlie, has already responded to this bug, so...
In any case, there is now some evidence that there is a regression here
as far as the SIS AGP driver is concerned and that it is not a matter of
BIOS setting or updates.

Thanks.

** Attachment added: "sis-agp module minus the SIS 760 device ID info"
   http://launchpadlibrarian.net/10250120/sis-agp.c.patch

-- 
sis 760 AGP broken on amd64
https://bugs.launchpad.net/bugs/34144
You received this bug notification because you are a member of Kernel
Bugs, which is a direct subscriber.




More information about the kernel-bugs mailing list