From: Rob Herring <robherring2@gmail.com>
To: David Daney <ddaney.cavm@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
devicetree-discuss@lists.ozlabs.org,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
David Daney <david.daney@cavium.com>
Subject: Re: [PATCH v2 0/4] irq/of: Cleanup and Enchance irq_domain support.
Date: Fri, 30 Dec 2011 09:30:45 -0600 [thread overview]
Message-ID: <4EFDD925.3050806@gmail.com> (raw)
In-Reply-To: <1323916330-8865-1-git-send-email-ddaney.cavm@gmail.com>
David,
On 12/14/2011 08:32 PM, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> Back in early Nov. I send the first version of this patch set. Now
> things are heating up again in the world of irq_domain, so I wanted to
> try to get some closure on the issues I had. The Octeon patch is
> included here to show how I am using irq_domain, but is part of a much
> larger effort to merge Octeon device tree support.
>
> The basic problem I am attempting to solve is using irq domains when
> there is a 'non-linear' mapping of hwirq <--> irq within a domain.
> Octeon has a single set of irq numbers that is used across two
> different implementations of the interrupt controller as well as more
> than 10 different SOCs all which use different subsets of the irq
> number space. The result is that the hwirq to irq mapping function
> contains many gaps and discontinuities, it is really quite random.
>
> The existing irq domain infrastructure assumes a continuous linear
> mapping of hwirq to irq that can be encapsulated by the irq_base,
> hwirq_base and nr_irq elements of struct irq_domain. This is not
> suitable for the Octeon implementation.
>
> The gist of my change is to add an optional iterator function to
> irq_domain_ops which knows how to iterate over the irq numbers in a
> given domain. For simple linear domains (those currently supported),
> we iterate using the current method based on irq_base, hwirq_base and
> nr_irq.
>
> Summary of the patches:
>
> 1) Get rid of some unused code to make subsequent changes simpler.
>
> 2) Cleanup the data type used by various hwirq functions and users.
>
> 3) Add the irq iterator, and fix up the ARM GIC code to use it instead
> of the current irq_domain_for_each_irq().
>
> 4) Add the Octeon users of the interface.
>
> In an earlier exchange, Rob Herring had said:
>
> ... Handling sparse irqs is a potentially common problem, so we
> should address that in the core irqdomain code.
>
> Which is what this patch set is doing.
>
> There was a suggestion that perhaps having .to_irq() return a magic
> value if there was no mapping would also work. However I prefer this
> approach as it separates the concepts of iteration and mapping of irq
> numbers.
>
> Please comment.
Can we first have a patch that just allows irq domains to be enabled on
MIPS. It collides because of multiple versions of irq_create_of_mapping.
Rob
next prev parent reply other threads:[~2011-12-30 15:30 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-15 2:32 [PATCH v2 0/4] irq/of: Cleanup and Enchance irq_domain support David Daney
2011-12-15 2:32 ` David Daney
2011-12-15 2:32 ` [PATCH v2 1/4] irq: Get rid of irq_domain_for_each_hwirq() David Daney
2011-12-15 2:32 ` David Daney
2011-12-15 2:32 ` [PATCH v2 2/4] irq/of/ARM: Make irq_domain hwirq type consistent throughout the kernel David Daney
2011-12-15 2:32 ` [PATCH v2 3/4] irq/of/ARM: Enhance irq iteration capability of irq_domain code David Daney
2011-12-15 2:32 ` [PATCH v2 4/4] MIPS: Octeon: Add irq_create_of_mapping() and GPIO interrupts David Daney
2011-12-15 2:32 ` David Daney
2011-12-30 15:30 ` Rob Herring [this message]
2011-12-30 18:19 ` [PATCH v2 0/4] irq/of: Cleanup and Enchance irq_domain support Grant Likely
2011-12-30 18:19 ` Grant Likely
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=4EFDD925.3050806@gmail.com \
--to=robherring2@gmail.com \
--cc=david.daney@cavium.com \
--cc=ddaney.cavm@gmail.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=rob.herring@calxeda.com \
--cc=tglx@linutronix.de \
/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.