lapic_vector_set_in_irr() is already available, use it for checking
pending vectors at the local APIC. No functional change.
Signed-off-by: Jacob Pan <[email protected]>
Cc: Imran Khan <[email protected]>
---
arch/x86/include/asm/apic.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 9122e93b89ea..d7a8ac961af8 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -505,13 +505,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)
static inline bool is_vector_pending(unsigned int vector)
{
- unsigned int irr;
-
- irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
- if (irr & (1 << (vector % 32)))
- return true;
-
- return pi_pending_this_cpu(vector);
+ return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
}
/*
--
2.25.1
Hello Jacob,
This looks good to me.
On 7/5/2024 3:56 am, Jacob Pan wrote:
> lapic_vector_set_in_irr() is already available, use it for checking
> pending vectors at the local APIC. No functional change.
>
> Signed-off-by: Jacob Pan <[email protected]>
> Cc: Imran Khan <[email protected]>
Reviewed-by: Imran Khan <[email protected]>
> ---
> arch/x86/include/asm/apic.h | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
> index 9122e93b89ea..d7a8ac961af8 100644
> --- a/arch/x86/include/asm/apic.h
> +++ b/arch/x86/include/asm/apic.h
> @@ -505,13 +505,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)
>
> static inline bool is_vector_pending(unsigned int vector)
> {
> - unsigned int irr;
> -
> - irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
> - if (irr & (1 << (vector % 32)))
> - return true;
> -
> - return pi_pending_this_cpu(vector);
> + return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
> }
>
> /*
The following commit has been merged into the x86/irq branch of tip:
Commit-ID: 6ecc2e7932fe8f132d3b671685f9995785f19e9a
Gitweb: https://git.kernel.org/tip/6ecc2e7932fe8f132d3b671685f9995785f19e9a
Author: Jacob Pan <[email protected]>
AuthorDate: Mon, 06 May 2024 10:56:12 -07:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Wed, 08 May 2024 15:15:15 +02:00
x86/irq: Use existing helper for pending vector check
lapic_vector_set_in_irr() is already available, use it for checking
pending vectors at the local APIC. No functional change.
Signed-off-by: Jacob Pan <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Imran Khan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
arch/x86/include/asm/apic.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 5644c39..467532b 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -503,13 +503,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)
static inline bool is_vector_pending(unsigned int vector)
{
- unsigned int irr;
-
- irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
- if (irr & (1 << (vector % 32)))
- return true;
-
- return pi_pending_this_cpu(vector);
+ return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
}
/*