* [patch 0/2] ia64: Interrupt cleanups and API change preparation
@ 2015-07-13 20:42 Thomas Gleixner
2015-07-13 20:42 ` [patch 1/2] ia64/irq: Use access helper irq_data_get_affinity_mask() Thomas Gleixner
2015-07-13 20:42 ` [patch 2/2] ia64/iosapic: Use irq_set_chip_handler_name_locked() Thomas Gleixner
0 siblings, 2 replies; 5+ messages in thread
From: Thomas Gleixner @ 2015-07-13 20:42 UTC (permalink / raw)
To: LKML; +Cc: Jiang Liu, Cc: Tony Luck, Fenghua Yu
The following patch series contains the following changes:
- Consolidation of chained interrupt handler setup/removal
- Switch to functions which avoid a redundant interrupt
descriptor lookup
- Preparation of interrupt flow handlers for the 'irq' argument
removal
The series has no dependencies and is also available as a git branch
for your convenience:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/ia64
If you want me to carry the patches in the irq/core branch of tip,
please let me know.
Thanks,
tglx
^ permalink raw reply [flat|nested] 5+ messages in thread* [patch 1/2] ia64/irq: Use access helper irq_data_get_affinity_mask() 2015-07-13 20:42 [patch 0/2] ia64: Interrupt cleanups and API change preparation Thomas Gleixner @ 2015-07-13 20:42 ` Thomas Gleixner 2015-07-27 15:55 ` [tip:irq/core] " tip-bot for Jiang Liu 2015-07-13 20:42 ` [patch 2/2] ia64/iosapic: Use irq_set_chip_handler_name_locked() Thomas Gleixner 1 sibling, 1 reply; 5+ messages in thread From: Thomas Gleixner @ 2015-07-13 20:42 UTC (permalink / raw) To: LKML; +Cc: Jiang Liu, Cc: Tony Luck, Fenghua Yu [-- Attachment #1: IA64-irq-Use-access-helper-irq_data_get_affinity_mas.patch --] [-- Type: text/plain, Size: 3014 bytes --] From: Jiang Liu <jiang.liu@linux.intel.com> This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/ia64/kernel/iosapic.c | 2 +- arch/ia64/kernel/irq.c | 6 +++--- arch/ia64/kernel/msi_ia64.c | 4 ++-- arch/ia64/sn/kernel/msi_sn.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) Index: tip/arch/ia64/kernel/iosapic.c =================================================================== --- tip.orig/arch/ia64/kernel/iosapic.c +++ tip/arch/ia64/kernel/iosapic.c @@ -838,7 +838,7 @@ iosapic_unregister_intr (unsigned int gs if (iosapic_intr_info[irq].count == 0) { #ifdef CONFIG_SMP /* Clear affinity */ - cpumask_setall(irq_get_irq_data(irq)->affinity); + cpumask_setall(irq_get_affinity_mask(irq)); #endif /* Clear the interrupt information */ iosapic_intr_info[irq].dest = 0; Index: tip/arch/ia64/kernel/irq.c =================================================================== --- tip.orig/arch/ia64/kernel/irq.c +++ tip/arch/ia64/kernel/irq.c @@ -67,7 +67,7 @@ static char irq_redir [NR_IRQS]; // = { void set_irq_affinity_info (unsigned int irq, int hwid, int redir) { if (irq < NR_IRQS) { - cpumask_copy(irq_get_irq_data(irq)->affinity, + cpumask_copy(irq_get_affinity_mask(irq), cpumask_of(cpu_logical_id(hwid))); irq_redir[irq] = (char) (redir & 0xff); } @@ -119,8 +119,8 @@ static void migrate_irqs(void) if (irqd_is_per_cpu(data)) continue; - if (cpumask_any_and(data->affinity, cpu_online_mask) - >= nr_cpu_ids) { + if (cpumask_any_and(irq_data_get_affinity_mask(data), + cpu_online_mask) >= nr_cpu_ids) { /* * Save it for phase 2 processing */ Index: tip/arch/ia64/kernel/msi_ia64.c =================================================================== --- tip.orig/arch/ia64/kernel/msi_ia64.c +++ tip/arch/ia64/kernel/msi_ia64.c @@ -36,7 +36,7 @@ static int ia64_set_msi_irq_affinity(str msg.data = data; pci_write_msi_msg(irq, &msg); - cpumask_copy(idata->affinity, cpumask_of(cpu)); + cpumask_copy(irq_data_get_affinity_mask(idata), cpumask_of(cpu)); return 0; } @@ -148,7 +148,7 @@ static int dmar_msi_set_affinity(struct msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu)); dmar_msi_write(irq, &msg); - cpumask_copy(data->affinity, mask); + cpumask_copy(irq_data_get_affinity_mask(data), mask); return 0; } Index: tip/arch/ia64/sn/kernel/msi_sn.c =================================================================== --- tip.orig/arch/ia64/sn/kernel/msi_sn.c +++ tip/arch/ia64/sn/kernel/msi_sn.c @@ -206,7 +206,7 @@ static int sn_set_msi_irq_affinity(struc msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff); pci_write_msi_msg(irq, &msg); - cpumask_copy(data->affinity, cpu_mask); + cpumask_copy(irq_data_get_affinity_mask(data), cpu_mask); return 0; } ^ permalink raw reply [flat|nested] 5+ messages in thread
* [tip:irq/core] ia64/irq: Use access helper irq_data_get_affinity_mask() 2015-07-13 20:42 ` [patch 1/2] ia64/irq: Use access helper irq_data_get_affinity_mask() Thomas Gleixner @ 2015-07-27 15:55 ` tip-bot for Jiang Liu 0 siblings, 0 replies; 5+ messages in thread From: tip-bot for Jiang Liu @ 2015-07-27 15:55 UTC (permalink / raw) To: linux-tip-commits Cc: mingo, linux-kernel, tglx, jiang.liu, fenghua.yu, tony.luck, hpa Commit-ID: c42574edc0e33227d4ce41ecc0a81a72f37e7ef4 Gitweb: http://git.kernel.org/tip/c42574edc0e33227d4ce41ecc0a81a72f37e7ef4 Author: Jiang Liu <jiang.liu@linux.intel.com> AuthorDate: Mon, 13 Jul 2015 20:42:46 +0000 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Mon, 27 Jul 2015 13:36:37 +0200 ia64/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Cc: Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/20150713131034.630273860@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/ia64/kernel/iosapic.c | 2 +- arch/ia64/kernel/irq.c | 6 +++--- arch/ia64/kernel/msi_ia64.c | 4 ++-- arch/ia64/sn/kernel/msi_sn.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index bc9501e..4d2698d 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c @@ -838,7 +838,7 @@ iosapic_unregister_intr (unsigned int gsi) if (iosapic_intr_info[irq].count == 0) { #ifdef CONFIG_SMP /* Clear affinity */ - cpumask_setall(irq_get_irq_data(irq)->affinity); + cpumask_setall(irq_get_affinity_mask(irq)); #endif /* Clear the interrupt information */ iosapic_intr_info[irq].dest = 0; diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 812a1e6..de4fc00 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c @@ -67,7 +67,7 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 }; void set_irq_affinity_info (unsigned int irq, int hwid, int redir) { if (irq < NR_IRQS) { - cpumask_copy(irq_get_irq_data(irq)->affinity, + cpumask_copy(irq_get_affinity_mask(irq), cpumask_of(cpu_logical_id(hwid))); irq_redir[irq] = (char) (redir & 0xff); } @@ -119,8 +119,8 @@ static void migrate_irqs(void) if (irqd_is_per_cpu(data)) continue; - if (cpumask_any_and(data->affinity, cpu_online_mask) - >= nr_cpu_ids) { + if (cpumask_any_and(irq_data_get_affinity_mask(data), + cpu_online_mask) >= nr_cpu_ids) { /* * Save it for phase 2 processing */ diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c index 4d3053e..af4eaec 100644 --- a/arch/ia64/kernel/msi_ia64.c +++ b/arch/ia64/kernel/msi_ia64.c @@ -36,7 +36,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata, msg.data = data; pci_write_msi_msg(irq, &msg); - cpumask_copy(idata->affinity, cpumask_of(cpu)); + cpumask_copy(irq_data_get_affinity_mask(idata), cpumask_of(cpu)); return 0; } @@ -148,7 +148,7 @@ static int dmar_msi_set_affinity(struct irq_data *data, msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu)); dmar_msi_write(irq, &msg); - cpumask_copy(data->affinity, mask); + cpumask_copy(irq_data_get_affinity_mask(data), mask); return 0; } diff --git a/arch/ia64/sn/kernel/msi_sn.c b/arch/ia64/sn/kernel/msi_sn.c index 59ba632..fb25065 100644 --- a/arch/ia64/sn/kernel/msi_sn.c +++ b/arch/ia64/sn/kernel/msi_sn.c @@ -206,7 +206,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data, msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff); pci_write_msi_msg(irq, &msg); - cpumask_copy(data->affinity, cpu_mask); + cpumask_copy(irq_data_get_affinity_mask(data), cpu_mask); return 0; } ^ permalink raw reply [flat|nested] 5+ messages in thread
* [patch 2/2] ia64/iosapic: Use irq_set_chip_handler_name_locked() 2015-07-13 20:42 [patch 0/2] ia64: Interrupt cleanups and API change preparation Thomas Gleixner 2015-07-13 20:42 ` [patch 1/2] ia64/irq: Use access helper irq_data_get_affinity_mask() Thomas Gleixner @ 2015-07-13 20:42 ` Thomas Gleixner 2015-07-27 15:56 ` [tip:irq/core] ia64/iosapic: Use irq_set_chip_handler_name_locked () tip-bot for Thomas Gleixner 1 sibling, 1 reply; 5+ messages in thread From: Thomas Gleixner @ 2015-07-13 20:42 UTC (permalink / raw) To: LKML; +Cc: Jiang Liu, Cc: Tony Luck, Fenghua Yu [-- Attachment #1: ia64-iosapic-Use-irq_set_chip_handler_name_locked.patch --] [-- Type: text/plain, Size: 858 bytes --] __irq_set_chip_handler_name_locked() is about to be replaced. Use irq_set_chip_handler_name_locked() instead. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/ia64/kernel/iosapic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: tip/arch/ia64/kernel/iosapic.c =================================================================== --- tip.orig/arch/ia64/kernel/iosapic.c +++ tip/arch/ia64/kernel/iosapic.c @@ -610,9 +610,9 @@ register_intr (unsigned int gsi, int irq chip->name, irq_type->name); chip = irq_type; } - __irq_set_chip_handler_name_locked(irq, chip, trigger == IOSAPIC_EDGE ? - handle_edge_irq : handle_level_irq, - NULL); + irq_set_chip_handler_name_locked(irq_get_irq_data(irq), chip, + trigger == IOSAPIC_EDGE ? handle_edge_irq : handle_level_irq, + NULL); return 0; } ^ permalink raw reply [flat|nested] 5+ messages in thread
* [tip:irq/core] ia64/iosapic: Use irq_set_chip_handler_name_locked () 2015-07-13 20:42 ` [patch 2/2] ia64/iosapic: Use irq_set_chip_handler_name_locked() Thomas Gleixner @ 2015-07-27 15:56 ` tip-bot for Thomas Gleixner 0 siblings, 0 replies; 5+ messages in thread From: tip-bot for Thomas Gleixner @ 2015-07-27 15:56 UTC (permalink / raw) To: linux-tip-commits Cc: fenghua.yu, hpa, linux-kernel, jiang.liu, tony.luck, tglx, mingo Commit-ID: 59fb3d58c5284b42d93262a4690291e9c0e78fe6 Gitweb: http://git.kernel.org/tip/59fb3d58c5284b42d93262a4690291e9c0e78fe6 Author: Thomas Gleixner <tglx@linutronix.de> AuthorDate: Mon, 13 Jul 2015 20:42:48 +0000 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Mon, 27 Jul 2015 13:36:37 +0200 ia64/iosapic: Use irq_set_chip_handler_name_locked() __irq_set_chip_handler_name_locked() is about to be replaced. Use irq_set_chip_handler_name_locked() instead. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jiang Liu <jiang.liu@linux.intel.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/20150713131034.723024979@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/ia64/kernel/iosapic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index 4d2698d..d2fae05 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c @@ -610,9 +610,9 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, chip->name, irq_type->name); chip = irq_type; } - __irq_set_chip_handler_name_locked(irq, chip, trigger == IOSAPIC_EDGE ? - handle_edge_irq : handle_level_irq, - NULL); + irq_set_chip_handler_name_locked(irq_get_irq_data(irq), chip, + trigger == IOSAPIC_EDGE ? handle_edge_irq : handle_level_irq, + NULL); return 0; } ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-07-27 15:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-07-13 20:42 [patch 0/2] ia64: Interrupt cleanups and API change preparation Thomas Gleixner 2015-07-13 20:42 ` [patch 1/2] ia64/irq: Use access helper irq_data_get_affinity_mask() Thomas Gleixner 2015-07-27 15:55 ` [tip:irq/core] " tip-bot for Jiang Liu 2015-07-13 20:42 ` [patch 2/2] ia64/iosapic: Use irq_set_chip_handler_name_locked() Thomas Gleixner 2015-07-27 15:56 ` [tip:irq/core] ia64/iosapic: Use irq_set_chip_handler_name_locked () tip-bot for Thomas Gleixner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
Powered by JetHome