mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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

* [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/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

* [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