public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] irqdomain cleanup and refactoring
@ 2012-06-16  5:01 Grant Likely
  2012-06-16  5:01 ` [PATCH 01/12] irqdomain: Split disassociating code into separate function Grant Likely
                   ` (12 more replies)
  0 siblings, 13 replies; 29+ messages in thread
From: Grant Likely @ 2012-06-16  5:01 UTC (permalink / raw)
  To: linux-kernel; +Cc: Milton Miller

Hey folks,

This is some of the refactoring that I've been wanting to do for
irqdomains.  Lots of patches here, but the major changes are:
- eliminate the legacy mapping by replacing it with a pre-populated linear map,
- Get rid of the slow-path setup for mapping, and
- to merge the linear and tree mapping into a single domain type.

The last change still needs some investigation and review, I'm not as
confident that this is correct and it hasn't been tested much.

Milton, the last version of these patches that I posted broke one of
your powerpc machines.  Can you please retest?  I've pushed this
series out into my irqdomain/test branch (see below)

For further work, I'd like to find a way to eliminate the nomap revmap
too so I can get rid of the irqdomain type entirely and simplify the
code even further.  I've not applied many brain cells towards doing
this yet though.  This is an area for further research.

Also, Paul tells me that there are some platforms that want to use
something like a linear mapping, but there are large holes in the
ranges of hwirq numbers which is a little wasteful of memory.  Another
area of investigation is to figure out how to be more memory-efficient
here without slowing down the linear revmap path.

g.

The following changes since commit cfaf025112d3856637ff34a767ef785ef5cf2ca9:

  Linux 3.5-rc2 (2012-06-08 18:40:09 -0700)

are available in the git repository at:

  git://git.secretlab.ca/git/linux-2.6 irqdomain/test

for you to fetch changes up to ca2f744b40214645e0274e8681023ee6d2387f9d:

  irqdomain: merge linear and tree reverse mappings. (2012-06-15 22:36:24 -0600)

Grant Likely (13):
      devicetree: add helper inline for retrieving a node's full name
      irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY
      irqdomain: Split disassociating code into separate function
      irqdomain: Always update revmap when setting up a virq
      irqdomain: Eliminate dedicated radix lookup functions
      irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.
      irqdomain: eliminate slow-path revmap lookups
      irqdomain: Make ops->map hook optional
      irqdomain: Replace LEGACY mapping with LINEAR
      irqdomain: Reserve IRQs for legacy domain
      irqdomain: Add debugging message
      irqdomain: reorganize revmap data.
      irqdomain: merge linear and tree reverse mappings.

Paul Mundt (2):
      irqdomain: Simple NUMA awareness.
      irqdomain: Support for static IRQ mapping and association.

 arch/arm/plat-versatile/fpga-irq.c     |    2 +-
 arch/microblaze/pci/pci-common.c       |    6 +-
 arch/powerpc/kernel/pci-common.c       |    6 +-
 arch/powerpc/kernel/vio.c              |    5 +-
 arch/powerpc/platforms/cell/iommu.c    |    3 +-
 arch/powerpc/platforms/pseries/iommu.c |    2 +-
 arch/powerpc/sysdev/xics/icp-hv.c      |    2 +-
 arch/powerpc/sysdev/xics/icp-native.c  |    2 +-
 arch/powerpc/sysdev/xics/xics-common.c |    3 -
 arch/sparc/kernel/of_device_64.c       |    2 +-
 drivers/of/base.c                      |    2 +-
 drivers/of/irq.c                       |    2 +-
 drivers/pinctrl/pinctrl-nomadik.c      |    4 +-
 include/linux/irqdomain.h              |   55 ++--
 include/linux/of.h                     |   23 +-
 kernel/irq/irqdomain.c                 |  472 +++++++++++++-------------------
 16 files changed, 251 insertions(+), 340 deletions(-)



^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2012-06-18 12:28 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-16  5:01 [PATCH 00/12] irqdomain cleanup and refactoring Grant Likely
2012-06-16  5:01 ` [PATCH 01/12] irqdomain: Split disassociating code into separate function Grant Likely
2012-06-16  5:57   ` Benjamin Herrenschmidt
2012-06-16  5:01 ` [PATCH 02/12] irqdomain: Always update revmap when setting up a virq Grant Likely
2012-06-16  5:57   ` Benjamin Herrenschmidt
2012-06-16  5:01 ` [PATCH 03/12] irqdomain: Support for static IRQ mapping and association Grant Likely
2012-06-16  5:58   ` Benjamin Herrenschmidt
2012-06-17 22:16     ` Grant Likely
2012-06-16  5:01 ` [PATCH 04/12] irqdomain: Eliminate dedicated radix lookup functions Grant Likely
2012-06-16  5:56   ` Benjamin Herrenschmidt
2012-06-16  6:12     ` Grant Likely
2012-06-17 21:58       ` Grant Likely
2012-06-16  5:01 ` [PATCH 05/12] irqdomain: Fix irq_create_direct_mapping() to test irq_domain type Grant Likely
2012-06-16  5:01 ` [PATCH 06/12] irqdomain: eliminate slow-path revmap lookups Grant Likely
2012-06-16  5:01 ` [PATCH 07/12] irqdomain: Make ops->map hook optional Grant Likely
2012-06-16  5:59   ` Benjamin Herrenschmidt
2012-06-16  5:01 ` [PATCH 08/12] irqdomain: Replace LEGACY mapping with LINEAR Grant Likely
2012-06-16  6:01   ` Benjamin Herrenschmidt
2012-06-16  6:16     ` Grant Likely
2012-06-18 12:23       ` Mark Brown
2012-06-16  5:01 ` [PATCH 09/12] irqdomain: Reserve IRQs for legacy domain Grant Likely
2012-06-16  5:01 ` [PATCH 10/12] irqdomain: Add debugging message Grant Likely
2012-06-16  6:02   ` Benjamin Herrenschmidt
2012-06-16  5:01 ` [PATCH 11/12] irqdomain: reorganize revmap data Grant Likely
2012-06-16  6:06   ` Benjamin Herrenschmidt
2012-06-16  6:19     ` Grant Likely
2012-06-16  6:20       ` Grant Likely
2012-06-16  5:01 ` [PATCH 12/12] irqdomain: merge linear and tree reverse mappings Grant Likely
2012-06-18 12:28 ` [PATCH 00/12] irqdomain cleanup and refactoring Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox