Thread (1 message) 1 message, 1 author, 2002-12-08

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help