public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Colin Ngam <cngam@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: PCI Express
Date: Tue, 08 Mar 2005 04:40:41 +0000	[thread overview]
Message-ID: <422D2CC8.2F56F4A3@sgi.com> (raw)
In-Reply-To: <4228F250.7C5E2E3C@sgi.com>

"Nguyen, Tom L" wrote:

> On Monday, March 07, 2005 3:12 PM Jesse Barnes wrote:
>
> >On Monday, March 7, 2005 3:03 pm, Nguyen, Tom L wrote:
> >> On Monday, March 07, 2005 12:41 PM Colin Ngam wrote:
> >> > I looked at Documentation/MSI-HOWTO.txt(linux-ia64-release-2.6.11)
> and
> >> >
> >> > it mentioned that CONFIG_X86_LOCAL_APIC has to be configured.  I
> did
> >>
> >> not
> >>
> >> > find this configured on in any sample ia64 config files, but it
> does
> >> > exist in defconfig for i386.  Is this just an ia32 config option?
> >>
> >> IA64 uses SAPIC instead of IOxAPIC. SAPIC, which is somewhat similar
> to
> >> IOxAPIC, is included in IA64 kernel. MSI/MSI-X support configuration
> >> option therefore is always available in IA64.
>
> >So the MSIs are programmed to point at the processor SAPIC block?  I
> think
> >that'll work for us on Altix, but if they're pointed at an external
> Intel >(or
> >compatible) interrupt controller, we'll have to write new code for
> Altix.
>
> MSI/MSI-X message address is programmed to point at specific processor,
> not an external Intel interrupt controller, as a target.

Hi Long/All,

Thank you (all) very much for the information.

It's been a long time since we tested MSI/MSIX on our Altix boxes.  It has been
longer since I looked at the code.  It works and we are looking forward to
hooking them up with the current Infrastructure available on ia64 -
pci_enable|disable_msi().

On Altix systems, we have a set of "Interrupt Registers" in Memory Address Space
that is initialized to target specific CPUs.  The way we initialize a card's MSI
is:

1.  The Target Address is One of these "Interrupt Registers"
2.  The Data Payload is the IRQ plus some special Altix bits.

This memory write causes the "Interrupt Chipset" to generate a LINTR message to
the configured targeted cpu with the IRQ.  Ofcourse, these registers are Altix
Platform specific.  Moreover, we have chunks of these registers all over the
place.

Is there a more direct mechanism to generate an interrupt(LINTR Message) to a
Processor?  1 of the Special bits that I mentioned in Item 2 above causes our
hardware to flush all posted DMA buffers before allowing the LINTR Message to be
generated to the cpu.

With Altix, it's always interesting, with respect to "just work" with typical
ia64 code base.  Hopefully, it will work cleaner compared to some of our other
efforts.

Are you the maintainer for the MSI code?

Thanks.

colin

>
>
> Thanks,
> Long


  parent reply	other threads:[~2005-03-08  4:40 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-04 23:42 PCI Express Colin Ngam
2005-03-07 16:48 ` Grant Grundler
2005-03-07 16:50 ` Matthew Wilcox
2005-03-07 17:02 ` Mark Maule
2005-03-07 17:21 ` Matthew Wilcox
2005-03-07 20:40 ` Colin Ngam
2005-03-07 23:03 ` Nguyen, Tom L
2005-03-07 23:11 ` Jesse Barnes
2005-03-07 23:31 ` Grant Grundler
2005-03-07 23:32 ` Nguyen, Tom L
2005-03-07 23:36 ` Grant Grundler
2005-03-07 23:40 ` Jesse Barnes
2005-03-07 23:50 ` Grant Grundler
2005-03-08  4:40 ` Colin Ngam [this message]
2005-03-08 16:45 ` Jesse Barnes
2005-03-08 19:29 ` Nguyen, Tom L
2005-03-08 23:48 ` Colin Ngam
2005-03-09  0:02 ` Jesse Barnes
2005-03-09  0:13 ` Colin Ngam
2005-03-09  1:29 ` Colin Ngam
2005-03-09  1:29 ` Jesse Barnes
2005-03-09  1:35 ` Colin Ngam
2005-03-09  3:04 ` Grant Grundler
2005-03-09 15:45 ` Colin Ngam
2005-03-09 16:35 ` Nguyen, Tom L
2005-03-09 17:33 ` Grant Grundler
2005-03-09 17:42 ` Colin Ngam
2005-03-09 17:56 ` Grant Grundler
2005-03-09 18:12 ` Colin Ngam
2005-03-09 18:48 ` Grant Grundler
2005-03-09 19:43 ` Nguyen, Tom L
2005-03-09 21:44 ` Colin Ngam

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=422D2CC8.2F56F4A3@sgi.com \
    --to=cngam@sgi.com \
    --cc=linux-ia64@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