linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] ARM: GIC: cleanup
@ 2010-12-05 11:33 Russell King - ARM Linux
  2010-12-05 11:34 ` [PATCH 1/5] ARM: GIC: provide a single initialization function for boot CPU Russell King - ARM Linux
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Russell King - ARM Linux @ 2010-12-05 11:33 UTC (permalink / raw)
  To: Anton Vorontsov, Bryan Huntsman, Colin Cross, Daniel Walker,
	David Brown, Erik Gilling, Kukjin Kim, linux-arm-kernel,
	linux-arm-msm, linux-omap, linux-samsung-soc, linux-tegra,
	Olof Johansson, Srinidhi Kasagar, Tony Lindgren

This patch series cleans up the GIC code, consolidating some of the
per-platform practices into the common GIC code.

One notable change is to the initialization methods - we used to
require platforms to pass in the address of the per-CPU interfaces
despite them always being identical between all cores.  This was
nonsense, as even in the extremely unlikely event that they were
different, we aren't storing them in a per-CPU manner.

The GIC initialization methods are now simpler: one call to gic_init()
from the boot CPU, and a call to gic_secondary_init() as each
secondary CPU starts - and no need for platforms to keep track of
the address anymore.

One question remains on this: on platforms where there are more than
one GIC, do these have separate CPU interfaces as well?

We also consolidate gic_cpu_base_addr to save platforms using that -
but only for the first GIC, and therefore we can have a common
get_irqnr_preamble assembler macro for platforms which make use of
this.

Lastly, we move the GIC data to __read_mostly - and when we have
support for this feature, we benefit from avoiding potential cache
line ping-pongs between cores for data so marked.

 arch/arm/common/gic.c                             |   59 +++++++++++++-------
 arch/arm/include/asm/hardware/entry-macro-gic.S   |    7 +++
 arch/arm/include/asm/hardware/gic.h               |    6 ++-
 arch/arm/mach-cns3xxx/core.c                      |    7 +--
 arch/arm/mach-cns3xxx/core.h                      |    1 -
 arch/arm/mach-cns3xxx/include/mach/entry-macro.S  |    5 --
 arch/arm/mach-msm/board-msm8x60.c                 |    7 +--
 arch/arm/mach-omap2/include/mach/entry-macro.S    |    1 +
 arch/arm/mach-omap2/include/mach/omap4-common.h   |    1 -
 arch/arm/mach-omap2/omap-smp.c                    |    2 +-
 arch/arm/mach-omap2/omap4-common.c                |   11 ++--
 arch/arm/mach-realview/core.c                     |    3 -
 arch/arm/mach-realview/core.h                     |    1 -
 arch/arm/mach-realview/include/mach/entry-macro.S |    5 --
 arch/arm/mach-realview/platsmp.c                  |    2 +-
 arch/arm/mach-realview/realview_eb.c              |   14 ++---
 arch/arm/mach-realview/realview_pb1176.c          |   11 ++--
 arch/arm/mach-realview/realview_pb11mp.c          |   10 ++--
 arch/arm/mach-realview/realview_pba8.c            |    6 +-
 arch/arm/mach-realview/realview_pbx.c             |   13 ++---
 arch/arm/mach-s5pv310/cpu.c                       |    6 +--
 arch/arm/mach-s5pv310/include/mach/smp.h          |    2 -
 arch/arm/mach-s5pv310/platsmp.c                   |    2 +-
 arch/arm/mach-tegra/include/mach/entry-macro.S    |    2 +-
 arch/arm/mach-tegra/irq.c                         |    4 +-
 arch/arm/mach-tegra/platsmp.c                     |    2 +-
 arch/arm/mach-ux500/cpu.c                         |    4 +-
 arch/arm/mach-ux500/include/mach/entry-macro.S    |    1 +
 arch/arm/mach-ux500/platsmp.c                     |    2 +-
 arch/arm/mach-vexpress/core.h                     |    2 -
 arch/arm/mach-vexpress/ct-ca9x4.c                 |    7 +--
 arch/arm/mach-vexpress/include/mach/entry-macro.S |    5 --
 arch/arm/mach-vexpress/platsmp.c                  |    2 +-
 33 files changed, 100 insertions(+), 113 deletions(-)


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

end of thread, other threads:[~2010-12-14 18:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-05 11:33 [PATCH 0/5] ARM: GIC: cleanup Russell King - ARM Linux
2010-12-05 11:34 ` [PATCH 1/5] ARM: GIC: provide a single initialization function for boot CPU Russell King - ARM Linux
2010-12-05 21:45   ` Catalin Marinas
2010-12-05 11:34 ` [PATCH 3/5] ARM: GIC: consolidate gic_cpu_base_addr to common GIC code Russell King - ARM Linux
2010-12-05 22:01   ` Catalin Marinas
2010-12-13 17:23 ` [PATCH 0/5] ARM: GIC: cleanup Abhijeet Dharmapurikar
2010-12-13 17:31   ` Russell King - ARM Linux
2010-12-14 18:11     ` Abhijeet Dharmapurikar

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).