Date: Mon, 28 Nov 2005 08:04:17 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-acpi@freebsd.org Cc: Timm Florian Gloger <timm.gloger@gmail.com> Subject: Re: System freezes when using ACPI Message-ID: <200511280804.18428.jhb@freebsd.org> In-Reply-To: <19269e540511250555p18355d49u@mail.gmail.com> References: <19269e540511250555p18355d49u@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 25 November 2005 08:55 am, Timm Florian Gloger wrote: > hey list, > > i installed a fresh 6.0 stable system on my machine. > > when using acpi the system freezes after less than 10 minutes. > with disabled acpi there is no such problem and the system runs fine. > > i am new to freebsd so i dont know all the things which may influence > the acpi driver to misbehave. > > i attached the outputs which are mentioned in the handbook. > > the system is: > > asus a7n8x deluxe rev 2.0 bios 1008 > amd athlon xp 3000+ fsb 400 > 1 gb ddr400 ram > nforce 2 chipset (firewire disabled) > sapphire radeon 9800 pro > > if there are any further information required to get the system work > properly ... > > thanks > timm Try disabling APIC for now. Your BIOS has a bug in that it tells us that t= he=20 APIC-routed interrupts are active-hi polarity when in fact they are=20 active-low. Unfortunately it seems that a few BIOSen have this bug. :( Al= l=20 PCI interrupts should be level-triggered active-low polarity. You can also= =20 try the following patch: Index: acpi_pci_link.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /host/cvs/usr/cvs/src/sys/dev/acpica/acpi_pci_link.c,v retrieving revision 1.48 diff -u -r1.48 acpi_pci_link.c =2D-- acpi_pci_link.c 1 Nov 2005 22:44:07 -0000 1.48 +++ acpi_pci_link.c 28 Nov 2005 13:03:29 -0000 @@ -859,7 +859,18 @@ if (!link->l_routed && PCI_INTERRUPT_VALID(link->l_irq)) { link->l_routed =3D TRUE; + /* + * Some BIOSen are broken and actually set + * some interrupts to active-high with level + * trigger. Workaround this by hard-coding + * active-low and level-trigger. + */ +#if 0 acpi_config_intr(dev, resource); +#else + BUS_CONFIG_INTR(dev, link->l_irq, + INTR_TRIGGER_LEVEL, INTR_POLARITY_LOW); +#endif pci_link_interrupt_weights[link->l_irq] +=3D link->l_references; } =2D-=20 John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511280804.18428.jhb>