public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Segher Boessenkool <segher@kernel.crashing.org>,
	Andrew Morton <akpm@osdl.org>, Dave Olson <olson@unixfolk.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] Initial generic hypertransport interrupt support.
Date: Tue, 11 Jul 2006 19:15:46 +1000	[thread overview]
Message-ID: <1152609347.6346.38.camel@localhost.localdomain> (raw)
In-Reply-To: <m18xn0h99q.fsf@ebiederm.dsl.xmission.com>


> Examples? details? patches?
> 
> Part of the problem with plain MSI is that you can't mask irqs at the
> source, in a generic way.

This is an interesting point, because this shows precisely the different
of approach between most HW PPC implementations vs what x86 does and
what the current code does...

Our MSIs are always routed as just additional sources to an existing IRQ
controller that will itself then handle things like masking, affinity,
etc...

Thus, we don't need nor want any kind of generic MSI code setting up an
irq_chip with enable/disable functions etc... Those should stay the ones
from the system's main PIC, maybe a different version of them, but
that's up to the system PIC to set that up.

That's one of the reason why I think we need to work the MSI arch side
API such that the MSI "controller" is the one to setup the irq_desc. The
"generic" mask/unmask/etc... using the MSI(X) config space can be
provided as optional helpers but it should be under arch, or more
specifically MSI controller control to pick up how to setup the irq_desc
and its associated irq_chip.

Another one is the fact that we have multiple different MSI mecanisms on
the same machines (like the Apple Quad G5 which have on one side an MSI
"register" that devices write to and that triggers sources on the MPIC,
and on the other side, HT interrupts which can be generated from MSIs by
the broadcom HT<->PCIe bridge). Thus that msi_ops stucture I've seen
around shall really be per PCI host bridge at the very least. One
propsal I have, but I didn't have time to actually implement it, was to
have the msi_ops pointer be a field in pci_bus that is inherited by
default. That is, the arch can call pci_set_msi_ops() on a given bus and
this will propagate to childs.

Anyway, as I said, I didn't have time to code that part. So it's mostly
food for thoughts.

Ben.



  reply	other threads:[~2006-07-11  9:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-10 22:14 [PATCH 1/2] Add Hypertransport capability defines Eric W. Biederman
2006-07-10 22:26 ` [PATCH 2/2] Initial generic hypertransport interrupt support Eric W. Biederman
2006-07-10 22:39   ` Benjamin Herrenschmidt
2006-07-11  3:51     ` Eric W. Biederman
2006-07-11  5:20       ` Benjamin Herrenschmidt
2006-07-11  6:29         ` Eric W. Biederman
2006-07-11  7:29           ` Segher Boessenkool
2006-07-11  7:48             ` Eric W. Biederman
2006-07-11  9:15               ` Benjamin Herrenschmidt [this message]
2006-07-11 19:56                 ` Eric W. Biederman
2006-07-11 22:18                   ` Benjamin Herrenschmidt
2006-07-11 22:27   ` Andi Kleen
2006-07-12  3:05     ` Eric W. Biederman
2006-07-12  6:10       ` Dave Olson
2006-07-12  6:56         ` Eric W. Biederman
2006-07-13  3:56           ` Dave Olson
2006-07-13 15:13             ` Eric W. Biederman
2006-07-13 18:15               ` Dave Olson
2006-07-13 18:41                 ` Eric W. Biederman
2006-07-13 19:00                   ` Dave Olson
2006-07-13 19:20                     ` Eric W. Biederman
2006-07-13 19:34                       ` Dave Olson

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=1152609347.6346.38.camel@localhost.localdomain \
    --to=benh@kernel.crashing.org \
    --cc=akpm@osdl.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olson@unixfolk.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox