xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] Interrupt management reworking
@ 2014-04-03 20:41 Julien Grall
  2014-04-03 20:41 ` [PATCH v2 01/16] xen/arm: timer: replace timer_dt_irq by timer_get_irq Julien Grall
                   ` (15 more replies)
  0 siblings, 16 replies; 52+ messages in thread
From: Julien Grall @ 2014-04-03 20:41 UTC (permalink / raw)
  To: xen-devel; +Cc: stefano.stabellini, Julien Grall, tim, ian.campbell

Hello,

This is the second version of this series to rework interrupt management.

Compare to the RFC sent a couple of months ago, I took a different approach
for handling multiple action per IRQ. If the driver wants to use this feature,
it has to explicitely request it by passing the flag IRQ_SHARED to the
newly created functions ({request,setup}_irq_flags). This will prevent
developpers to mix the interrupt by mistake.

While I was working on it, I also took time to rework the interrupt management
to:
    - Make distinction between GIC and IRQ management
    - Drop {request,setup}_dt_irq which is ARM specific and use the
    common one
    - Merge route and setup IRQ functions
    - Improve error checking

Having generic IRQ function will avoid ifdery in driver code and will hopefully
help to port new feature such as ACPI.

This series is a dependencies for the ARM SMMU drivers (the V2 will be sent
soon.

A working tree can be found here:
    git://xenbits.xen.org/people/julieng/xen-unstable.git branch interrupts-mgmt-v2

Sincerely yours,

Julien Grall (16):
  xen/arm: timer: replace timer_dt_irq by timer_get_irq
  xen/arm: IRQ: Use default irq callback from common code for
    no_irq_type
  xen/arm: IRQ: Rename irq_cfg into arch_irq_desc
  xen/arm: IRQ: move gic {,un}lock in gic_set_irq_properties
  xen/arm: IRQ: drop irq parameter in __setup_irq
  xen/arm: IRQ: remove __init from setup_dt_irq, request_dt_irq and
    release_irq
  xen/arm: IRQ: Move IRQ management from gic.c to irq.c
  xen/arm: IRQ Introduce irq_get_domain
  xen/arm: IRQ: Add lock contrainst for gic_irq_{startup,shutdown}
  xen/arm: IRQ: Don't need to have a specific function to route IRQ to
    Xen
  xen/arm: IRQ: Protect IRQ to be shared between domains and XEN
  xen/serial: remove serial_dt_irq
  xen/arm: IRQ: Store IRQ type in arch_irq_desc
  xen/arm: IRQ: Replace {request,setup}_dt_irq by {request,setup}_irq
  xen: IRQ: Add dev_id parameter to release_irq
  xen/arm: IRQ: Handle multiple action per IRQ

 xen/arch/arm/domain_build.c        |   32 ++--
 xen/arch/arm/gic.c                 |  245 +++++++--------------------
 xen/arch/arm/irq.c                 |  321 +++++++++++++++++++++++++++++++++---
 xen/arch/arm/setup.c               |    5 +-
 xen/arch/arm/smpboot.c             |    2 -
 xen/arch/arm/time.c                |   41 ++---
 xen/arch/arm/vtimer.c              |    4 +-
 xen/arch/x86/irq.c                 |    2 +-
 xen/common/irq.c                   |    3 +
 xen/drivers/char/exynos4210-uart.c |   22 +--
 xen/drivers/char/ns16550.c         |   28 +---
 xen/drivers/char/omap-uart.c       |   22 +--
 xen/drivers/char/pl011.c           |   23 +--
 xen/drivers/char/serial.c          |    9 -
 xen/include/asm-arm/config.h       |    2 +
 xen/include/asm-arm/gic.h          |   16 +-
 xen/include/asm-arm/irq.h          |   19 ++-
 xen/include/asm-arm/time.h         |    7 +-
 xen/include/xen/irq.h              |   10 +-
 xen/include/xen/serial.h           |    5 -
 20 files changed, 462 insertions(+), 356 deletions(-)

-- 
1.7.10.4

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

end of thread, other threads:[~2014-04-08 15:54 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-03 20:41 [PATCH v2 00/16] Interrupt management reworking Julien Grall
2014-04-03 20:41 ` [PATCH v2 01/16] xen/arm: timer: replace timer_dt_irq by timer_get_irq Julien Grall
2014-04-07 13:10   ` Ian Campbell
2014-04-07 13:24     ` Julien Grall
2014-04-03 20:41 ` [PATCH v2 02/16] xen/arm: IRQ: Use default irq callback from common code for no_irq_type Julien Grall
2014-04-07 13:10   ` Ian Campbell
2014-04-03 20:41 ` [PATCH v2 03/16] xen/arm: IRQ: Rename irq_cfg into arch_irq_desc Julien Grall
2014-04-07 13:10   ` Ian Campbell
2014-04-03 20:41 ` [PATCH v2 04/16] xen/arm: IRQ: move gic {, un}lock in gic_set_irq_properties Julien Grall
2014-04-03 20:41 ` [PATCH v2 05/16] xen/arm: IRQ: drop irq parameter in __setup_irq Julien Grall
2014-04-07 13:05   ` Ian Campbell
2014-04-07 13:26     ` Julien Grall
2014-04-03 20:41 ` [PATCH v2 06/16] xen/arm: IRQ: remove __init from setup_dt_irq, request_dt_irq and release_irq Julien Grall
2014-04-07 13:11   ` Ian Campbell
2014-04-03 20:41 ` [PATCH v2 07/16] xen/arm: IRQ: Move IRQ management from gic.c to irq.c Julien Grall
2014-04-07 13:07   ` Ian Campbell
2014-04-07 13:34     ` Julien Grall
2014-04-03 20:41 ` [PATCH v2 08/16] xen/arm: IRQ Introduce irq_get_domain Julien Grall
2014-04-07 13:15   ` Ian Campbell
2014-04-07 13:44     ` Julien Grall
2014-04-03 20:42 ` [PATCH v2 09/16] xen/arm: IRQ: Add lock contrainst for gic_irq_{startup, shutdown} Julien Grall
2014-04-07 13:27   ` Ian Campbell
2014-04-07 14:45     ` Julien Grall
2014-04-03 20:42 ` [PATCH v2 10/16] xen/arm: IRQ: Don't need to have a specific function to route IRQ to Xen Julien Grall
2014-04-07 13:53   ` Ian Campbell
2014-04-07 14:15     ` Julien Grall
2014-04-03 20:42 ` [PATCH v2 11/16] xen/arm: IRQ: Protect IRQ to be shared between domains and XEN Julien Grall
2014-04-07 14:46   ` Ian Campbell
2014-04-07 14:53     ` Julien Grall
2014-04-07 15:12       ` Ian Campbell
2014-04-07 15:32         ` Julien Grall
2014-04-03 20:42 ` [PATCH v2 12/16] xen/serial: remove serial_dt_irq Julien Grall
2014-04-07 14:49   ` Ian Campbell
2014-04-03 20:42 ` [PATCH v2 13/16] xen/arm: IRQ: Store IRQ type in arch_irq_desc Julien Grall
2014-04-07 15:03   ` Ian Campbell
2014-04-07 16:06     ` Julien Grall
2014-04-07 16:26       ` Ian Campbell
2014-04-08 11:46         ` Julien Grall
2014-04-08 15:30           ` Ian Campbell
2014-04-08 15:50             ` Julien Grall
2014-04-08 15:54               ` Ian Campbell
2014-04-03 20:42 ` [PATCH v2 14/16] xen/arm: IRQ: Replace {request, setup}_dt_irq by {request, setup}_irq Julien Grall
2014-04-07 15:06   ` Ian Campbell
2014-04-07 16:11     ` Julien Grall
2014-04-03 20:42 ` [PATCH v2 15/16] xen: IRQ: Add dev_id parameter to release_irq Julien Grall
2014-04-04  7:47   ` Jan Beulich
2014-04-04  8:39     ` Julien Grall
2014-04-07 15:08   ` Ian Campbell
2014-04-03 20:42 ` [PATCH v2 16/16] xen/arm: IRQ: Handle multiple action per IRQ Julien Grall
2014-04-04  7:59   ` Jan Beulich
2014-04-04  8:52     ` Julien Grall
2014-04-04  9:00       ` Jan Beulich

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