[PATCH 0/5 RFC] vfio/pci: add interface to for MSI support with FSL PAMU

From: Bharat Bhushan
Date: Tue Oct 29 2013 - 07:34:59 EST

From: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx>

PAMU (FSL IOMMU) has a concept of primary window and subwindows.
Primary window corresponds to the complete guest iova address space
(including MSI space), with respect to IOMMU_API this is termed as
geometry. IOVA Base of subwindow is determined from the number of
subwindows (configurable using iommu API).
MSI I/O page must be within the geometry and maximum supported
subwindows, so MSI IO-page is setup just after guest memory iova space.

So first four patches are for defining the interface to get:
- Number of MSI regions (which is number of MSI banks for powerpc)
- MSI-region address range: Physical page which have the
address/addresses used for generating MSI interrupt
and size of the page.

Last Patch is for setting up MSI iova-base for vfio devices assigned
in msi subsystem, so that when msi-message will be composed then this
configured iova will be used. Earlier we were using iommu interface
for getting the configured iova which was not currect and
Alex Williamson suggeested this type of interface.

Bharat Bhushan (5):
pci:msi: add weak function for returning msi region info
powerpc: pci: Add arch specific msi region interface
powerpc: msi: Extend the msi region interface to get info from
pci: msi: expose msi region information functions
vfio: setup iova-base for msi interrupts for vfio assigned device

arch/powerpc/include/asm/machdep.h | 10 ++++
arch/powerpc/kernel/msi.c | 28 ++++++++++
arch/powerpc/sysdev/fsl_msi.c | 106 ++++++++++++++++++++++++++++++++++--
arch/powerpc/sysdev/fsl_msi.h | 19 ++++++-
drivers/pci/msi.c | 34 ++++++++++++
include/linux/msi.h | 14 +++++
include/linux/pci.h | 21 +++++++
7 files changed, 223 insertions(+), 9 deletions(-)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/