From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: linux-os@analogic.com
Cc: bjorn.helgaas@hp.com, David Vrabel <dvrabel@cantab.net>,
aryix <aryix@softhome.net>,
lug-list@lugmen.org.ar,
Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: dmesg: PCI interrupts are no longer routed automatically.........
Date: Mon, 10 Jan 2005 14:38:28 -0700 [thread overview]
Message-ID: <1105393108.29910.60.camel@eeyore> (raw)
In-Reply-To: <Pine.LNX.4.61.0501051251140.9762@chaos.analogic.com>
On Wed, 2005-01-05 at 13:15 -0500, linux-os wrote:
> The problem is that the PLX-9656BA INTCSR is not in configuration
> space, but runtime registers off a BAR. The interrupt source
> can be from a PLD that hasn't even had its microcode loaded
> yet!
>
> FYI, the PLX or similar clone is the bus interface chip for many
> busmastering PCI boards.
>
> > You wouldn't want your ISR mucking around with a half-initialized
> > device, so does it have to check a "device_configured" flag
> > or something?
>
> Yes. If the device isn't configured, the ISR reads all the INTCSR
> bits, then writes 0 to the register to prevent anything else.
The PLX might be a common device, but it sounds like this
particular issue depends on the design of the rest of the
board. And presumably, nobody who cared about performance
would design a board with this property, right? I mean, to
add a test in the ISR for a condition that exists only for
a few milliseconds at driver startup-time seems sub-optimal.
> If the PLX had been reset, then the INTCSR bits would all
> be masked off. However, reset is really only guaranteed from
> power OFF on some motherboards, in particuar the ones with
> so-called "hot-swap" capabilites fail. There is a software
> reset that, in fact, even reloads its serial EEPROM. However,
> the BAR needs to be accessible for this to be used.
>
> So it would be wonderful if the correct IRQ could be made
> available before the chip could generate an interrupt.
If we exposed a new pcibios_route_irq() (to hide the arch-
specific nature of IRQ routing via ACPI or other information),
could you do what you need in a pci_fixup_early quirk?
next prev parent reply other threads:[~2005-01-10 21:45 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-29 9:55 dmesg: PCI interrupts are no longer routed automatically aryix
2005-01-04 18:18 ` Bjorn Helgaas
2005-01-04 18:53 ` linux-os
2005-01-04 19:41 ` Bjorn Helgaas
2005-01-04 19:55 ` linux-os
2005-01-05 9:40 ` David Vrabel
2005-01-05 12:06 ` linux-os
2005-01-05 17:13 ` Bjorn Helgaas
2005-01-05 18:15 ` linux-os
2005-01-10 21:38 ` Bjorn Helgaas [this message]
2005-01-10 22:03 ` linux-os
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=1105393108.29910.60.camel@eeyore \
--to=bjorn.helgaas@hp.com \
--cc=aryix@softhome.net \
--cc=dvrabel@cantab.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-os@analogic.com \
--cc=lug-list@lugmen.org.ar \
/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.