android_kernel_motorola_sm6225/drivers/iommu
Alex Williamson bd13969b95 iommu: Split iommu_unmaps
iommu_map splits requests into pages that the iommu driver reports
that it can handle.  The iommu_unmap path does not do the same.  This
can cause problems not only from callers that might expect the same
behavior as the map path, but even from the failure path of iommu_map,
should it fail at a point where it has mapped and needs to unwind a
set of pages that the iommu driver cannot handle directly.  amd_iommu,
for example, will BUG_ON if asked to unmap a non power of 2 size.

Fix this by extracting and generalizing the sizing code from the
iommu_map path and use it for both map and unmap.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
2013-06-20 17:26:25 +02:00
..
amd_iommu.c IOMMU Updates for Linux v3.10 2013-05-06 14:59:13 -07:00
amd_iommu_init.c IOMMU Updates for Linux v3.10 2013-05-06 14:59:13 -07:00
amd_iommu_proto.h iommu/amd: Add initialization routines for AMD interrupt remapping 2012-09-28 17:43:52 +02:00
amd_iommu_types.h IOMMU Updates for Linux v3.10 2013-05-06 14:59:13 -07:00
amd_iommu_v2.c IOMMU Updates for Linux v3.6-rc1 2012-07-24 16:24:11 -07:00
dmar.c iommu/vt-d: Remove warning for HPET scope type 2013-04-24 19:53:31 +02:00
exynos-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
intel-iommu.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
intel_irq_remapping.c iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets 2013-04-18 17:00:47 +02:00
iommu.c iommu: Split iommu_unmaps 2013-06-20 17:26:25 +02:00
iova.c iommu: Fix typo in iommu 2012-07-24 12:58:49 +02:00
irq_remapping.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
irq_remapping.h iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets 2013-04-18 17:00:47 +02:00
Kconfig iommu: OMAP: build only on OMAP2+ 2013-03-09 18:54:34 +01:00
Makefile iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
msm_iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
msm_iommu_dev.c msm: iommu: move to drivers/iommu/ 2011-06-21 10:48:50 +02:00
of_iommu.c iommu: Add DMA window parser, of_get_dma_window() 2012-06-25 13:50:28 +02:00
omap-iommu-debug.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
omap-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
omap-iommu.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iommu2.c iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iopgtable.h ARM: OMAP2+: Move iommu2 to drivers/iommu/omap-iommu2.c 2012-11-20 10:04:41 -08:00
omap-iovmm.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
pci.h iommu: Move swap_pci_ref function to drivers/iommu/pci.h. 2013-04-23 14:55:00 +02:00
shmobile-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
shmobile-ipmmu.c iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
shmobile-ipmmu.h iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
tegra-gart.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
tegra-smmu.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00