All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <mporter@kernel.crashing.org>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: David Gardiner <daveg@sonartech.com.au>, linuxppc-embedded@ozlabs.org
Subject: Re: powerpc with gigabit card hanging
Date: Mon, 27 Sep 2004 22:48:25 -0700	[thread overview]
Message-ID: <20040927224825.B30772@home.com> (raw)
In-Reply-To: <C617C694-1110-11D9-8370-000A95A4DC02@kernel.crashing.org>; from segher@kernel.crashing.org on Tue, Sep 28, 2004 at 12:39:32AM -0500

On Tue, Sep 28, 2004 at 12:39:32AM -0500, Segher Boessenkool wrote:
> >> What kernel are you using?
> 
> 2.6.whatever, and I've used 2.4 in the past I believe.
> 
> >> it's just that the irq's I'm getting for the
> >> gigabit devices are zero (dual gigabit ethernet card) for the 
> >> 2.6.9-rc2
> >> plus patchs kernel but for the 2.4 series I was getting 12 and 9 as 
> >> can
> >> be seen below and configuring the devices worked fine.
> 
> PCI device IRQs are normally retrieved straight from the PCI device
> itself.  Sounds like a firmware problem (or the bootloader, if that
> sets up the PCI devices for you).

This assumes a world where everything is managed by magic BIOS/OF
initialization. That's not the case for this user's board port.
 
> > irqs for PCI devices do not come from the driver, they are platform
> > specific.  If you are having problems with the interrupt reported
> > by xyz PCI driver then that is something wrong with your platform.
> > On pmac, interrupt routing is retrieved from OF.
> 
> I believe Linux for PowerMac actually gets the IRQ number straight
> from the device.  Some other routing might be gotten out of the OF
> device-tree, yes.

The interrupt line register is always programmed by firmware, bios,
or an OS. It is a logical value that is dependent on the platform.

The only thing statically available on a PCI device is the interrupt
pin register value. That combined with the platform-specific routing
table is used to generate an arbitrary interrupt line value that
is programmed into the PCI interrupt line register.

-Matt

  parent reply	other threads:[~2004-09-28  5:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-24  4:32 powerpc with gigabit card hanging David Gardiner
2004-09-24 15:01 ` Segher Boessenkool
2004-09-28  3:41   ` David Gardiner
2004-09-28  5:13     ` Matt Porter
     [not found]       ` <C617C694-1110-11D9-8370-000A95A4DC02@kernel.crashing.org>
2004-09-28  5:48         ` Matt Porter [this message]
2004-09-28  5:58           ` Segher Boessenkool
2004-09-28  6:14             ` Matt Porter
2004-09-28  6:23               ` Segher Boessenkool
2004-09-28  6:37                 ` Matt Porter
2004-09-28  6:45                   ` Segher Boessenkool
2004-09-28  7:01                     ` Matt Porter
2004-09-28  7:10                       ` Segher Boessenkool
2004-09-28  6:46               ` David Gardiner
2004-09-28  6:59                 ` Matt Porter
2004-09-28 22:45                   ` David Gardiner

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=20040927224825.B30772@home.com \
    --to=mporter@kernel.crashing.org \
    --cc=daveg@sonartech.com.au \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=segher@kernel.crashing.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.