mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Krzysztof Halasa <khc@pm.waw.pl>
To: lsorense@csclub.uwaterloo.ca (Lennart Sorensen)
Cc: Udo van den Heuvel <udovdh@xs4all.nl>, linux-kernel@vger.kernel.org
Subject: Re: PCI riser cards and PCI irq routing, etc
Date: Mon, 19 Feb 2007 19:23:43 +0100	[thread overview]
Message-ID: <m3vehyovkg.fsf@maximus.localdomain> (raw)
In-Reply-To: <20070219150316.GP7582@csclub.uwaterloo.ca> (Lennart Sorensen's message of "Mon, 19 Feb 2007 10:03:16 -0500")

lsorense@csclub.uwaterloo.ca (Lennart Sorensen) writes:

> The PCI spec doesn't require 4 seperate interrupts.  They certainly can
> all be the same.  I do believe it does require the rotation method on
> anything using PCI bridges

Correct, PCI-PCI bridges have to rotate their INT lines (used ones
only, of course). The BIOS and OS would have no way to know the
topology otherwise (especially if the bridge is on a add-on card).

> If you
> make a mainboard on the other hand you can do whatever you want since
> you get to design the firmware that assigns the interrupts.

Precisely.

> Depends if the riser card is specific to that system, or if it is
> supposed to be a generic PCI card.

I think a generic card would require a bridge - how would you produce
IDSEL signals without a bridge, and without knowledge about the
motherboard?

If you know the motherboard you know, for example, that is uses
A(D)25-31 as IDSELs for on-board devices and A24 for PCI slot. Then
you can use, say, A23 for card #1 and reuse A24 (or IDSEL from the
mb connector) as IDSEL for card #0. And you know your BIOS will
support this.

If you don't know the motherboard you don't even know if IDSELs are
derived from AD 0->31 or if they are made differently. The BIOS may
just support only one device connected directly to the PCI slot.

I have never seen a riser card with a bridge, though of course it
doesn't mean there aren't any.

> It may.  But using just INTB and INTD on a card is not allowed by the
> spec as far as I understand it.

Yep, single function -> INTA, two functions -> INT A+B and so on.

> Sure.  But if you have a PCI to PCI bridge on a card, then you only get
> 4 interrupt lines into the card, and you have to distribute them by the
> spec to the chips behind the bridge if you want the system to know how
> the interrupts should be used

Right.

> (although I guess a driver could do its
> own thing if it really wanted to).

Well, that would be against PCI bridge specs but it probably could.
Normally, a special driver for PCI-PCI bridge is not needed.

> It does help make sure that if you have 8 devices, each IRQ is used by
> only two devices, so the interrupt handler doesn't have too many devices
> to check when an interrupt occours.

Right.
-- 
Krzysztof Halasa

      reply	other threads:[~2007-02-19 18:23 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-18 14:07 Udo van den Heuvel
2007-02-18 15:54 ` Lennart Sorensen
2007-02-18 16:15   ` Udo van den Heuvel
2007-02-18 19:39     ` Lennart Sorensen
2007-02-19  1:50       ` Alistair John Strachan
2007-02-19  4:04       ` Udo van den Heuvel
2007-02-19 15:17         ` Lennart Sorensen
2007-02-19 15:43           ` Udo van den Heuvel
2007-02-19 17:13             ` Lennart Sorensen
2007-02-19 15:09       ` Udo van den Heuvel
2007-02-19 20:37         ` Krzysztof Halasa
2007-02-20  4:17           ` Udo van den Heuvel
2007-02-20 14:56             ` Alistair John Strachan
2007-02-20 15:44               ` Udo van den Heuvel
2007-02-20 19:51                 ` Alistair John Strachan
2007-02-21  9:24                 ` Udo van den Heuvel
2007-02-21 12:24                   ` Krzysztof Halasa
2007-02-21 14:59                     ` Udo van den Heuvel
2007-02-21 15:12                       ` Lennart Sorensen
     [not found]                         ` <m3hctfqjna.fsf@maximus.localdomain>
2007-02-21 22:40                           ` Lennart Sorensen
2007-02-21 23:55                             ` Alistair John Strachan
2007-02-22  1:19                               ` Krzysztof Halasa
2007-02-23 15:45                                 ` Udo van den Heuvel
2007-02-23 15:54                                   ` Lennart Sorensen
2007-02-23 17:55                                   ` Krzysztof Halasa
2007-02-23 18:17                                     ` Udo van den Heuvel
2007-02-23 19:42                                       ` Krzysztof Halasa
2007-03-03 14:35                                         ` Udo van den Heuvel
2007-02-23 18:12                                   ` Krzysztof Halasa
2007-02-23 18:44                                     ` Udo van den Heuvel
2007-02-23 20:00                                       ` Krzysztof Halasa
2007-02-25 15:59                                     ` Udo van den Heuvel
2007-02-22  1:16                             ` Krzysztof Halasa
2007-02-21 18:11                       ` Udo van den Heuvel
2007-02-21 19:54                         ` Krzysztof Halasa
2007-02-21 20:13                         ` Lennart Sorensen
2007-02-21 19:36                       ` Krzysztof Halasa
2007-02-21 13:44                   ` Lennart Sorensen
2007-02-21 18:55                     ` Udo van den Heuvel
2007-02-20 20:47             ` Krzysztof Halasa
2007-02-20 21:51               ` Lennart Sorensen
2007-02-21  0:11                 ` Krzysztof Halasa
2007-02-21 13:46                   ` Lennart Sorensen
2007-02-20  4:35           ` Udo van den Heuvel
2007-02-21  0:03             ` Krzysztof Halasa
2007-02-18 20:50     ` Krzysztof Halasa
2007-02-18 20:42   ` Krzysztof Halasa
2007-02-19 15:03     ` Lennart Sorensen
2007-02-19 18:23       ` Krzysztof Halasa [this message]

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=m3vehyovkg.fsf@maximus.localdomain \
    --to=khc@pm.waw.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lsorense@csclub.uwaterloo.ca \
    --cc=udovdh@xs4all.nl \
    /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

all inboxes | Powered by JetHome®