* Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
[not found] <44953B4B.9040108@agotnes.com>
@ 2006-06-20 11:21 ` Johny
2006-06-20 11:40 ` Andrew Morton
2006-06-20 12:09 ` [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergey Vlasov
0 siblings, 2 replies; 24+ messages in thread
From: Johny @ 2006-06-20 11:21 UTC (permalink / raw)
To: Johny
Cc: linux-acpi, kernel list, linux-usb-users, USB development list,
Alan Stern, Andrew Morton
Firstly, apologies for a) the massive x-post and b) the time taken to
get back to people... Please let me know where this is most
appropriately dealt with and I'll keep it off other lists, considering
the latest information;
Andrew - please note - this is not a problem exclusive to the -mm
series, on testing various combos I found it in the stock series too.
Stock kernels break for me starting with 2.6.17-rc4 (I tested all rcs
and also .17 itself), rc3 works a treat for using USB. I suspect the
following line missing in dmesg for rc4 is the reason;
-PCI: Via IRQ fixup for 0000:00:11.1, from 255 to 11
See the following dmesg files for details;
http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc3-working
http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc4-not-working
And the diff, for convenience;
http://www.agotnes.com/kernelStuff/diff-rc3_rc4
I have a Via chipset motherboard (for my sins), further details
available on request, again, for convenience, the lspci;
http://www.agotnes.com/kernelStuff/lspci
A couple of possible suspect patches introduced in the changelog for rc4
were (with the first one looking particularly interesting, the others
less interesting as I go down the list);
[PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
[PATCH] x86_64: avoid IRQ0 ioapic pin collision
[PATCH] PCI: fix via irq SATA patch
[ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips
[ALSA] via82xx: tweak VT8251 workaround
[ALSA] via82xx: add support for VIA VT8251 (AC'97)
I'm no kernel hacker, so I'm not sure how I'd isolate this one patch and
reverse / modify it. Please let me know how I can progress testing this
as I'm currently prevented from using USB with the latest set of kernels
on my test server...
I've got all kernels in the 2.6.17-rc1 through to .17 itself there, plus
a variety of mm ones too, so patches against any of those I can very
easily test.
Please keep me cc'd as I'm not on all these lists, thanks :)
:)Johny
Johny Ågotnes wrote:
> didn't go through due to missing vger. ...
>
> ------------------------------------------------------------------------
>
> Subject:
> Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues
> From:
> Johny <kernel@agotnes.com>
> Date:
> Sun, 18 Jun 2006 21:37:00 +1000
> To:
> Alan Stern <stern@rowland.harvard.edu>
>
> To:
> Alan Stern <stern@rowland.harvard.edu>
> CC:
> Johny <kernel@agotnes.com>, USB development list
> <linux-usb-devel@lists.sourceforge.net>, kernel list
> <linux-kernel@vger.kernel.org>, linux-acpi@kernel.org, akpm@osdl.org
>
>
> All,
>
> I've now tested the following;
>
> 2.6.17-rc6-mm2 with the following patch applied;
> ---
> git-acpi.patch from
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc6/2.6.17-rc6-mm2/broken-out/
>
> ---
>
> With no difference to the end-result.
>
> Next I stripped out 802.11 generic support and acx111 drivers from the
> kernel (including the acpi patches) to check if it clashes, but the same
> errors occur....
>
> Thirdly, I booted with acpi=off on the command line with two kernels,
> the stock 2.6.17-rc6-mm2 (no acpi patch and including acx111) and the
> one including the acpi patch and no acx111, the results were;
>
> acpi_patch;
> works a treat, picks up USB devices as expected.
>
> stock;
> works a treat, picks up USB devices as expected, and my acx111 card
> works too :)
>
>
> Now I'm looking for good suggestions again, this definitely looks like
> it is related to ACPI, hence the cc' to that list too, as requested by
> Andrew M.
>
> I'm happy to apply patches / config changes as appropriate and for those
> who may ask for my .config files, please see;
>
> http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2
>
> http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2git-acpi_patch
>
> Also, I left the output of lspci there for reference;
>
> http://www.agotnes.com/kernelStuff/lspci
>
> Cheers,
>
> :)Johny
>
> Alan Stern wrote:
>> [Moved to linux-usb-devel in the hope of getting additional help]
>>
>> On Thu, 15 Jun 2006, Johny wrote:
>>
>>> Alan,
>>>
>>> See comments interspersed, thanks for your assistance :)
>>>
>>> Alan Stern wrote:
>>>> On Tue, 13 Jun 2006, Johny wrote:
>>>>
>>>>> Is this best suited to this mailing list?
>>>> It's appropriate.
>>>>
>>>>> I tried the kernel list with zero responses (so far ;), let me know
>>>>> if there is
>>>>> anywhere else this should go.
>>>> ...
>>>>
>>>>> Johny Ågotnes wrote:
>>>>>> All,
>>>>>>
>>>>>> My USB hub isn't recognised with the latest -mm series, whereas with
>>>>>> 2.6.16 vanilla it is picked up & used immediately.
>>>>>>
>>>>>> The error I get in dmesg is;
>>>>>>
>>>>>> hub 4-0:1.0: USB hub found
>>>>>> hub 4-0:1.0: 2 ports detected
>>>>>> usb 1-4: new high speed USB device using ehci_hcd and address 3
>>>>>> ehci_hcd 0000:00:10.3: Unlink after no-IRQ? Controller is probably
>>>>>> using the wrong IRQ.
>>>> That last line is a clue. What interrupt numbers are assigned under
>>>> 2.6.16? If you unplug the SonyEricsson DCU-11 Cable before booting
>>>> (and
>>>> leave it unplugged), what shows up in /proc/interrupts for both
>>>> versions
>>>> of the kernel?
>>> See attached, both with the DCU-11 cable disconnected.
>>
>> From 2.6.16:
>> CPU0 0: 16101 XT-PIC timer
>> 1: 148 XT-PIC i8042
>> 2: 0 XT-PIC cascade
>> 7: 0 XT-PIC parport0
>> 9: 0 XT-PIC acpi
>> 10: 151 XT-PIC ehci_hcd:usb1, uhci_hcd:usb4
>> 11: 0 XT-PIC uhci_hcd:usb2, uhci_hcd:usb3
>> 12: 138 XT-PIC i8042
>> 14: 172 XT-PIC ide0
>> 15: 2458 XT-PIC ide1
>> NMI: 0 ERR: 0
>>
>> From 2.6.17:
>> CPU0 0: 35651 XT-PIC-level timer
>> 1: 129 XT-PIC-level i8042
>> 2: 0 XT-PIC-level cascade
>> 6: 3 XT-PIC-level floppy
>> 7: 0 XT-PIC-level parport0
>> 9: 0 XT-PIC-level acpi
>> 10: 0 XT-PIC-level ehci_hcd:usb1, uhci_hcd:usb4
>> 11: 1940 XT-PIC-level uhci_hcd:usb2, uhci_hcd:usb3, wlan0
>> 12: 162 XT-PIC-level i8042
>> 14: 171 XT-PIC-level ide0
>> 15: 4251 XT-PIC-level ide1
>> NMI: 0 ERR: 0
>>
>> There's nothing obviously wrong.
>>
>>>> Most likely this is a problem with the ACPI subsystem, not a USB
>>>> problem.
>>>>
>>> I guessed USB due to the number of USB changes in the -mm series and,
>>> obviously, my USB devices stopped registering, however, I'd not know
>>> one from the other ;)
>>
>> What happens if you boot with "acpi=off" on the boot command line?
>>
>> Alan Stern
>>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 11:21 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Johny
@ 2006-06-20 11:40 ` Andrew Morton
2006-06-20 13:22 ` Sergio Monteiro Basto
2006-06-21 10:50 ` Johny
2006-06-20 12:09 ` [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergey Vlasov
1 sibling, 2 replies; 24+ messages in thread
From: Andrew Morton @ 2006-06-20 11:40 UTC (permalink / raw)
To: Johny
Cc: kernel, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, Chris Wedgwood
On Tue, 20 Jun 2006 21:21:35 +1000
Johny <kernel@agotnes.com> wrote:
> Firstly, apologies for a) the massive x-post and b) the time taken to
> get back to people... Please let me know where this is most
> appropriately dealt with and I'll keep it off other lists, considering
> the latest information;
>
> Andrew - please note - this is not a problem exclusive to the -mm
> series, on testing various combos I found it in the stock series too.
Thanks for persisting with this.
> Stock kernels break for me starting with 2.6.17-rc4 (I tested all rcs
> and also .17 itself), rc3 works a treat for using USB. I suspect the
> following line missing in dmesg for rc4 is the reason;
>
> -PCI: Via IRQ fixup for 0000:00:11.1, from 255 to 11
yes, that looks suspicious.
> See the following dmesg files for details;
>
> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc3-working
> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc4-not-working
>
> And the diff, for convenience;
>
> http://www.agotnes.com/kernelStuff/diff-rc3_rc4
>
> I have a Via chipset motherboard (for my sins), further details
> available on request, again, for convenience, the lspci;
>
> http://www.agotnes.com/kernelStuff/lspci
>
> A couple of possible suspect patches introduced in the changelog for rc4
> were (with the first one looking particularly interesting, the others
> less interesting as I go down the list);
>
> [PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
This one, I'd expect.
> [PATCH] x86_64: avoid IRQ0 ioapic pin collision
> [PATCH] PCI: fix via irq SATA patch
> [ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips
> [ALSA] via82xx: tweak VT8251 workaround
> [ALSA] via82xx: add support for VIA VT8251 (AC'97)
>
You could try a `patch -R' of the below.
commit 75cf7456dd87335f574dcd53c4ae616a2ad71a11
Author: Chris Wedgwood <cw@f00f.org>
Date: Tue Apr 18 23:57:09 2006 -0700
[PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
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).
This should address that. I also changed "Via IRQ" to "VIA IRQ"
(initially I read Via as a capitalized via (by way/means of).
Signed-off-by: Chris Wedgwood <cw@f00f.org>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index c42ae2c..19e2b17 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -642,13 +642,15 @@ static void quirk_via_irq(struct pci_dev
new_irq = dev->irq & 0xf;
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
if (new_irq != irq) {
- printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
+ printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n",
pci_name(dev), irq, new_irq);
udelay(15); /* unknown if delay really needed */
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, 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);
/*
* VIA VT82C598 has its device ID settable and many BIOSes
If you have trouble getting it to apply, just manually replace all the
DECLARE_PCI_FIXUP_ENABLE lines at the end of quirk_via_irq() with the
single line
DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 11:21 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Johny
2006-06-20 11:40 ` Andrew Morton
@ 2006-06-20 12:09 ` Sergey Vlasov
2006-06-20 13:30 ` Sergio Monteiro Basto
1 sibling, 1 reply; 24+ messages in thread
From: Sergey Vlasov @ 2006-06-20 12:09 UTC (permalink / raw)
To: Johny
Cc: Andrew Morton, USB development list, kernel list,
linux-usb-users, linux-acpi, Alan Stern, Chris Wedgwood
[-- Attachment #1: Type: text/plain, Size: 7762 bytes --]
On Tue, Jun 20, 2006 at 09:21:35PM +1000, Johny wrote:
[...]
> Stock kernels break for me starting with 2.6.17-rc4 (I tested all rcs
> and also .17 itself), rc3 works a treat for using USB. I suspect the
> following line missing in dmesg for rc4 is the reason;
>
> -PCI: Via IRQ fixup for 0000:00:11.1, from 255 to 11
Well, not exactly this line (0000:00:11.1 is the IDE controller, which is
in legacy mode and therefore does not use its PCI interrupt), but the next
similar line is for the USB 2.0 (EHCI) controller:
-PCI: Via IRQ fixup for 0000:00:10.3, from 5 to 10
> See the following dmesg files for details;
>
> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc3-working
> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc4-not-working
>
> And the diff, for convenience;
>
> http://www.agotnes.com/kernelStuff/diff-rc3_rc4
Try as root:
setpci -s 00:10.3 INTERRUPT_LINE=0a
(this matches "ehci_hcd 0000:00:10.3: irq 10, ..." in dmesg).
If after doing this USB works again (you will need to replug USB devices),
the missing VIA IRQ quirk is definitely the problem.
> I have a Via chipset motherboard (for my sins), further details
> available on request, again, for convenience, the lspci;
>
> http://www.agotnes.com/kernelStuff/lspci
You seem to have also the builtin audio and Ethernet on this board - these
devices may have the same problem, if you tried to use them.
> A couple of possible suspect patches introduced in the changelog for rc4
> were (with the first one looking particularly interesting, the others
> less interesting as I go down the list);
>
> [PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
> [PATCH] x86_64: avoid IRQ0 ioapic pin collision
> [PATCH] PCI: fix via irq SATA patch
> [ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips
> [ALSA] via82xx: tweak VT8251 workaround
> [ALSA] via82xx: add support for VIA VT8251 (AC'97)
>
> I'm no kernel hacker, so I'm not sure how I'd isolate this one patch and
> reverse / modify it. Please let me know how I can progress testing this
> as I'm currently prevented from using USB with the latest set of kernels
> on my test server...
>
> I've got all kernels in the 2.6.17-rc1 through to .17 itself there, plus
> a variety of mm ones too, so patches against any of those I can very
> easily test.
>
> Please keep me cc'd as I'm not on all these lists, thanks :)
>
> :)Johny
>
> Johny ?gotnes wrote:
> > didn't go through due to missing vger. ...
> >
> > ------------------------------------------------------------------------
> >
> > Subject:
> > Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues
> > From:
> > Johny <kernel@agotnes.com>
> > Date:
> > Sun, 18 Jun 2006 21:37:00 +1000
> > To:
> > Alan Stern <stern@rowland.harvard.edu>
> >
> > To:
> > Alan Stern <stern@rowland.harvard.edu>
> > CC:
> > Johny <kernel@agotnes.com>, USB development list
> > <linux-usb-devel@lists.sourceforge.net>, kernel list
> > <linux-kernel@vger.kernel.org>, linux-acpi@kernel.org, akpm@osdl.org
> >
> >
> > All,
> >
> > I've now tested the following;
> >
> > 2.6.17-rc6-mm2 with the following patch applied;
> > ---
> > git-acpi.patch from
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc6/2.6.17-rc6-mm2/broken-out/
> >
> > ---
> >
> > With no difference to the end-result.
> >
> > Next I stripped out 802.11 generic support and acx111 drivers from the
> > kernel (including the acpi patches) to check if it clashes, but the same
> > errors occur....
> >
> > Thirdly, I booted with acpi=off on the command line with two kernels,
> > the stock 2.6.17-rc6-mm2 (no acpi patch and including acx111) and the
> > one including the acpi patch and no acx111, the results were;
> >
> > acpi_patch;
> > works a treat, picks up USB devices as expected.
> >
> > stock;
> > works a treat, picks up USB devices as expected, and my acx111 card
> > works too :)
> >
> >
> > Now I'm looking for good suggestions again, this definitely looks like
> > it is related to ACPI, hence the cc' to that list too, as requested by
> > Andrew M.
> >
> > I'm happy to apply patches / config changes as appropriate and for those
> > who may ask for my .config files, please see;
> >
> > http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2
> >
> > http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2git-acpi_patch
> >
> > Also, I left the output of lspci there for reference;
> >
> > http://www.agotnes.com/kernelStuff/lspci
> >
> > Cheers,
> >
> > :)Johny
> >
> > Alan Stern wrote:
> >> [Moved to linux-usb-devel in the hope of getting additional help]
> >>
> >> On Thu, 15 Jun 2006, Johny wrote:
> >>
> >>> Alan,
> >>>
> >>> See comments interspersed, thanks for your assistance :)
> >>>
> >>> Alan Stern wrote:
> >>>> On Tue, 13 Jun 2006, Johny wrote:
> >>>>
> >>>>> Is this best suited to this mailing list?
> >>>> It's appropriate.
> >>>>
> >>>>> I tried the kernel list with zero responses (so far ;), let me know
> >>>>> if there is
> >>>>> anywhere else this should go.
> >>>> ...
> >>>>
> >>>>> Johny ?gotnes wrote:
> >>>>>> All,
> >>>>>>
> >>>>>> My USB hub isn't recognised with the latest -mm series, whereas with
> >>>>>> 2.6.16 vanilla it is picked up & used immediately.
> >>>>>>
> >>>>>> The error I get in dmesg is;
> >>>>>>
> >>>>>> hub 4-0:1.0: USB hub found
> >>>>>> hub 4-0:1.0: 2 ports detected
> >>>>>> usb 1-4: new high speed USB device using ehci_hcd and address 3
> >>>>>> ehci_hcd 0000:00:10.3: Unlink after no-IRQ? Controller is probably
> >>>>>> using the wrong IRQ.
> >>>> That last line is a clue. What interrupt numbers are assigned under
> >>>> 2.6.16? If you unplug the SonyEricsson DCU-11 Cable before booting
> >>>> (and
> >>>> leave it unplugged), what shows up in /proc/interrupts for both
> >>>> versions
> >>>> of the kernel?
> >>> See attached, both with the DCU-11 cable disconnected.
> >>
> >> From 2.6.16:
> >> CPU0 0: 16101 XT-PIC timer
> >> 1: 148 XT-PIC i8042
> >> 2: 0 XT-PIC cascade
> >> 7: 0 XT-PIC parport0
> >> 9: 0 XT-PIC acpi
> >> 10: 151 XT-PIC ehci_hcd:usb1, uhci_hcd:usb4
> >> 11: 0 XT-PIC uhci_hcd:usb2, uhci_hcd:usb3
> >> 12: 138 XT-PIC i8042
> >> 14: 172 XT-PIC ide0
> >> 15: 2458 XT-PIC ide1
> >> NMI: 0 ERR: 0
> >>
> >> From 2.6.17:
> >> CPU0 0: 35651 XT-PIC-level timer
> >> 1: 129 XT-PIC-level i8042
> >> 2: 0 XT-PIC-level cascade
> >> 6: 3 XT-PIC-level floppy
> >> 7: 0 XT-PIC-level parport0
> >> 9: 0 XT-PIC-level acpi
> >> 10: 0 XT-PIC-level ehci_hcd:usb1, uhci_hcd:usb4
> >> 11: 1940 XT-PIC-level uhci_hcd:usb2, uhci_hcd:usb3, wlan0
> >> 12: 162 XT-PIC-level i8042
> >> 14: 171 XT-PIC-level ide0
> >> 15: 4251 XT-PIC-level ide1
> >> NMI: 0 ERR: 0
> >>
> >> There's nothing obviously wrong.
> >>
> >>>> Most likely this is a problem with the ACPI subsystem, not a USB
> >>>> problem.
> >>>>
> >>> I guessed USB due to the number of USB changes in the -mm series and,
> >>> obviously, my USB devices stopped registering, however, I'd not know
> >>> one from the other ;)
> >>
> >> What happens if you boot with "acpi=off" on the boot command line?
> >>
> >> Alan Stern
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 11:40 ` Andrew Morton
@ 2006-06-20 13:22 ` Sergio Monteiro Basto
2006-06-21 10:50 ` Johny
1 sibling, 0 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-20 13:22 UTC (permalink / raw)
To: Andrew Morton
Cc: Johny, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, Chris Wedgwood
Hi,
In first thread of this issue in LKML, some months ago, (right now, I
don't have the link).
After some discussion, someone arrive the conclusion of that:
You only need this quirks, if interrupts are in XT-PIC mode and is
harmless if don't (and "should only run for VIA southbridges"). So if
you are in XT-PIC mode, it is more probability that patch -R in
question, have some affect.
cat /proc/interrupts
give you: IO-APIC-... or XT-PIC ?
and what PCI_IDs do you have ? (lspci -n)
Other issue, you can't revert this patch cleanly because after that we
have other patch that adds some more IDs. So just delete any declare of
PCI_DEVICE_ID_VIA_82C... and add one declare with PCI_ANY_ID
Thanks,
Sérgio M. B.
On Tue, 2006-06-20 at 04:40 -0700, Andrew Morton wrote:
> You could try a `patch -R' of the below.
>
> commit 75cf7456dd87335f574dcd53c4ae616a2ad71a11
> Author: Chris Wedgwood <cw@f00f.org>
> Date: Tue Apr 18 23:57:09 2006 -0700
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 12:09 ` [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergey Vlasov
@ 2006-06-20 13:30 ` Sergio Monteiro Basto
2006-06-20 13:59 ` Sergey Vlasov
0 siblings, 1 reply; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-20 13:30 UTC (permalink / raw)
To: Sergey Vlasov
Cc: Johny, Andrew Morton, USB development list, kernel list,
linux-usb-users, linux-acpi, Alan Stern, Chris Wedgwood
someone has it has a case similar and said that won't work without
acpi=noirq
http://bugzilla.kernel.org/show_bug.cgi?id=6654
On Tue, 2006-06-20 at 16:09 +0400, Sergey Vlasov wrote:
> On Tue, Jun 20, 2006 at 09:21:35PM +1000, Johny wrote:
> [...]
> > Stock kernels break for me starting with 2.6.17-rc4 (I tested all rcs
> > and also .17 itself), rc3 works a treat for using USB. I suspect the
> > following line missing in dmesg for rc4 is the reason;
> >
> > -PCI: Via IRQ fixup for 0000:00:11.1, from 255 to 11
>
> Well, not exactly this line (0000:00:11.1 is the IDE controller, which is
> in legacy mode and therefore does not use its PCI interrupt), but the next
> similar line is for the USB 2.0 (EHCI) controller:
>
> -PCI: Via IRQ fixup for 0000:00:10.3, from 5 to 10
>
> > See the following dmesg files for details;
> >
> > http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc3-working
> > http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc4-not-working
> >
> > And the diff, for convenience;
> >
> > http://www.agotnes.com/kernelStuff/diff-rc3_rc4
>
> Try as root:
>
> setpci -s 00:10.3 INTERRUPT_LINE=0a
>
> (this matches "ehci_hcd 0000:00:10.3: irq 10, ..." in dmesg).
>
> If after doing this USB works again (you will need to replug USB devices),
> the missing VIA IRQ quirk is definitely the problem.
>
> > I have a Via chipset motherboard (for my sins), further details
> > available on request, again, for convenience, the lspci;
> >
> > http://www.agotnes.com/kernelStuff/lspci
>
> You seem to have also the builtin audio and Ethernet on this board - these
> devices may have the same problem, if you tried to use them.
>
> > A couple of possible suspect patches introduced in the changelog for rc4
> > were (with the first one looking particularly interesting, the others
> > less interesting as I go down the list);
> >
> > [PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
> > [PATCH] x86_64: avoid IRQ0 ioapic pin collision
> > [PATCH] PCI: fix via irq SATA patch
> > [ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips
> > [ALSA] via82xx: tweak VT8251 workaround
> > [ALSA] via82xx: add support for VIA VT8251 (AC'97)
> >
> > I'm no kernel hacker, so I'm not sure how I'd isolate this one patch and
> > reverse / modify it. Please let me know how I can progress testing this
> > as I'm currently prevented from using USB with the latest set of kernels
> > on my test server...
> >
> > I've got all kernels in the 2.6.17-rc1 through to .17 itself there, plus
> > a variety of mm ones too, so patches against any of those I can very
> > easily test.
> >
> > Please keep me cc'd as I'm not on all these lists, thanks :)
> >
> > :)Johny
> >
> > Johny ?gotnes wrote:
> > > didn't go through due to missing vger. ...
> > >
> > > ------------------------------------------------------------------------
> > >
> > > Subject:
> > > Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues
> > > From:
> > > Johny <kernel@agotnes.com>
> > > Date:
> > > Sun, 18 Jun 2006 21:37:00 +1000
> > > To:
> > > Alan Stern <stern@rowland.harvard.edu>
> > >
> > > To:
> > > Alan Stern <stern@rowland.harvard.edu>
> > > CC:
> > > Johny <kernel@agotnes.com>, USB development list
> > > <linux-usb-devel@lists.sourceforge.net>, kernel list
> > > <linux-kernel@vger.kernel.org>, linux-acpi@kernel.org, akpm@osdl.org
> > >
> > >
> > > All,
> > >
> > > I've now tested the following;
> > >
> > > 2.6.17-rc6-mm2 with the following patch applied;
> > > ---
> > > git-acpi.patch from
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc6/2.6.17-rc6-mm2/broken-out/
> > >
> > > ---
> > >
> > > With no difference to the end-result.
> > >
> > > Next I stripped out 802.11 generic support and acx111 drivers from the
> > > kernel (including the acpi patches) to check if it clashes, but the same
> > > errors occur....
> > >
> > > Thirdly, I booted with acpi=off on the command line with two kernels,
> > > the stock 2.6.17-rc6-mm2 (no acpi patch and including acx111) and the
> > > one including the acpi patch and no acx111, the results were;
> > >
> > > acpi_patch;
> > > works a treat, picks up USB devices as expected.
> > >
> > > stock;
> > > works a treat, picks up USB devices as expected, and my acx111 card
> > > works too :)
> > >
> > >
> > > Now I'm looking for good suggestions again, this definitely looks like
> > > it is related to ACPI, hence the cc' to that list too, as requested by
> > > Andrew M.
> > >
> > > I'm happy to apply patches / config changes as appropriate and for those
> > > who may ask for my .config files, please see;
> > >
> > > http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2
> > >
> > > http://www.agotnes.com/kernelStuff/config-2.6.17-rc6-mm2git-acpi_patch
> > >
> > > Also, I left the output of lspci there for reference;
> > >
> > > http://www.agotnes.com/kernelStuff/lspci
> > >
> > > Cheers,
> > >
> > > :)Johny
> > >
> > > Alan Stern wrote:
> > >> [Moved to linux-usb-devel in the hope of getting additional help]
> > >>
> > >> On Thu, 15 Jun 2006, Johny wrote:
> > >>
> > >>> Alan,
> > >>>
> > >>> See comments interspersed, thanks for your assistance :)
> > >>>
> > >>> Alan Stern wrote:
> > >>>> On Tue, 13 Jun 2006, Johny wrote:
> > >>>>
> > >>>>> Is this best suited to this mailing list?
> > >>>> It's appropriate.
> > >>>>
> > >>>>> I tried the kernel list with zero responses (so far ;), let me know
> > >>>>> if there is
> > >>>>> anywhere else this should go.
> > >>>> ...
> > >>>>
> > >>>>> Johny ?gotnes wrote:
> > >>>>>> All,
> > >>>>>>
> > >>>>>> My USB hub isn't recognised with the latest -mm series, whereas with
> > >>>>>> 2.6.16 vanilla it is picked up & used immediately.
> > >>>>>>
> > >>>>>> The error I get in dmesg is;
> > >>>>>>
> > >>>>>> hub 4-0:1.0: USB hub found
> > >>>>>> hub 4-0:1.0: 2 ports detected
> > >>>>>> usb 1-4: new high speed USB device using ehci_hcd and address 3
> > >>>>>> ehci_hcd 0000:00:10.3: Unlink after no-IRQ? Controller is probably
> > >>>>>> using the wrong IRQ.
> > >>>> That last line is a clue. What interrupt numbers are assigned under
> > >>>> 2.6.16? If you unplug the SonyEricsson DCU-11 Cable before booting
> > >>>> (and
> > >>>> leave it unplugged), what shows up in /proc/interrupts for both
> > >>>> versions
> > >>>> of the kernel?
> > >>> See attached, both with the DCU-11 cable disconnected.
> > >>
> > >> From 2.6.16:
> > >> CPU0 0: 16101 XT-PIC timer
> > >> 1: 148 XT-PIC i8042
> > >> 2: 0 XT-PIC cascade
> > >> 7: 0 XT-PIC parport0
> > >> 9: 0 XT-PIC acpi
> > >> 10: 151 XT-PIC ehci_hcd:usb1, uhci_hcd:usb4
> > >> 11: 0 XT-PIC uhci_hcd:usb2, uhci_hcd:usb3
> > >> 12: 138 XT-PIC i8042
> > >> 14: 172 XT-PIC ide0
> > >> 15: 2458 XT-PIC ide1
> > >> NMI: 0 ERR: 0
> > >>
> > >> From 2.6.17:
> > >> CPU0 0: 35651 XT-PIC-level timer
> > >> 1: 129 XT-PIC-level i8042
> > >> 2: 0 XT-PIC-level cascade
> > >> 6: 3 XT-PIC-level floppy
> > >> 7: 0 XT-PIC-level parport0
> > >> 9: 0 XT-PIC-level acpi
> > >> 10: 0 XT-PIC-level ehci_hcd:usb1, uhci_hcd:usb4
> > >> 11: 1940 XT-PIC-level uhci_hcd:usb2, uhci_hcd:usb3, wlan0
> > >> 12: 162 XT-PIC-level i8042
> > >> 14: 171 XT-PIC-level ide0
> > >> 15: 4251 XT-PIC-level ide1
> > >> NMI: 0 ERR: 0
> > >>
> > >> There's nothing obviously wrong.
> > >>
> > >>>> Most likely this is a problem with the ACPI subsystem, not a USB
> > >>>> problem.
> > >>>>
> > >>> I guessed USB due to the number of USB changes in the -mm series and,
> > >>> obviously, my USB devices stopped registering, however, I'd not know
> > >>> one from the other ;)
> > >>
> > >> What happens if you boot with "acpi=off" on the boot command line?
> > >>
> > >> Alan Stern
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 13:30 ` Sergio Monteiro Basto
@ 2006-06-20 13:59 ` Sergey Vlasov
0 siblings, 0 replies; 24+ messages in thread
From: Sergey Vlasov @ 2006-06-20 13:59 UTC (permalink / raw)
To: Sergio Monteiro Basto
Cc: Johny, Andrew Morton, USB development list, kernel list,
linux-usb-users, linux-acpi, Alan Stern, Chris Wedgwood
[-- Attachment #1: Type: text/plain, Size: 581 bytes --]
On Tue, Jun 20, 2006 at 02:30:06PM +0100, Sergio Monteiro Basto wrote:
> someone has it has a case similar and said that won't work without
> acpi=noirq
>
> http://bugzilla.kernel.org/show_bug.cgi?id=6654
Yes, acpi=noirq will work around this bug in many cases, because Linux
will not try to reassign IRQs set up by BIOS.
BTW, the problem may be considered as an ACPI BIOS bug, because
reconfiguring a PCI Interrupt Link should set up IRQ routing, but it
obviously does not. Unfortunately, this problem seems to be widespread,
so a workaround in kernel is needed.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-20 11:40 ` Andrew Morton
2006-06-20 13:22 ` Sergio Monteiro Basto
@ 2006-06-21 10:50 ` Johny
2006-06-22 0:36 ` who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Sergio Monteiro Basto
1 sibling, 1 reply; 24+ messages in thread
From: Johny @ 2006-06-21 10:50 UTC (permalink / raw)
To: Andrew Morton
Cc: Johny, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, Chris Wedgwood, sergio, vsu
[-- Attachment #1: Type: text/plain, Size: 4718 bytes --]
Andrew,
Success :)
I've attached the patches used vs 2.6.17-rc4 (stock) and 2.6.17-rc6-mm2
(as the VIA include lists were different). I simply made the change
manually, based on your and others' inputs (it seemed the simpler option).
Both kernels now boot, and all USB devices are recognised correctly.
Sergio, you can find attached lspci -n output as requested, and indeed,
I run in XT_PIC mode for interrupts.
I did NOT run the setpci command as requested by Sergey, let me know if
that helps anyone considering the fix sorted this out.
Where to from here I'll leave with you guys, an entry in the quirks.c
file certainly is warranted for my motherboard...
I'm happy to test further patches if required on this, for now I'm on
rc6-mm2 with my attached patch to have both ACX111 networking and USB
working good :)
Cheers!
:)Johny
Andrew Morton wrote:
> On Tue, 20 Jun 2006 21:21:35 +1000
> Johny <kernel@agotnes.com> wrote:
>
>> Firstly, apologies for a) the massive x-post and b) the time taken to
>> get back to people... Please let me know where this is most
>> appropriately dealt with and I'll keep it off other lists, considering
>> the latest information;
>>
>> Andrew - please note - this is not a problem exclusive to the -mm
>> series, on testing various combos I found it in the stock series too.
>
> Thanks for persisting with this.
>
>> Stock kernels break for me starting with 2.6.17-rc4 (I tested all rcs
>> and also .17 itself), rc3 works a treat for using USB. I suspect the
>> following line missing in dmesg for rc4 is the reason;
>>
>> -PCI: Via IRQ fixup for 0000:00:11.1, from 255 to 11
>
> yes, that looks suspicious.
>
>> See the following dmesg files for details;
>>
>> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc3-working
>> http://www.agotnes.com/kernelStuff/dmesg-2.6.17-rc4-not-working
>>
>> And the diff, for convenience;
>>
>> http://www.agotnes.com/kernelStuff/diff-rc3_rc4
>>
>> I have a Via chipset motherboard (for my sins), further details
>> available on request, again, for convenience, the lspci;
>>
>> http://www.agotnes.com/kernelStuff/lspci
>>
>> A couple of possible suspect patches introduced in the changelog for rc4
>> were (with the first one looking particularly interesting, the others
>> less interesting as I go down the list);
>>
>> [PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
>
> This one, I'd expect.
>
>> [PATCH] x86_64: avoid IRQ0 ioapic pin collision
>> [PATCH] PCI: fix via irq SATA patch
>> [ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251 chips
>> [ALSA] via82xx: tweak VT8251 workaround
>> [ALSA] via82xx: add support for VIA VT8251 (AC'97)
>>
>
> You could try a `patch -R' of the below.
>
> commit 75cf7456dd87335f574dcd53c4ae616a2ad71a11
> Author: Chris Wedgwood <cw@f00f.org>
> Date: Tue Apr 18 23:57:09 2006 -0700
>
> [PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
>
> 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).
>
> This should address that. I also changed "Via IRQ" to "VIA IRQ"
> (initially I read Via as a capitalized via (by way/means of).
>
> Signed-off-by: Chris Wedgwood <cw@f00f.org>
> Acked-by: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index c42ae2c..19e2b17 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -642,13 +642,15 @@ static void quirk_via_irq(struct pci_dev
> new_irq = dev->irq & 0xf;
> pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> if (new_irq != irq) {
> - printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
> + printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n",
> pci_name(dev), irq, new_irq);
> udelay(15); /* unknown if delay really needed */
> pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> }
> }
> -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, 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);
>
> /*
> * VIA VT82C598 has its device ID settable and many BIOSes
>
>
> If you have trouble getting it to apply, just manually replace all the
> DECLARE_PCI_FIXUP_ENABLE lines at the end of quirk_via_irq() with the
> single line
>
> DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
>
[-- Attachment #2: via.patch-rc4stock --]
[-- Type: text/plain, Size: 634 bytes --]
--- usb/drivers/pci/quirks.c 2006-06-21 20:18:56.000000000 +1000
+++ linux-2.6.17-rc4/drivers/pci/quirks.c 2006-06-21 20:13:15.000000000 +1000
@@ -648,9 +648,7 @@
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_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 #3: via.patch-rc6-mm2 --]
[-- Type: text/plain, Size: 995 bytes --]
--- usb/drivers/pci/quirks.c 2006-06-21 20:25:41.000000000 +1000
+++ linux-2.6.17-rc6-mm2/drivers/pci/quirks.c 2006-06-21 20:25:08.000000000 +1000
@@ -662,13 +662,7 @@
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 #4: lspci-n --]
[-- Type: text/plain, Size: 360 bytes --]
00:00.0 0600: 1106:3205
00:01.0 0604: 1106:b198
00:08.0 0280: 104c:9066
00:10.0 0c03: 1106:3038 (rev 80)
00:10.1 0c03: 1106:3038 (rev 80)
00:10.2 0c03: 1106:3038 (rev 80)
00:10.3 0c03: 1106:3104 (rev 82)
00:11.0 0601: 1106:3177
00:11.1 0101: 1106:0571 (rev 06)
00:11.5 0401: 1106:3059 (rev 50)
00:12.0 0200: 1106:3065 (rev 74)
01:00.0 0300: 1106:7205 (rev 01)
^ permalink raw reply [flat|nested] 24+ messages in thread
* who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-21 10:50 ` Johny
@ 2006-06-22 0:36 ` Sergio Monteiro Basto
2006-06-22 0:47 ` Randy.Dunlap
2006-06-23 15:31 ` [linux-usb-devel] who I do " David Brownell
0 siblings, 2 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-22 0:36 UTC (permalink / raw)
To: Johny
Cc: Andrew Morton, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, Chris Wedgwood, vsu
[-- Attachment #1: Type: text/plain, Size: 915 bytes --]
who I do know if a interrupt is ioapic_edge_type or ioapic_edge_type ?
On Wed, 2006-06-21 at 20:50 +1000, Johny wrote:
> Success :)
>
> I simply made the change
> manually, based on your and others' inputs (it seemed the simpler
> option).
>
> Both kernels now boot, and all USB devices are recognised correctly.
>
> I run in XT_PIC mode for interrupts.
>
Hi, thanks for your positive test on "my" theory.
Here it goes the link that I talked about on last email
http://lkml.org/lkml/2005/8/18/92 (you can read the previous messages on
this thread)
The patch of this link doesn't compile (at least for me), but have a
simple idea, which is just quirk the VIA_PCIs if they are in XT_PIC mode
and I think that is the way of this quirks should go.
So someone help me out and do a patch that recognize if the interrupt is
in XT-PIC mode or not ?
Thanks,
--
Sérgio M. B.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 0:36 ` who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Sergio Monteiro Basto
@ 2006-06-22 0:47 ` Randy.Dunlap
2006-06-22 1:04 ` how I " Sergio Monteiro Basto
2006-06-23 15:31 ` [linux-usb-devel] who I do " David Brownell
1 sibling, 1 reply; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-22 0:47 UTC (permalink / raw)
To: sergio
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
On Thu, 22 Jun 2006 01:36:46 +0100 Sergio Monteiro Basto wrote:
> who I do know if a interrupt is ioapic_edge_type or ioapic_edge_type ?
Do you mean how they are configured in a running kernel?
cat /proc/interrupts ::
CPU0 CPU1
0: 12412944 12407808 IO-APIC-edge timer
1: 122673 124208 IO-APIC-edge i8042
7: 0 0 IO-APIC-edge parport0
9: 0 0 IO-APIC-level acpi
12: 1141950 1138138 IO-APIC-edge i8042
14: 1107749 1109102 IO-APIC-edge ide0
58: 451498 0 PCI-MSI eth0
66: 530689 495356 PCI-MSI libata
74: 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb6
82: 31 3 IO-APIC-level ohci_hcd:usb2, ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5
90: 561 492 IO-APIC-level HDA Intel
169: 3 0 IO-APIC-level ohci1394
177: 0 0 IO-APIC-level uhci_hcd:usb8
185: 0 0 IO-APIC-level uhci_hcd:usb7
193: 0 0 IO-APIC-level uhci_hcd:usb9
or how they should be configured in case you are not sure?
See a hardware spec. for that.
> On Wed, 2006-06-21 at 20:50 +1000, Johny wrote:
> > Success :)
> >
> > I simply made the change
> > manually, based on your and others' inputs (it seemed the simpler
> > option).
> >
> > Both kernels now boot, and all USB devices are recognised correctly.
> >
>
> > I run in XT_PIC mode for interrupts.
> >
>
> Hi, thanks for your positive test on "my" theory.
>
> Here it goes the link that I talked about on last email
> http://lkml.org/lkml/2005/8/18/92 (you can read the previous messages on
> this thread)
>
> The patch of this link doesn't compile (at least for me), but have a
> simple idea, which is just quirk the VIA_PCIs if they are in XT_PIC mode
> and I think that is the way of this quirks should go.
>
> So someone help me out and do a patch that recognize if the interrupt is
> in XT-PIC mode or not ?
>
> Thanks,
> --
> Sérgio M. B.
>
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 0:47 ` Randy.Dunlap
@ 2006-06-22 1:04 ` Sergio Monteiro Basto
2006-06-22 4:08 ` Randy.Dunlap
0 siblings, 1 reply; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-22 1:04 UTC (permalink / raw)
To: Randy.Dunlap
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
[-- Attachment #1: Type: text/plain, Size: 2591 bytes --]
who no, how sorry! I am a little tired
On Wed, 2006-06-21 at 17:47 -0700, Randy.Dunlap wrote:
> On Thu, 22 Jun 2006 01:36:46 +0100 Sergio Monteiro Basto wrote:
>
> > who I do know if a interrupt is ioapic_edge_type or ioapic_edge_type ?
>
> Do you mean how they are configured in a running kernel?
yes, I want to know in
linux-2.6.13/drivers/pci/quirks.c
when I am going quirk the PCI_VIA irq, if this irq is in
IO-APIC-something or is in XT-PIC , to decide if I quirk the interrupt
or not
>
> cat /proc/interrupts ::
>
> CPU0 CPU1
> 0: 12412944 12407808 IO-APIC-edge timer
> 1: 122673 124208 IO-APIC-edge i8042
> 7: 0 0 IO-APIC-edge parport0
> 9: 0 0 IO-APIC-level acpi
> 12: 1141950 1138138 IO-APIC-edge i8042
> 14: 1107749 1109102 IO-APIC-edge ide0
> 58: 451498 0 PCI-MSI eth0
> 66: 530689 495356 PCI-MSI libata
> 74: 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb6
> 82: 31 3 IO-APIC-level ohci_hcd:usb2, ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5
> 90: 561 492 IO-APIC-level HDA Intel
> 169: 3 0 IO-APIC-level ohci1394
> 177: 0 0 IO-APIC-level uhci_hcd:usb8
> 185: 0 0 IO-APIC-level uhci_hcd:usb7
> 193: 0 0 IO-APIC-level uhci_hcd:usb9
>
>
> or how they should be configured in case you are not sure?
> See a hardware spec. for that.
>
>
> > On Wed, 2006-06-21 at 20:50 +1000, Johny wrote:
> > > Success :)
> > >
> > > I simply made the change
> > > manually, based on your and others' inputs (it seemed the simpler
> > > option).
> > >
> > > Both kernels now boot, and all USB devices are recognised correctly.
> > >
> >
> > > I run in XT_PIC mode for interrupts.
> > >
> >
> > Hi, thanks for your positive test on "my" theory.
> >
> > Here it goes the link that I talked about on last email
> > http://lkml.org/lkml/2005/8/18/92 (you can read the previous messages on
> > this thread)
> >
> > The patch of this link doesn't compile (at least for me), but have a
> > simple idea, which is just quirk the VIA_PCIs if they are in XT_PIC mode
> > and I think that is the way of this quirks should go.
> >
> > So someone help me out and do a patch that recognize if the interrupt is
> > in XT-PIC mode or not ?
> >
> > Thanks,
> > --
> > Sérgio M. B.
> >
>
>
> ---
> ~Randy
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 1:04 ` how I " Sergio Monteiro Basto
@ 2006-06-22 4:08 ` Randy.Dunlap
2006-06-22 11:56 ` Sergio Monteiro Basto
0 siblings, 1 reply; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-22 4:08 UTC (permalink / raw)
To: sergio
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
On Thu, 22 Jun 2006 02:04:48 +0100 Sergio Monteiro Basto wrote:
> who no, how sorry! I am a little tired
>
> On Wed, 2006-06-21 at 17:47 -0700, Randy.Dunlap wrote:
> > On Thu, 22 Jun 2006 01:36:46 +0100 Sergio Monteiro Basto wrote:
> >
> > > who I do know if a interrupt is ioapic_edge_type or ioapic_edge_type ?
> >
> > Do you mean how they are configured in a running kernel?
>
> yes, I want to know in
> linux-2.6.13/drivers/pci/quirks.c
> when I am going quirk the PCI_VIA irq, if this irq is in
> IO-APIC-something or is in XT-PIC , to decide if I quirk the interrupt
> or not
You have to look all over the place. :(
And I've probably missed some of them.
But if the system if using PICs, they will be XT-PIC.
Edge or level triggered is then determined by the bus type:
ISA is mostly edge-triggered (OK, I can't remember that far back)
and PCI is defined as level-triggered. However, there are
exceptions. IIRC, legacy IDE is edge-triggered even if it is
on a PCI bus (see listing below for ide0). And some legacy
devices are edge-triggered (timer, keyboard controller/8042,
parallel port).
You can find info about specifics in places like Intel
chipset specs (ICH5, ICH6, ICH7, etc.), the (large) ACPI
spec from www.acpi.info, the Multiprocessor (MP) spec.
from developer.intel.com, probably some AMD chipset specs,
some PCI bus specs, and in some Linux kernel source code.
Like I said, I probably missed a few places.
If you have a specific issue/problem, it would probably be
better just to focus on that.
> > cat /proc/interrupts ::
> >
> > CPU0 CPU1
> > 0: 12412944 12407808 IO-APIC-edge timer
> > 1: 122673 124208 IO-APIC-edge i8042
> > 7: 0 0 IO-APIC-edge parport0
> > 9: 0 0 IO-APIC-level acpi
> > 12: 1141950 1138138 IO-APIC-edge i8042
> > 14: 1107749 1109102 IO-APIC-edge ide0
> > 58: 451498 0 PCI-MSI eth0
> > 66: 530689 495356 PCI-MSI libata
> > 74: 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb6
> > 82: 31 3 IO-APIC-level ohci_hcd:usb2, ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5
> > 90: 561 492 IO-APIC-level HDA Intel
> > 169: 3 0 IO-APIC-level ohci1394
> > 177: 0 0 IO-APIC-level uhci_hcd:usb8
> > 185: 0 0 IO-APIC-level uhci_hcd:usb7
> > 193: 0 0 IO-APIC-level uhci_hcd:usb9
> >
> >
> > or how they should be configured in case you are not sure?
> > See a hardware spec. for that.
> >
> >
> > > On Wed, 2006-06-21 at 20:50 +1000, Johny wrote:
> > > > Success :)
> > > >
> > > > I simply made the change
> > > > manually, based on your and others' inputs (it seemed the simpler
> > > > option).
> > > >
> > > > Both kernels now boot, and all USB devices are recognised correctly.
> > > >
> > >
> > > > I run in XT_PIC mode for interrupts.
> > > >
> > >
> > > Hi, thanks for your positive test on "my" theory.
> > >
> > > Here it goes the link that I talked about on last email
> > > http://lkml.org/lkml/2005/8/18/92 (you can read the previous messages on
> > > this thread)
> > >
> > > The patch of this link doesn't compile (at least for me), but have a
> > > simple idea, which is just quirk the VIA_PCIs if they are in XT_PIC mode
> > > and I think that is the way of this quirks should go.
> > >
> > > So someone help me out and do a patch that recognize if the interrupt is
> > > in XT-PIC mode or not ?
> > >
> > > Thanks,
> > > --
> > > Sérgio M. B.
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 4:08 ` Randy.Dunlap
@ 2006-06-22 11:56 ` Sergio Monteiro Basto
2006-06-22 21:29 ` Randy.Dunlap
0 siblings, 1 reply; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-22 11:56 UTC (permalink / raw)
To: Randy.Dunlap
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
On Wed, 2006-06-21 at 21:08 -0700, Randy.Dunlap wrote:
>
> If you have a specific issue/problem, it would probably be
> better just to focus on that.
on linux-2.6.17/drivers/pci/quirks.c
* we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
* interrupts delivered properly.
*/
static void quirk_via_irq(struct pci_dev *dev)
{
u8 irq, new_irq;
I want here put something like: if ( dev->irq != XT-PIC) return and don't quirk this dev.
else
new_irq = dev->irq & 0xf;
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
--
Sérgio M. B.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 11:56 ` Sergio Monteiro Basto
@ 2006-06-22 21:29 ` Randy.Dunlap
2006-06-22 22:46 ` Sergio Monteiro Basto
0 siblings, 1 reply; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-22 21:29 UTC (permalink / raw)
To: Sergio Monteiro Basto
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
On Thu, 22 Jun 2006 12:56:25 +0100 Sergio Monteiro Basto wrote:
> On Wed, 2006-06-21 at 21:08 -0700, Randy.Dunlap wrote:
> >
> > If you have a specific issue/problem, it would probably be
> > better just to focus on that.
>
> on linux-2.6.17/drivers/pci/quirks.c
>
> * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
> * interrupts delivered properly.
> */
>
> static void quirk_via_irq(struct pci_dev *dev)
> {
> u8 irq, new_irq;
>
> I want here put something like: if ( dev->irq != XT-PIC) return and don't quirk this dev.
> else
I don't think the interrupt device mode is known by this code (AFAICT
with a quick look). The function is only called for certain VIA chipsets.
Do you want the quirk for any particular hardware device?
You might be able to look at the function's <dev> parameter
to decide on using the quirk or not.
> new_irq = dev->irq & 0xf;
> pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 21:29 ` Randy.Dunlap
@ 2006-06-22 22:46 ` Sergio Monteiro Basto
2006-06-22 22:54 ` Chris Wedgwood
2006-06-22 23:25 ` Randy.Dunlap
0 siblings, 2 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-22 22:46 UTC (permalink / raw)
To: Randy.Dunlap
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
[-- Attachment #1: Type: text/plain, Size: 2258 bytes --]
On Thu, 2006-06-22 at 14:29 -0700, Randy.Dunlap wrote:
> On Thu, 22 Jun 2006 12:56:25 +0100 Sergio Monteiro Basto wrote:
>
> > On Wed, 2006-06-21 at 21:08 -0700, Randy.Dunlap wrote:
> > >
> > > If you have a specific issue/problem, it would probably be
> > > better just to focus on that.
> >
> > on linux-2.6.17/drivers/pci/quirks.c
> >
> > * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
> > * interrupts delivered properly.
> > */
> >
> > static void quirk_via_irq(struct pci_dev *dev)
> > {
> > u8 irq, new_irq;
> >
> > I want here put something like: if ( dev->irq != XT-PIC) return and don't quirk this dev.
> > else
>
> I don't think the interrupt device mode is known by this code (AFAICT
> with a quick look). The function is only called for certain VIA chipsets.
>
> Do you want the quirk for any particular hardware device?
> You might be able to look at the function's <dev> parameter
> to decide on using the quirk or not.
>
>
> > new_irq = dev->irq & 0xf;
> > pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
yap, in my opinion this function should back to
--- orig/drivers/pci/quirks.c 2006-06-21 20:25:41.000000000 +1000
+++ linux-2.6.17-rc6-mm2/drivers/pci/quirks.c 2006-06-21 20:25:08.000000000 +1000
@@ -662,13 +662,7 @@
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
But do you know or not ? how I know if dev->irq is XT-pic ?
--
Sérgio M. B.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 22:46 ` Sergio Monteiro Basto
@ 2006-06-22 22:54 ` Chris Wedgwood
2006-06-23 1:00 ` Sergio Monteiro Basto
2006-06-23 1:40 ` how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Johny
2006-06-22 23:25 ` Randy.Dunlap
1 sibling, 2 replies; 24+ messages in thread
From: Chris Wedgwood @ 2006-06-22 22:54 UTC (permalink / raw)
To: Sergio Monteiro Basto
Cc: Randy.Dunlap, kernel, akpm, linux-acpi, linux-kernel,
linux-usb-users, linux-usb-devel, stern, vsu
On Thu, Jun 22, 2006 at 11:46:38PM +0100, Sergio Monteiro Basto wrote:
> yap, in my opinion this function should back to
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
this is *obviousyl* wrong, it should never have been merged like that
and there are reports and complaints this causes problems for some
people
we should first attempt to get all the IDs (some are clearly missing
still, patch coming up to address that) and where that fails perhaps
have a kernel command-line parameter to be overly aggressive as a
stop-gap until we van figure out the proper solution
i'd also like to figure out why the quirk is needed/fails when people
are using ACPI for interrupt routing as presumbly that must work as
windows relies on it
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 22:46 ` Sergio Monteiro Basto
2006-06-22 22:54 ` Chris Wedgwood
@ 2006-06-22 23:25 ` Randy.Dunlap
2006-06-23 1:30 ` Sergio Monteiro Basto
1 sibling, 1 reply; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-22 23:25 UTC (permalink / raw)
To: sergio
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
On Thu, 22 Jun 2006 23:46:38 +0100 Sergio Monteiro Basto wrote:
> On Thu, 2006-06-22 at 14:29 -0700, Randy.Dunlap wrote:
> > On Thu, 22 Jun 2006 12:56:25 +0100 Sergio Monteiro Basto wrote:
> >
> > > On Wed, 2006-06-21 at 21:08 -0700, Randy.Dunlap wrote:
> > > >
> > > > If you have a specific issue/problem, it would probably be
> > > > better just to focus on that.
> > >
> > > on linux-2.6.17/drivers/pci/quirks.c
> > >
> > > * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
> > > * interrupts delivered properly.
> > > */
> > >
> > > static void quirk_via_irq(struct pci_dev *dev)
> > > {
> > > u8 irq, new_irq;
> > >
> > > I want here put something like: if ( dev->irq != XT-PIC) return and don't quirk this dev.
> > > else
> >
> > I don't think the interrupt device mode is known by this code (AFAICT
> > with a quick look). The function is only called for certain VIA chipsets.
> >
> > Do you want the quirk for any particular hardware device?
> > You might be able to look at the function's <dev> parameter
> > to decide on using the quirk or not.
> >
> >
> > > new_irq = dev->irq & 0xf;
> > > pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
>
> yap, in my opinion this function should back to
No idea about that.
I think that you still didn't answer my question, or maybe I
didn't ask it well enough. What device are you having problems
with? I don't mean what chipset, I mean what device that you
touch...
> --- orig/drivers/pci/quirks.c 2006-06-21 20:25:41.000000000 +1000
> +++ linux-2.6.17-rc6-mm2/drivers/pci/quirks.c 2006-06-21 20:25:08.000000000 +1000
> @@ -662,13 +662,7 @@
> 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
>
>
> But do you know or not ? how I know if dev->irq is XT-pic ?
I don't see a way to know that currently. It could be added
somehow if it's really required. So far I haven't seen a full
problem description or requirement for this.
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 22:54 ` Chris Wedgwood
@ 2006-06-23 1:00 ` Sergio Monteiro Basto
2006-06-23 1:39 ` Randy.Dunlap
2006-06-28 1:08 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergio Monteiro Basto
2006-06-23 1:40 ` how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Johny
1 sibling, 2 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-23 1:00 UTC (permalink / raw)
To: Chris Wedgwood
Cc: Randy.Dunlap, kernel, akpm, linux-acpi, linux-kernel,
linux-usb-users, linux-usb-devel, stern, vsu
[-- Attachment #1: Type: text/plain, Size: 1221 bytes --]
On Thu, 2006-06-22 at 15:54 -0700, Chris Wedgwood wrote:
> On Thu, Jun 22, 2006 at 11:46:38PM +0100, Sergio Monteiro Basto wrote:
>
> > yap, in my opinion this function should back to
>
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
>
>
> this is *obviousyl* wrong, it should never have been merged like that
> and there are reports and complaints this causes problems for some
> people
>
It was like that in kernel 2.6.16 and previous since, I don't know,
2.6.9 or 2.6.13 ....
>
> we should first attempt to get all the IDs (some are clearly missing
> still, patch coming up to address that) and where that fails perhaps
> have a kernel command-line parameter to be overly aggressive as a
> stop-gap until we van figure out the proper solution
I believe this quirks is just for VIA system with interrupts in XT-PIC
mode (like my old laptop).
>
> i'd also like to figure out why the quirk is needed/fails when people
> are using ACPI for interrupt routing as presumbly that must work as
> windows relies on it
yes, this is other mysterious, why boot with acpi=noirq could be one
workaround. But could be other problem more related with usb drives.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 23:25 ` Randy.Dunlap
@ 2006-06-23 1:30 ` Sergio Monteiro Basto
0 siblings, 0 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-23 1:30 UTC (permalink / raw)
To: Randy.Dunlap
Cc: kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, cw, vsu
[-- Attachment #1: Type: text/plain, Size: 2623 bytes --]
On Thu, 2006-06-22 at 16:25 -0700, Randy.Dunlap wrote:
> No idea about that.
> I think that you still didn't answer my question, or maybe I
> didn't ask it well enough. What device are you having problems
> with? I don't mean what chipset, I mean what device that you
> touch...
>
I'd like to give you one answer , but I don't have one problem with one
device, I bought (accidentally) one VIA with a Pentium dual-core, which
have a bunch of problems.
>
> > --- orig/drivers/pci/quirks.c 2006-06-21 20:25:41.000000000 +1000
> > +++ linux-2.6.17-rc6-mm2/drivers/pci/quirks.c 2006-06-21
> 20:25:08.000000000 +1000
> > @@ -662,13 +662,7 @@
> > 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
> >
> >
> > But do you know or not ? how I know if dev->irq is XT-pic ?
>
> I don't see a way to know that currently. It could be added
> somehow if it's really required. So far I haven't seen a full
> problem description or requirement for this.
Well, this is based in tests along this 4 years, with my two computers.
Like Bjorn said, we don't have any specification of VIA chipsets. But I
like to try, use this quirks only if system don't have IO-APICs enabled.
Many VIA systems work like that, for example my old laptop.
For me, I know that my old laptop needs the quirks and run with
interrupts in XT-PIC, and with my new desktop, I quit sure that don't
need the quirks and system runs with interrupts in IO-APIC-edge and
IO-APIC-level.
Based in, what I read in this original thread
http://lkml.org/lkml/2005/8/18/92 , seems to me, that we could try this
solution, if we have a easy way to know what kind of interrupts have the
device.
Thanks Randy for your time,
--
Sérgio M. B.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-23 1:00 ` Sergio Monteiro Basto
@ 2006-06-23 1:39 ` Randy.Dunlap
2006-06-23 1:50 ` Sergio Monteiro Basto
2006-06-28 1:08 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergio Monteiro Basto
1 sibling, 1 reply; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-23 1:39 UTC (permalink / raw)
To: sergio
Cc: cw, kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, vsu
On Fri, 23 Jun 2006 02:00:44 +0100 Sergio Monteiro Basto wrote:
> On Thu, 2006-06-22 at 15:54 -0700, Chris Wedgwood wrote:
> > On Thu, Jun 22, 2006 at 11:46:38PM +0100, Sergio Monteiro Basto wrote:
> >
> > > yap, in my opinion this function should back to
> >
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
> >
> >
> > this is *obviousyl* wrong, it should never have been merged like that
> > and there are reports and complaints this causes problems for some
> > people
> >
>
> It was like that in kernel 2.6.16 and previous since, I don't know,
> 2.6.9 or 2.6.13 ....
>
> >
> > we should first attempt to get all the IDs (some are clearly missing
> > still, patch coming up to address that) and where that fails perhaps
> > have a kernel command-line parameter to be overly aggressive as a
> > stop-gap until we van figure out the proper solution
>
> I believe this quirks is just for VIA system with interrupts in XT-PIC
> mode (like my old laptop).
This sounds like just running with CONFIG_IO_APIC=n or using
"noapic" on the kernel boot command line. If that's what is
needed, we can know that. I just haven't seen info to know
what the real problem is.
> > i'd also like to figure out why the quirk is needed/fails when people
> > are using ACPI for interrupt routing as presumbly that must work as
> > windows relies on it
>
> yes, this is other mysterious, why boot with acpi=noirq could be one
> workaround. But could be other problem more related with usb drives.
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 22:54 ` Chris Wedgwood
2006-06-23 1:00 ` Sergio Monteiro Basto
@ 2006-06-23 1:40 ` Johny
1 sibling, 0 replies; 24+ messages in thread
From: Johny @ 2006-06-23 1:40 UTC (permalink / raw)
To: Chris Wedgwood
Cc: Sergio Monteiro Basto, Randy.Dunlap, kernel, akpm, linux-acpi,
linux-kernel, linux-usb-users, linux-usb-devel, stern, vsu
Chris,
If you keep me posted on the patch when released (I'm not on the kernel
list, too high volume for me) I'll be happy to give your patch a whirl
on my test box against whichever kernel you patch.
Your last point is real good, how DOES Windows figure it out? In saying
that, without the VIA drivers I only have USB1.1 support on this
motherboard... Again, happy to test some theories if you have some tests
you'd like ran...
Cheers,
:)Johny
Chris Wedgwood wrote:
> On Thu, Jun 22, 2006 at 11:46:38PM +0100, Sergio Monteiro Basto wrote:
>
>> yap, in my opinion this function should back to
>
>> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
>
>
> this is *obviousyl* wrong, it should never have been merged like that
> and there are reports and complaints this causes problems for some
> people
>
> we should first attempt to get all the IDs (some are clearly missing
> still, patch coming up to address that) and where that fails perhaps
> have a kernel command-line parameter to be overly aggressive as a
> stop-gap until we van figure out the proper solution
>
> i'd also like to figure out why the quirk is needed/fails when people
> are using ACPI for interrupt routing as presumbly that must work as
> windows relies on it
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-23 1:39 ` Randy.Dunlap
@ 2006-06-23 1:50 ` Sergio Monteiro Basto
2006-06-23 2:02 ` Randy.Dunlap
0 siblings, 1 reply; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-23 1:50 UTC (permalink / raw)
To: Randy.Dunlap
Cc: cw, kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, vsu
[-- Attachment #1: Type: text/plain, Size: 389 bytes --]
On Thu, 2006-06-22 at 18:39 -0700, Randy.Dunlap wrote:
> This sounds like just running with CONFIG_IO_APIC=n or using
> "noapic" on the kernel boot command line. If that's what is
> needed, we can know that. I just haven't seen info to know
> what the real problem is.
yes, could be a way, if we know if IO_APIC or LOCAL_APIC is enabled or
not ?
thanks,
--
Sérgio M. B.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-23 1:50 ` Sergio Monteiro Basto
@ 2006-06-23 2:02 ` Randy.Dunlap
0 siblings, 0 replies; 24+ messages in thread
From: Randy.Dunlap @ 2006-06-23 2:02 UTC (permalink / raw)
To: sergio
Cc: cw, kernel, akpm, linux-acpi, linux-kernel, linux-usb-users,
linux-usb-devel, stern, vsu
On Fri, 23 Jun 2006 02:50:15 +0100 Sergio Monteiro Basto wrote:
> On Thu, 2006-06-22 at 18:39 -0700, Randy.Dunlap wrote:
> > This sounds like just running with CONFIG_IO_APIC=n or using
> > "noapic" on the kernel boot command line. If that's what is
> > needed, we can know that. I just haven't seen info to know
> > what the real problem is.
>
> yes, could be a way, if we know if IO_APIC or LOCAL_APIC is enabled or
> not ?
I don't know of a current flag or state that tells us that,
but it could be added.
---
~Randy
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [linux-usb-devel] who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
2006-06-22 0:36 ` who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Sergio Monteiro Basto
2006-06-22 0:47 ` Randy.Dunlap
@ 2006-06-23 15:31 ` David Brownell
1 sibling, 0 replies; 24+ messages in thread
From: David Brownell @ 2006-06-23 15:31 UTC (permalink / raw)
To: linux-usb-devel, sergio
Cc: Johny, Andrew Morton, vsu, Chris Wedgwood, linux-kernel,
linux-usb-users, linux-acpi, stern
This isn't quite the same as "how to handle the VIA quirks correctly",
but it does seem like the IRQ API should probably have a call to get
the IRQ trigger mode, just like it has ways to set it. I've seen
drivers that need to try multiple trigger modes before they find one
that will work on the target platform.
The actual details of _how_ that trigger mode is set -- APIC, PIC and
so on for x86; or other IRQ controllers on other hardware -- should
not matter to drivers, since they're platform-specific. The quirk
handling code is platform-specific though, and might care.
- Dave
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
2006-06-23 1:00 ` Sergio Monteiro Basto
2006-06-23 1:39 ` Randy.Dunlap
@ 2006-06-28 1:08 ` Sergio Monteiro Basto
1 sibling, 0 replies; 24+ messages in thread
From: Sergio Monteiro Basto @ 2006-06-28 1:08 UTC (permalink / raw)
To: Chris Wedgwood
Cc: Randy.Dunlap, kernel, akpm, linux-acpi, linux-kernel,
linux-usb-users, linux-usb-devel, stern, vsu
[-- Attachment #1: Type: text/plain, Size: 878 bytes --]
On Fri, 2006-06-23 at 02:00 +0100, Sergio Monteiro Basto wrote:
> On Thu, 2006-06-22 at 15:54 -0700, Chris Wedgwood wrote:
> > On Thu, Jun 22, 2006 at 11:46:38PM +0100, Sergio Monteiro Basto
> wrote:
> >
> > > yap, in my opinion this function should back to
> >
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID,
> quirk_via_irq);
> >
> >
> > this is *obviousyl* wrong, it should never have been merged like
> that
> > and there are reports and complaints this causes problems for some
> > people
> >
>
> It was like that in kernel 2.6.16 and previous since, I don't know,
> 2.6.9 or 2.6.13 ....
Hi, Chris Wedgwood
I found the bugzilla report where the initial version of this function
quirk_via_irq (drivers/pci/quirks.c) has been made:
http://bugzilla.kernel.org/show_bug.cgi?id=3319#c28
might be interesting !
--
Sérgio M. B.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2166 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2006-06-28 1:15 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <44953B4B.9040108@agotnes.com>
2006-06-20 11:21 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Johny
2006-06-20 11:40 ` Andrew Morton
2006-06-20 13:22 ` Sergio Monteiro Basto
2006-06-21 10:50 ` Johny
2006-06-22 0:36 ` who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Sergio Monteiro Basto
2006-06-22 0:47 ` Randy.Dunlap
2006-06-22 1:04 ` how I " Sergio Monteiro Basto
2006-06-22 4:08 ` Randy.Dunlap
2006-06-22 11:56 ` Sergio Monteiro Basto
2006-06-22 21:29 ` Randy.Dunlap
2006-06-22 22:46 ` Sergio Monteiro Basto
2006-06-22 22:54 ` Chris Wedgwood
2006-06-23 1:00 ` Sergio Monteiro Basto
2006-06-23 1:39 ` Randy.Dunlap
2006-06-23 1:50 ` Sergio Monteiro Basto
2006-06-23 2:02 ` Randy.Dunlap
2006-06-28 1:08 ` [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergio Monteiro Basto
2006-06-23 1:40 ` how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]] Johny
2006-06-22 23:25 ` Randy.Dunlap
2006-06-23 1:30 ` Sergio Monteiro Basto
2006-06-23 15:31 ` [linux-usb-devel] who I do " David Brownell
2006-06-20 12:09 ` [linux-usb-devel] [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues] Sergey Vlasov
2006-06-20 13:30 ` Sergio Monteiro Basto
2006-06-20 13:59 ` Sergey Vlasov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).