alistair23-linux/arch/powerpc/platforms/powernv
Alexey Kardashevskiy e5afdf9dd5 powerpc/vfio_spapr_tce: Add reference counting to iommu_table
So far iommu_table obejcts were only used in virtual mode and had
a single owner. We are going to change this by implementing in-kernel
acceleration of DMA mapping requests. The proposed acceleration
will handle requests in real mode and KVM will keep references to tables.

This adds a kref to iommu_table and defines new helpers to update it.
This replaces iommu_free_table() with iommu_tce_table_put() and makes
iommu_free_table() static. iommu_tce_table_get() is not used in this patch
but it will be in the following patch.

Since this touches prototypes, this also removes @node_name parameter as
it has never been really useful on powernv and carrying it for
the pseries platform code to iommu_free_table() seems to be quite
useless as well.

This should cause no behavioral change.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-03-30 21:42:11 +11:00
..
eeh-powernv.c powerpc/pci: Always print PHB and PE numbers as hexadecimal 2016-11-22 11:57:07 +11:00
idle.c powernv: Pass PSSCR value and mask to power9_idle_stop 2017-01-31 08:32:13 +11:00
Kconfig powerpc/powernv: Make PCI non-optional 2017-02-20 14:56:26 +11:00
Makefile powerpc/powernv: Split cxl code out into a separate file 2016-07-14 20:26:31 +10:00
npu-dma.c treewide: Constify most dma_map_ops structures 2017-01-24 12:23:35 -05:00
opal-async.c powerpc/opal: Wake up kopald polling thread before waiting for events 2016-07-08 19:53:26 +10:00
opal-dump.c powerpc/powernv : Drop reference added by kset_find_obj() 2016-08-29 12:48:21 +10:00
opal-elog.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
opal-flash.c powerpc/powernv: Add interfaces for flash device access 2015-04-11 20:49:21 +10:00
opal-hmi.c powerpc/powernv: Display the correct error info for CAPP errors. 2017-02-09 10:31:36 +11:00
opal-irqchip.c powerpc/opal-irqchip: Use interrupt names if present 2017-02-09 10:31:37 +11:00
opal-kmsg.c powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages 2016-01-13 12:35:17 +11:00
opal-lpc.c powerpc/opal-lpc: Remove unneeded include 2017-02-09 10:31:37 +11:00
opal-memory-errors.c powerpc/powernv: Fix spelling mistake "Retrived" -> "Retrieved" 2016-06-28 13:52:18 +10:00
opal-msglog.c powerpc/powernv: Report size of OPAL memcons log 2017-01-25 13:33:55 +11:00
opal-nvram.c powerpc/powernv: Add pstore support on powernv 2015-03-23 14:06:10 +11:00
opal-power.c powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform 2015-07-16 13:34:36 +10:00
opal-prd.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
opal-rtc.c powerpc/powernv: Only delay opal_rtc_read() retry when necessary 2015-12-27 19:12:40 +11:00
opal-sensor.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
opal-sysparam.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
opal-tracepoints.c tracing: Have the reg function allow to fail 2016-12-09 09:13:30 -05:00
opal-wrappers.S powerpc/powernv: Fix opal tracepoints with JUMP_LABEL=n 2017-03-04 21:48:49 +11:00
opal-xscom.c powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL 2015-12-17 22:40:54 +11:00
opal.c powerpc/64s: fix handling of non-synchronous machine checks 2017-03-10 16:32:06 +11:00
pci-cxl.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
pci-ioda.c powerpc/vfio_spapr_tce: Add reference counting to iommu_table 2017-03-30 21:42:11 +11:00
pci.c powerpc/vfio_spapr_tce: Add reference counting to iommu_table 2017-03-30 21:42:11 +11:00
pci.h powerpc/powernv: Use OPAL call for TCE kill on NVLink2 2017-01-30 20:34:53 +11:00
powernv.h powernv: Pass PSSCR value and mask to power9_idle_stop 2017-01-31 08:32:13 +11:00
rng.c powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
setup.c powerpc: Change places using CONFIG_KEXEC to use CONFIG_KEXEC_CORE instead. 2016-11-30 23:15:11 +11:00
smp.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/hotplug.h> 2017-03-02 08:42:35 +01:00
subcore-asm.S powerpc/powernv: Add support for POWER8 split core on powernv 2014-05-28 13:35:37 +10:00
subcore.c powerpc/powernv: Create separate subcores CPU feature bit 2016-02-22 20:47:46 +11:00
subcore.h powernv/powerpc: Add winkle support for offline cpus 2014-12-15 10:46:41 +11:00