Re: acpi integration in kernel 2.4.20
From: Sérgio Monteiro Basto <hidden>
Date: 2002-12-08 18:48:10
On Sun, 2002-12-08 at 03:12, Sérgio Monteiro Basto wrote:
Hi I search in lkml (it stands for Linux Kernel Mailing List) about apic ( not acpi) problem with compaq pressario and I discover this my notebook have mode then 8 workarounds for PCI and irq stuff.
more then 8, not mode
So in file drivers/pci you can find then in quirks.c for via south
bridge workaround and in
arch/i386/kernel/pci-pc.c function pci_fixup_via_northbridge_bug for
north bridge workaround. This one is a little danger remove him because
some strange thing happens in monitor.
Now the interesting is that we have in quirks.c
/*
* VIA VT82C686 ACPI: Three IO region pointed to by (long)words at
* 0x48 (256 bytes of ACPI registers)
* 0x70 (128 bytes of hardware monitoring register)
* 0x90 (16 bytes of SMB registers)
*/
static void __init quirk_vt82c686_acpi(struct pci_dev *dev)
and
#ifdef CONFIG_X86_IO_APIC
/*
* VIA 686A/B: If an IO-APIC is active, we need to route all on-chip
* devices to the external APIC.
*
* TODO: When we have device-specific interrupt routers,
* this code will go away from quirks.
*/
static void __init quirk_via_ioapic(struct pci_dev *dev)
...
and
/*
* Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip
* devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature:
* when written, it makes an internal connection to the PIC.
* For these devices, this register is defined to be 4 bits wide.
* Normally this is fine. However for IO-APIC motherboards, or
* non-x86 architectures (yes Via exists on PPC among other places),
* we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
* interrupts delivered properly.
*
* TODO: When we have device-specific interrupt routers,
* quirk_via_irqpic will go away from quirks.
*/
/*
* FIXME: it is questionable that quirk_via_acpi
* is needed. It shows up as an ISA bridge, and does not
* support the PCI_INTERRUPT_LINE register at all. Therefore
* it seems like setting the pci_dev's 'irq' to the
* value of the ACPI SCI interrupt is only done for convenience.
* -jgarzik
*/
static void __init quirk_via_acpi(struct pci_dev *d)
{
/*
* VIA ACPI device: SCI IRQ line in PCI config byte 0x42
*/
...
static void __init quirk_via_irqpic(struct pci_dev *dev)
{
...
can I remove this workarounds since try workaround the same thing !?
and what do
the functions from new acpi in file arch/i386/kernel/pci-pc.c
pcibios_irq_init();
pcibios_fixup_peer_bridges();
pcibios_fixup_irqs();
more fixups irqs.like I write in previous email I comment this 3 functions, because they don't seem change anything, and sometimes with xine works better.
SérgioMB ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Acpi-devel mailing list Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/acpi-devel
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf