]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
x86/ioapic: Cleanup IO/APIC route entry structs
authorThomas Gleixner <tglx@linutronix.de>
Sat, 24 Oct 2020 21:35:20 +0000 (22:35 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 28 Oct 2020 19:26:27 +0000 (20:26 +0100)
commit341b4a7211b6ba3a7089e1dc09ac4bd576dfb05f
treeb426a1bb19d527d4ea4da146a4d38789507a2d65
parenta27dca645d2c0f31abb7858aa0e10b2fa0f2f659
x86/ioapic: Cleanup IO/APIC route entry structs

Having two seperate structs for the I/O-APIC RTE entries (non-remapped and
DMAR remapped) requires type casts and makes it hard to map.

Combine them in IO_APIC_routing_entry by defining a union of two 64bit
bitfields. Use naming which reflects which bits are shared and which bits
are actually different for the operating modes.

[dwmw2: Fix it up and finish the job, pulling the 32-bit w1,w2 words for
        register access into the same union and eliminating a few more
        places where bits were accessed through masks and shifts.]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20201024213535.443185-21-dwmw2@infradead.org
arch/x86/include/asm/io_apic.h
arch/x86/kernel/apic/io_apic.c
drivers/iommu/amd/iommu.c
drivers/iommu/hyperv-iommu.c
drivers/iommu/intel/irq_remapping.c