All of lore.kernel.org
 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 related	[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 related	[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 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.