[RFC, v1 0/3] msi support for platform devices

Vikas Gupta
2020-11-12T17:59:11Z

[-- Attachment #1: Type: text/plain, Size: 1743 bytes --]

This RFC adds support for MSI for platform devices.
a) MSI(s) is/are added in addition to the normal interrupts.
b) The vendor specific MSI configuration can be done using
callbacks which is implemented as msi module.
c) Adds a msi handling module for the Broadcom platform devices.

Changes from:
-------------
v0 to v1:
i) Removed MSI device flag VFIO_DEVICE_FLAGS_MSI.
ii) Add MSI(s) at the end of the irq list of platform IRQs.
MSI(s) with first entry of MSI block has count and flag
information.
IRQ list: Allocation for IRQs + MSIs are allocated as below
Example: if there are 'n' IRQs and 'k' MSIs
-------------------------------------------------------
|IRQ-0|IRQ-1|....|IRQ-n|MSI-0|MSI-1|MSI-2|......|MSI-k|
-------------------------------------------------------
MSI-0 will have count=k set and flags set accordingly.

Vikas Gupta (3):
vfio/platform: add support for msi
vfio/platform: change cleanup order
vfio/platform: add Broadcom msi module

drivers/vfio/platform/Kconfig | 1 +
drivers/vfio/platform/Makefile | 1 +
drivers/vfio/platform/msi/Kconfig | 9 +
drivers/vfio/platform/msi/Makefile | 2 +
.../vfio/platform/msi/vfio_platform_bcmplt.c | 74 ++++++
drivers/vfio/platform/vfio_platform_common.c | 86 ++++++-
drivers/vfio/platform/vfio_platform_irq.c | 238 +++++++++++++++++-
drivers/vfio/platform/vfio_platform_private.h | 23 ++
8 files changed, 419 insertions(+), 15 deletions(-)
create mode 100644 drivers/vfio/platform/msi/Kconfig
create mode 100644 drivers/vfio/platform/msi/Makefile
create mode 100644 drivers/vfio/platform/msi/vfio_platform_bcmplt.c

--
2.17.1