Skip to contentSkip to conversation

x86/platform/uv: Use apic_ack_irq()

PATCH In review Thomas Gleixner 3 participants 3 messages Jun 4, 2018 – Jun 6, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 6/8 x86/platform/uv: Use apic_ack_irq()

To address the EBUSY fail of interrupt affinity settings in case that the previous setting has not been cleaned up yet, use the new apic_ack_irq() function instead of the special uv_ack_apic() implementation which is merily a wrapper around ack_APIC_irq().

Preparatory change for the real fix

Fixes dccfe3147b42 ("x86/vector: Simplify vector move cleanup")
---
 arch/x86/platform/uv/uv_irq.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
arch/x86/platform/uv/uv_irq.c +1 -6
@@ -47,11 +47,6 @@ static void uv_program_mmr(struct irq_cf
 
 static void uv_noop(struct irq_data *data) { }
 
-static void uv_ack_apic(struct irq_data *data)
-{
-	ack_APIC_irq();
-}
-
 static int
 uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask,
 		    bool force)
@@ -73,7 +68,7 @@ static struct irq_chip uv_irq_chip = {
 	.name			= "UV-CORE",
 	.irq_mask		= uv_noop,
 	.irq_unmask		= uv_noop,
-	.irq_eoi		= uv_ack_apic,
+	.irq_eoi		= apic_ack_irq,
 	.irq_set_affinity	= uv_set_irq_affinity,
 };
 
#2 lore raw
In reply to Thomas Gleixner
x86/platform/uv: Use apic_ack_irq()
Commit-ID:  839b0f1c4ef674cd929a42304c078afca278581a
Gitweb:     https://git.kernel.org/tip/839b0f1c4ef674cd929a42304c078afca278581a
Author:     Thomas Gleixner <[email protected]>
AuthorDate: Mon, 4 Jun 2018 17:33:58 +0200
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Wed, 6 Jun 2018 15:18:21 +0200

x86/platform/uv: Use apic_ack_irq()

To address the EBUSY fail of interrupt affinity settings in case that the previous setting has not been cleaned up yet, use the new apic_ack_irq() function instead of the special uv_ack_apic() implementation which is merily a wrapper around ack_APIC_irq().

Preparatory change for the real fix

Fixes dccfe3147b42 ("x86/vector: Simplify vector move cleanup")
Cc Joerg Roedel <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Dmitry Safonov <[email protected]>
Cc Mike Travis <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc Tariq Toukan <[email protected]>
---
 arch/x86/platform/uv/uv_irq.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
arch/x86/platform/uv/uv_irq.c +1 -6
index e4cb9f4cde8a..fc13cbbb2dce 100644
@@ -47,11 +47,6 @@ static void uv_program_mmr(struct irq_cfg *cfg, struct uv_irq_2_mmr_pnode *info)
 
 static void uv_noop(struct irq_data *data) { }
 
-static void uv_ack_apic(struct irq_data *data)
-{
-	ack_APIC_irq();
-}
-
 static int
 uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask,
 		    bool force)
@@ -73,7 +68,7 @@ static struct irq_chip uv_irq_chip = {
 	.name			= "UV-CORE",
 	.irq_mask		= uv_noop,
 	.irq_unmask		= uv_noop,
-	.irq_eoi		= uv_ack_apic,
+	.irq_eoi		= apic_ack_irq,
 	.irq_set_affinity	= uv_set_irq_affinity,
 };