Hi,
Before this matter getting cold, I'd like to tell this:
1? This quirk_via_irq function has been created originally by Bjorn
Helgaas, so maybe he can tell better what patch does.
2? This is need it on a Compaq presario 700 (laptop) that I bought on
year 2002. After new ACPI get some stability and enter in kernel
(2.4.22), some quirks could be deleted. And when Bjorn has being to
introduction GSIs stuff, came with this patch that replace another bunch
of quirks.
3? On my new desktop, one Intel(R) Pentium(R) D ual, using lscpi -n, I
see that I got :
cat /usr/include/linux/pci_ids.h | grep VIA | grep 3149
#define PCI_DEVICE_ID_VIA_8237_SATA 0x3149
PCI_DEVICE_ID_VIA_82C586_1 0x0571
PCI_DEVICE_ID_VIA_82C586_2 0x3038
But I think, I don't need this quirks, but with or without the quirks I
still have one oops on my ethernet card, you can have more details on:
http://bugme.osdl.org/show_bug.cgi?id=6419
I think my system runs better without quirks, but I am not sure and I
don't have a way to prove it !
REFERENCES:
http://lkml.org/lkml/2006/5/9/250
Subject Re: [PATCH] VIA quirk fixup, additional PCI IDs
Dave Jones wrote:
>
> On Tue, May 09, 2006 at 12:59:16PM -0700, Andrew Morton wrote:
> > This looks like a 2.6.17-worthy fix, but it's not clear. Help. What
> > happens if 2.6.17 doesn't have this??
>
> We won't run the quirk on machines that used to have it run,
> so we get buggered up irq routing.
>
and
Andrew Morton wrote:
OK..
We used to have
DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
and we now have
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);
which is rather a step backwards, because we need to keep that list updated
now, and we'll fail to catch new devices.
What happens if we just revert 75cf7456dd87335f574dcd53c4ae616a2ad71a11?
It says
Alan Cox pointed out that the VIA 'IRQ fixup' was erroneously running
on my system which has no VIA southbridge (but I do have a VIA IEEE
1394 device).
but so what? Did anything actually go wrong? Is it likely to go wrong in
the future?
Is there was a problem, is there something we can do at runtime in
quirk_via_irq() to avoid the problem, rather than expanding out the fixup
list in this manner?
Thanks,
--
S?rgio M. B.
On Wed, May 24, 2006 at 02:12:26AM +0100, Sergio Monteiro Basto wrote:
> I think my system runs better without quirks, but I am not sure and
> I don't have a way to prove it !
please cc' me in further comments wrt to this if possible
can you please send me your kernel vresion, and the output of lspci -n
on the relevant system(s) with a description of what problems you are
seeing?