From: Sergio Monteiro Basto <sergio@sergiomb.no-ip.org>
To: Daniel Drake <dsd@gentoo.org>, bjorn.helgaas@hp.com
Cc: linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Andrew Morton <akpm@osdl.org>, Chris Wedgwood <cw@f00f.org>,
greg@kroah.com, jeff@garzik.org, harmon@ksu.edu
Subject: Re: [PATCH] VIA IRQ quirk fixup only in XT_PIC mode Take 2
Date: Wed, 30 Aug 2006 03:57:18 +0100 [thread overview]
Message-ID: <1156906638.3022.18.camel@localhost.portugal> (raw)
In-Reply-To: <44DE5A6F.50500@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 3980 bytes --]
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@lxorguk.ukuu.org.uk>
> > Cc: "Scott J. Harmon" <harmon@ksu.edu>
> > Cc: Andrew Morton <akpm@osdl.org>
> > Cc: Chris Wedgwood <cw@f00f.org>
> > Cc: Greg KH <greg@kroah.com>
> > Signed-off-by: Sergio Monteiro Basto <sergio@sergiomb.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
> >
> >
> >
> >
>
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
next prev parent reply other threads:[~2006-08-30 2:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-28 13:01 [PATCH] VIA IRQ quirk fixup only in XT_PIC mode Take 2 Sergio Monteiro Basto
2006-07-28 19:24 ` Andrew Morton
2006-07-29 3:52 ` Sergio Monteiro Basto
2006-08-12 22:47 ` Daniel Drake
2006-08-30 2:57 ` Sergio Monteiro Basto [this message]
2006-08-30 3:46 ` Daniel Drake
2006-08-30 11:25 ` Sergio Monteiro Basto
2006-08-30 16:13 ` Daniel Drake
2006-08-31 11:33 ` Sergio Monteiro Basto
2006-09-05 13:37 ` Daniel Drake
2006-09-05 14:49 ` Sergio Monteiro Basto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1156906638.3022.18.camel@localhost.portugal \
--to=sergio@sergiomb.no-ip.org \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bjorn.helgaas@hp.com \
--cc=cw@f00f.org \
--cc=dsd@gentoo.org \
--cc=greg@kroah.com \
--cc=harmon@ksu.edu \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.