linux/arch/powerpc/platforms/pseries
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
..
cmm.c powerpc/pseries: Fix typo in parameter description 2017-02-10 15:20:07 +11:00
dlpar.c powerpc/pseries: Implement indexed-count hotplug memory add 2017-02-17 17:57:30 +11:00
dtl.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
eeh_pseries.c powerpc/pci: Always print PHB and PE numbers as hexadecimal 2016-11-22 11:57:07 +11:00
event_sources.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
firmware.c Merge branch 'topic/ppc-kvm' into next 2017-02-14 17:18:29 +11:00
hotplug-cpu.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/hotplug.h> 2017-03-02 08:42:35 +01:00
hotplug-memory.c powerpc/pseries: Revert 'Auto-online hotplugged memory' 2017-02-21 12:57:01 +11:00
hvCall_inst.c powerpc: Replace __get_cpu_var uses 2014-11-03 12:12:32 +11:00
hvCall.S powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define 2015-04-09 09:40:29 +02:00
hvconsole.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
hvcserver.c powerpc/pseries/hvcserver: don't memset pi_buff if it is null 2015-10-09 08:03:03 +11:00
ibmebus.c treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
io_event_irq.c powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
iommu.c powerpc/vfio_spapr_tce: Add reference counting to iommu_table 2017-03-30 21:42:11 +11:00
Kconfig powerpc/64: Move HAVE_CONTEXT_TRACKING from pseries to common Kconfig 2017-02-02 16:35:24 +11:00
kexec.c powerpc/pseries: Remove MPIC from pseries kexec 2016-06-14 13:58:27 +10:00
lpar.c powerpc/pseries: Don't give a warning when HPT resizing isn't available 2017-03-17 16:10:58 +11:00
lparcfg.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Makefile powerpc: Change places using CONFIG_KEXEC to use CONFIG_KEXEC_CORE instead. 2016-11-30 23:15:11 +11:00
mobility.c powerpc/pseries: Update affinity for memory and cpus specified in a PRRN event 2017-02-02 20:36:38 +11:00
msi.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
nvram.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
of_helpers.c powerpc/pseries: Correct string length in pseries_of_derive_parent() 2015-10-28 12:08:18 +09:00
of_helpers.h powerpc/pseries: extract of_helpers module 2015-10-05 21:11:24 +11:00
offline_states.h
pci_dlpar.c powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb) 2016-08-22 11:09:33 +10:00
pci.c powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb) 2016-08-22 11:09:33 +10:00
power.c powerpc/sparse: Include headers containing prototypes 2016-06-16 22:40:19 +10:00
pseries_energy.c powerpc/sparse: make some things static 2016-06-16 22:23:11 +10:00
pseries.h powerpc/pseries: Move CMO code from plapr_wrappers.h to platforms/pseries 2016-11-17 17:11:46 +11:00
ras.c powerpc/pseries: Add support for hotplug interrupt source 2016-07-19 20:12:30 +10:00
reconfig.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
rng.c powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
scanlog.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
setup.c powerpc: Move isa bridge definitions to separate include 2017-01-31 13:54:17 +11:00
smp.c powerpc/pseries: Remove MPIC from pseries smp 2016-06-14 13:58:26 +10:00
suspend.c powerpc/pseries: Switch pseries drivers to use machine_xxx_initcall() 2014-07-28 14:11:26 +10:00
vio.c powerpc/vfio_spapr_tce: Add reference counting to iommu_table 2017-03-30 21:42:11 +11:00