[tip: x86/irq] x86/irq: Unionize PID.PIR for 64bit access w/o casting

From: tip-bot2 for Jacob Pan
Date: Tue Apr 30 2024 - 09:30:23 EST


The following commit has been merged into the x86/irq branch of tip:

Commit-ID: 4ec8fd037139a4d8afb2a5c7edb4a17f9449a035
Gitweb: https://git.kernel.org/tip/4ec8fd037139a4d8afb2a5c7edb4a17f9449a035
Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
AuthorDate: Tue, 23 Apr 2024 10:41:04 -07:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Tue, 30 Apr 2024 00:54:42 +02:00

x86/irq: Unionize PID.PIR for 64bit access w/o casting

Make the PIR field into u64 such that atomic xchg64 can be used without
ugly casting.

Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20240423174114.526704-3-jacob.jun.pan@xxxxxxxxxxxxxxx

---
arch/x86/include/asm/posted_intr.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/posted_intr.h b/arch/x86/include/asm/posted_intr.h
index f0324c5..acf237b 100644
--- a/arch/x86/include/asm/posted_intr.h
+++ b/arch/x86/include/asm/posted_intr.h
@@ -9,7 +9,10 @@

/* Posted-Interrupt Descriptor */
struct pi_desc {
- u32 pir[8]; /* Posted interrupt requested */
+ union {
+ u32 pir[8]; /* Posted interrupt requested */
+ u64 pir64[4];
+ };
union {
struct {
/* bit 256 - Outstanding Notification */