linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Daniel Jacobowitz <dan@debian.org>
Cc: linux-kernel@vger.kernel.org, "Brown, Len" <len.brown@intel.com>
Subject: Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx
Date: Mon, 12 Apr 2004 17:51:59 -0400	[thread overview]
Message-ID: <407B0F7F.5030205@pobox.com> (raw)
In-Reply-To: <20040412212838.GA1613@nevyn.them.org>

Daniel Jacobowitz wrote:
> On Mon, Apr 12, 2004 at 02:51:47PM -0400, Daniel Jacobowitz wrote:
> 
>>[Jeff, I'm sending this to you because your name is above the Via PCI
>>quirks.  It's in a followup comment, though, so there's probably
>>someone else I should be talking to about the original quirks - I just
>>haven't worked out who yet.]
>>
>>I'm trying to track down an interrupt routing problem on my Via-chipset
>>motherboard (it's an Abit VP6).  The symptoms are that the USB and
>>audio drivers eat each other; it appears that they are on the same
>>IRQ line, even though /proc/interrupts says:
>> 11:     300000          0   IO-APIC-level  uhci_hcd, uhci_hcd
>> 19:     299999          1   IO-APIC-level  au8830
>>
>>So eventually one of them gets wedged on, and the other panics because
>>it can't identify the incoming interrupts.
>>
>>At boot I see this, from drivers/pci/quirks.c:
>>
>>PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11
>>PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11
>>
>>Is it possible that the same problem, i.e. writes to the INTERRUPT_LINE
>>register causing connection to the PIC, could apply to devices in the PCI
>>slots?  The register still shows 5 for the au8830, which is the IRQ it
>>gets assigned to if I boot without ACPI.
>>
>>I know this hypothesis sounds a little weak.  I'm running out of ideas
>>:)
> 
> 
> I've worked out the part of the problem involving that quirk.  There's
> an entry in quirks.c which reads:
> 
> /*
>  *      VIA northbridges care about PCI_INTERRUPT_LINE
>  */
> 
> int interrupt_line_quirk;
> 
> static void __devinit quirk_via_bridge(struct pci_dev *pdev)
> {
>         if(pdev->devfn == 0)
>                 interrupt_line_quirk = 1;
> }
> 
> The i386 pirq_enable_irq honors this:
>         /* VIA bridges use interrupt line for apic/pci steering across
>            the V-Link */
>         else if (interrupt_line_quirk)
>                 pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);
> 
> The matching function in ACPI does not honor this quirk, so we probably
> have routing troubles on a lot of affected VIA northbridges.  There's
> at least one thing which looks like an example of this in Bugzilla
> (which was "fixed" by twiddling the IRQ balancing code).  With this
> patch I get a little better (more predictable, at least) behavior.


You're certainly on the right track.  Len and I have discussed how to 
best handle this in ACPI, I'll let him comment further...

	Jeff




  reply	other threads:[~2004-04-12 21:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-07  4:08 2.6.2-rc3: irq#19 - nobody cared - with an au88xx Brown, Len
2004-04-07 14:59 ` Daniel Jacobowitz
2004-04-12 18:51   ` Daniel Jacobowitz
2004-04-12 21:28     ` Daniel Jacobowitz
2004-04-12 21:51       ` Jeff Garzik [this message]
     [not found] <BF1FE1855350A0479097B3A0D2A80EE0023E89C2@hdsmsx402.hd.intel.com>
2004-02-07  6:11 ` Len Brown
2004-02-07  6:33   ` Daniel Jacobowitz
2004-04-06 18:02   ` Daniel Jacobowitz
2004-04-06 22:04     ` Daniel Jacobowitz
2004-04-06 23:43     ` Joshua Kwan
  -- strict thread matches above, loose matches on Subject: below --
2004-02-07  4:42 Daniel Jacobowitz

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=407B0F7F.5030205@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=dan@debian.org \
    --cc=len.brown@intel.com \
    --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 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).