All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/19] Implement generic IPI support mechanism
@ 2015-11-25 12:06 ` Qais Yousef
  0 siblings, 0 replies; 57+ messages in thread
From: Qais Yousef @ 2015-11-25 12:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: tglx, jason, marc.zyngier, jiang.liu, ralf, linux-mips, Qais Yousef

This series adds support for a generic IPI mechanism that can be used by both
arch and drivers to send IPIs to other CPUs.

v2 introduces a big change over v1 and should have addressed all review comments.

List of changes:
	- We now have 2 IPI flags to distinguish per cpu IPIs from single ones.
	- IPI functions are in ipi.c
	- Added offset to ipi_mask to cater for masks starting at non-zero.
	- New API for sending IPIs.
	- Added device hierarchy to mips-gic.
	- Added a new patch to reserve mips-gic IPIs from DT.
	- Dropped the Docs help for now till API stabilises.

It's hard to detail every change done but these are the headlines.
It would be good to look at all patches again. Hopefully I broke them down in
an away that is easy to review.

I hope this is close enough to how it should be done and I didn't stray off.

I tested this on Malta platform which effectively doesn't have DT support.
Unfortunately I don't have access to a platform with DT support that can run on
latest kernel. The recent changes in irq/core makes backporting the patches non
trivial.

Thanks in advance.

Qais

Qais Yousef (19):
  genirq: Add new IRQ_DOMAIN_FLAGS_IPI
  genirq: Add DOMAIN_BUS_IPI
  genirq: Add GENERIC_IRQ_IPI Kconfig symbol
  genirq: Add new struct ipi_mask and helper functions
  genirq: Add struct ipi_mask to irq_data
  genirq: Add struct ipi_mapping and its helper functions
  genirq: Make irq_domain_alloc_descs() non static
  genirq: Add a new generic IPI reservation code to irq core
  genirq: Add a new function to get IPI reverse mapping
  genirq: Add a new irq_send_ipi() to irq_chip
  genirq: Implement ipi_send_{mask, single}()
  irqchip/mips-gic: Add a IPI hierarchy domain
  irqchip/mips-gic: Add device hierarchy domain
  irqchip/mips-gic: Use gic_vpes instead of NR_CPUS
  irqchip/mips-gic: Clear percpu_masks correctly when mapping
  MIPS: Add generic SMP IPI support
  MIPS: Make smp CMP, CPS and MT use the new generic IPI functions
  MIPS: Delete smp-gic.c
  irqchip/mips-gic: Add new DT property to reserve IPIs

 .../bindings/interrupt-controller/mips-gic.txt     |   7 +
 arch/mips/Kconfig                                  |   6 -
 arch/mips/include/asm/smp-ops.h                    |   5 +-
 arch/mips/kernel/Makefile                          |   1 -
 arch/mips/kernel/smp-cmp.c                         |   4 +-
 arch/mips/kernel/smp-cps.c                         |   4 +-
 arch/mips/kernel/smp-gic.c                         |  64 ---
 arch/mips/kernel/smp-mt.c                          |   2 +-
 arch/mips/kernel/smp.c                             | 139 ++++++
 drivers/irqchip/Kconfig                            |   2 +
 drivers/irqchip/irq-mips-gic.c                     | 354 +++++++++++----
 include/linux/irq.h                                | 152 +++++++
 include/linux/irqchip/mips-gic.h                   |   3 -
 include/linux/irqdomain.h                          |  46 ++
 kernel/irq/Kconfig                                 |   4 +
 kernel/irq/Makefile                                |   1 +
 kernel/irq/ipi.c                                   | 478 +++++++++++++++++++++
 kernel/irq/irqdomain.c                             |   6 +-
 18 files changed, 1102 insertions(+), 176 deletions(-)
 delete mode 100644 arch/mips/kernel/smp-gic.c
 create mode 100644 kernel/irq/ipi.c

-- 
2.1.0


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

end of thread, other threads:[~2015-12-01 10:47 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-25 12:06 [PATCH v2 00/19] Implement generic IPI support mechanism Qais Yousef
2015-11-25 12:06 ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 01/19] genirq: Add new IRQ_DOMAIN_FLAGS_IPI Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 02/19] genirq: Add DOMAIN_BUS_IPI Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 03/19] genirq: Add GENERIC_IRQ_IPI Kconfig symbol Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 04/19] genirq: Add new struct ipi_mask and helper functions Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-30 11:20   ` Thomas Gleixner
2015-11-30 11:48     ` Qais Yousef
2015-11-30 11:48       ` Qais Yousef
2015-11-30 13:11       ` Thomas Gleixner
2015-11-30 13:57         ` Qais Yousef
2015-11-30 13:57           ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 05/19] genirq: Add struct ipi_mask to irq_data Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 06/19] genirq: Add struct ipi_mapping and its helper functions Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 07/19] genirq: Make irq_domain_alloc_descs() non static Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 08/19] genirq: Add a new generic IPI reservation code to irq core Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 09/19] genirq: Add a new function to get IPI reverse mapping Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-27 11:46   ` Qais Yousef
2015-11-27 11:46     ` Qais Yousef
2015-11-30 10:40     ` Thomas Gleixner
2015-11-30 10:53       ` Qais Yousef
2015-11-30 10:53         ` Qais Yousef
2015-11-30 11:22         ` Thomas Gleixner
2015-11-30 11:59           ` Qais Yousef
2015-11-30 11:59             ` Qais Yousef
2015-12-01 10:47             ` Qais Yousef
2015-12-01 10:47               ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 10/19] genirq: Add a new irq_send_ipi() to irq_chip Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 11/19] genirq: Implement ipi_send_{mask, single}() Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 12/19] irqchip/mips-gic: Add a IPI hierarchy domain Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 13/19] irqchip/mips-gic: Add device " Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 14/19] irqchip/mips-gic: Use gic_vpes instead of NR_CPUS Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 15/19] irqchip/mips-gic: Clear percpu_masks correctly when mapping Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 16/19] MIPS: Add generic SMP IPI support Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 17/19] MIPS: Make smp CMP, CPS and MT use the new generic IPI functions Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 18/19] MIPS: Delete smp-gic.c Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 12:06 ` [PATCH v2 19/19] irqchip/mips-gic: Add new DT property to reserve IPIs Qais Yousef
2015-11-25 12:06   ` Qais Yousef
2015-11-25 16:09   ` Rob Herring

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.