linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Sébastien Chrétien" <sebastien.chretien.enseirb@gmail.com>
Cc: Scott Wood <scottwood@freescale.com>,
	M B <super.firetwister@googlemail.com>,
	linuxppc-dev@ozlabs.org
Subject: Re: irq
Date: Thu, 04 Sep 2008 13:02:46 +1000	[thread overview]
Message-ID: <1220497366.4879.27.camel@pasglop> (raw)
In-Reply-To: <48BEFB5D.3040903@gmail.com>

On Wed, 2008-09-03 at 23:02 +0200, Sébastien Chrétien wrote:

> irq_of_parse_and_map is equivalent to ioremap in the MMU case ?

On the powerpc architecture, we use virtualized IRQ numbers in order to
deal with the wide range of interrupt controllers around and multiple
of them cascaded.

The base function to "map" a physical interrupt to a virtual interrupt
is irq_create_mapping(). It takes an irq_host argument which represent
the IRQ "domain" (typically irq controller) off which the interrupt you
are trying to map hangs.

If you pass NULL, it will use the "default" controller, which doesn't
always exist, it depends on the platform. Usually, platforms set that
to the toplevel PIC.

However, normally, that function shouldn't be used directly. Instead,
you should create a representation of your device in the device-tree
along with the appropriate interrupt mapping, and then use the
irq_of_parse_and_map() function to obtain a mapped virtual irq based
on the device-tree information. This will take care of finding the
right irq_host but will also properly setup the polarity of the
interrupt etc...

Now, as to how you should represent the interrupt in the device-tree,
this should be explained in Documentation/booting-without-of.txt

Cheers,
Ben.

  parent reply	other threads:[~2008-09-04  3:03 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-03 14:15 irq Sébastien Chrétien
2008-09-03 14:36 ` irq Daniele Bosi
2008-09-03 15:03   ` irq Sébastien Chrétien
2008-09-03 16:05     ` irq M B
2008-09-03 16:36       ` irq Sébastien Chrétien
2008-09-03 17:08         ` irq Scott Wood
2008-09-03 21:02           ` irq Sébastien Chrétien
2008-09-03 21:03             ` irq Scott Wood
2008-09-04  3:02             ` Benjamin Herrenschmidt [this message]
2008-09-04  8:27               ` irq Sébastien Chrétien
2008-09-04 13:23                 ` irq Sébastien Chrétien
2008-09-04 14:18                   ` irq Scott Wood

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=1220497366.4879.27.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=scottwood@freescale.com \
    --cc=sebastien.chretien.enseirb@gmail.com \
    --cc=super.firetwister@googlemail.com \
    /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;
as well as URLs for NNTP newsgroup(s).