[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1156906638.3022.18.camel@localhost.portugal>
Date: Wed, 30 Aug 2006 03:57:18 +0100
From: Sergio Monteiro Basto <sergio@...giomb.no-ip.org>
To: Daniel Drake <dsd@...too.org>, bjorn.helgaas@...com
Cc: linux-kernel@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>,
Andrew Morton <akpm@...l.org>, Chris Wedgwood <cw@...f.org>,
greg@...ah.com, jeff@...zik.org, harmon@....edu
Subject: Re: [PATCH] VIA IRQ quirk fixup only in XT_PIC mode Take 2
Hi, Sorry for so late answer , I have been in holidays and busy.
I remember check my emails that I send to Len Brown about this subject.
And I found, what I want, is just revert one patch of Bjorn Helgaas :)
between kernel 2.6.12-rc5 and 6.13.
Check this out
http://sourceforge.net/mailarchive/message.php?msg_id=11858102
so I propose this patch like this :
static void quirk_via_irq(struct pci_dev *dev)
{
u8 irq, new_irq;
+#ifdef CONFIG_X86_IO_APIC
+ if (nr_ioapics && !skip_ioapic_setup)
+ return;
+#endif
+#ifdef CONFIG_ACPI
+ if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
+ return;
+#endif
new_irq = dev->irq & 0xf;
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
if (new_irq != irq) {
On Sat, 2006-08-12 at 23:47 +0100, Daniel Drake wrote:
> Sergio Monteiro Basto wrote:
> > Hi, this patch (now for 2.6.18-rc2) is more readable.
>
> Ok, it looks like I was wrong in my earlier mails, ACPI vs APIC
> confusion. In the bug reports I mentioned, APIC was not being used in
> any circumstances (however it is still a bit strange how these systems
> do not need quirks when acpi=off).
I still convinced that we need patch even with acpi=off , the problem
doesn't appear only on boot time.
>
> I'm reasonably certain that this patch will apply the quirks on the
> affected systems again, so I'm happy for it to be applied, people will
> be able to use their hardware again. However I'm not sure how good a
> solution it is, because in some circumstances it will apply the quirks
> to VIA PCI cards on non-VIA boards, which was the reason we messed with
> this code in the first place. We could possibly merge it with the
> southbridge detection hack, but it gets a bit silly at that point...
>
> Jeff/Chris: any thoughts?
>
> > Cc: Alan Cox <alan@...rguk.ukuu.org.uk>
> > Cc: "Scott J. Harmon" <harmon@....edu>
> > Cc: Andrew Morton <akpm@...l.org>
> > Cc: Chris Wedgwood <cw@...f.org>
> > Cc: Greg KH <greg@...ah.com>
> > Signed-off-by: Sergio Monteiro Basto <sergio@...giomb.no-ip.org>
> > ---
> > quirks.c | 14 +++++++-------
> > 1 file changed, 7 insertions(+), 7 deletions(-)
> >
> > --- linux-2.6.17.i686/drivers/pci/quirks.c.orig 2006-07-28 12:59:04.000000000 +0100
> > +++ linux-2.6.17.i686/drivers/pci/quirks.c 2006-07-28 13:26:49.000000000 +0100
> > @@ -648,11 +648,17 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_V
> > *
> > * Some of the on-chip devices are actually '586 devices' so they are
> > * listed here.
> > + *
> > + * if flags say that we have working apic(s), we don't need to quirk these
> > + * devices
> > */
> > static void quirk_via_irq(struct pci_dev *dev)
> > {
> > u8 irq, new_irq;
> >
> > + if ((smp_found_config && !skip_ioapic_setup && nr_ioapics) || cpu_has_apic)
> > + return;
> > +
> > new_irq = dev->irq & 0xf;
> > pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> > if (new_irq != irq) {
> > @@ -662,13 +668,7 @@ static void quirk_via_irq(struct pci_dev
> > pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> > }
> > }
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
> >
> > /*
> > * VIA VT82C598 has its device ID settable and many BIOSes
> >
> >
> >
> >
>
Download attachment "smime.p7s" of type "application/x-pkcs7-signature" (2166 bytes)
Powered by blists - more mailing lists