[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201129135208.680293-1-maz@kernel.org>
Date: Sun, 29 Nov 2020 13:52:05 +0000
From: Marc Zyngier <maz@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: Thomas Gleixner <tglx@...utronix.de>, john.garry@...wei.com
Subject: [PATCH 0/3] MSI: Track device proxying when allocating MSIs
This series aims to plug a gap found with John's "managed interrupts
for platform devices" series.
We have a couple of cases where we allocate MSIs for a device, but the
endpoint generating the actual interrupts (let's call it the "logical
device") isn't the one being seen generating the MSIs (the "effective
device"):
- PCI devices behind a non transparent bridge
- Devices attached to a wire-to-MSI bridge
For interrupt infrastructures such as the ITS (where the effective
device ID is part of the translation), it is important decouple the
lifetime of the effective device mapping from the interrupt allocation
on behalf of the logical device. Yes, I have a headache too.
To achieve this split, let's tag the such allocations with a new flag
that convey the fact that the effective device isn't the logical
one. This mostly affects the platform-MSI subsystem.
Subsequent patches add handling of this new flag in the GICv3 ITS
(though there may be scope for something more generic in the case of
the last patch).
Marc Zyngier (3):
platform-msi: Track shared domain allocation
irqchip/gic-v3-its: Tag ITS device as shared if allocating for a proxy
device
irqchip/gic-v3-its: Flag device allocation as proxied if behind a PCI
bridge
drivers/base/platform-msi.c | 7 +++++++
drivers/irqchip/irq-gic-v3-its-pci-msi.c | 11 ++++++++---
drivers/irqchip/irq-gic-v3-its.c | 3 +++
include/asm-generic/msi.h | 4 ++++
4 files changed, 22 insertions(+), 3 deletions(-)
--
2.28.0
Powered by blists - more mailing lists