kernel-ark/arch/powerpc/platforms
Alexey Kardashevskiy d905c5df9a PPC: POWERNV: move iommu_add_device earlier
The current implementation of IOMMU on sPAPR does not use iommu_ops
and therefore does not call IOMMU API's bus_set_iommu() which
1) sets iommu_ops for a bus
2) registers a bus notifier
Instead, PCI devices are added to IOMMU groups from
subsys_initcall_sync(tce_iommu_init) which does basically the same
thing without using iommu_ops callbacks.

However Freescale PAMU driver (https://lkml.org/lkml/2013/7/1/158)
implements iommu_ops and when tce_iommu_init is called, every PCI device
is already added to some group so there is a conflict.

This patch does 2 things:
1. removes the loop in which PCI devices were added to groups and
adds explicit iommu_add_device() calls to add devices as soon as they get
the iommu_table pointer assigned to them.
2. moves a bus notifier to powernv code in order to avoid conflict with
the notifier from Freescale driver.

iommu_add_device() and iommu_del_device() are public now.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-12-05 16:08:17 +11:00
..
8xx DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
40x Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
44x i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
52xx powerpc/52xx: fix build breakage for MPC5200 LPBFIFO module 2013-10-30 22:34:56 +01:00
82xx powerpc: add explicit OF includes 2013-10-09 20:04:11 -05:00
83xx DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
85xx DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
86xx powerpc: add explicit OF includes 2013-10-09 20:04:11 -05:00
512x DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
amigaone pcspkr: Cleanup Kconfig dependencies 2011-06-09 15:01:41 +02:00
cell Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
chrp powerpc/nvram: Fix endian issue when reading the NVRAM size 2013-10-31 12:37:27 +11:00
embedded6xx DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
maple POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pasemi powerpc: add explicit OF includes 2013-10-09 20:04:11 -05:00
powermac tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
powernv PPC: POWERNV: move iommu_add_device earlier 2013-12-05 16:08:17 +11:00
ps3 powerpc/ps3: Remove inline marking of EXPORT_SYMBOL functions 2013-12-02 14:06:53 +11:00
pseries PPC: POWERNV: move iommu_add_device earlier 2013-12-05 16:08:17 +11:00
wsp powerpc: booke: Fix build failures 2013-11-21 10:33:42 +11:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO 2013-08-14 14:57:50 +10:00
Kconfig.cputype powerpc: allyesconfig should not select CONFIG_CPU_LITTLE_ENDIAN 2013-11-25 11:49:12 +11:00
Makefile powerpc: Remove the main legacy iSerie platform code 2012-03-09 10:35:11 +11:00