]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI/MSI: Provide a sane mechanism for TPH
authorThomas Gleixner <tglx@linutronix.de>
Wed, 19 Mar 2025 10:56:57 +0000 (11:56 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 9 Apr 2025 18:47:30 +0000 (20:47 +0200)
commitd5124a9957b2a8d728a86ea8462e0c404acae016
tree597d92f7941b0f94f59c0380327fab54575391f6
parent6552e90e2a23b8861488653c76605f7aa1c77ad8
PCI/MSI: Provide a sane mechanism for TPH

The PCI/TPH driver fiddles with the MSI-X control word of an active
interrupt completely unserialized against concurrent operations issued
from the interrupt core. It also brings the PCI/MSI-X internal cached
control word out of sync.

Provide a function, which has the required serialization and keeps the
control word cache in sync.

Unfortunately this requires to look up and lock the interrupt descriptor,
which should be only done in the interrupt core code. But confining this
particular oddity in the PCI/MSI core is the lesser of all evil. A
interrupt core implementation would require a larger pile of infrastructure
and indirections for dubious value.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/all/20250319105506.683663807@linutronix.de
drivers/pci/msi/msi.c
drivers/pci/pci.h