| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch prepares the dynamic increasement of dma_ops domain
apertures.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Simplify the code a little bit by using the same unit for all address
space related state in the dma_ops domain structure.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch changes the AMD IOMMU address allocator to allow up to 32
aperture ranges per dma_ops domain.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The code will be required when the aperture size increases dynamically
in the extended address allocator.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch makes page table allocation usable for dma_ops code.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a preperation for extended address allocator.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This function is required for suspend/resume support with AMD IOMMU
enabled.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This function is required for suspend/resume support with AMD IOMMU
enabled.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch introduces the for_each_iommu and for_each_iommu_safe macros
to simplify the developers life when having to iterate over all AMD
IOMMUs in the system.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
This information is only helpful for debugging. Don't print it anymore
unless explicitly requested.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In alloc_coherent there is an omitted unlock on the path where mapping
fails. Add the unlock.
[ Impact: fix lock imbalance in alloc_coherent ]
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Some drivers may use the dma api during ->remove which will
cause a protection domain to get reattached to a device. Delay the
detach until after the driver is completely unbound.
[ joro: added a little merge helper ]
[ Impact: fix too early device<->domain removal ]
Signed-off-by: Chris Wright <chrisw@redhat.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* git://git.infradead.org/iommu-2.6:
intel-iommu: Fix address wrap on 32-bit kernel.
intel-iommu: Enable DMAR on 32-bit kernel.
intel-iommu: fix PCI device detach from virtual machine
intel-iommu: VT-d page table to support snooping control bit
iommu: Add domain_has_cap iommu_ops
intel-iommu: Snooping control support
Fixed trivial conflicts in arch/x86/Kconfig and drivers/pci/intel-iommu.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This iommu_op can tell if domain have a specific capability, like snooping
control for Intel IOMMU, which can be used by other components of kernel to
adjust the behaviour.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
|\ \
| | |
| | |
| | | |
git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu
|
| |/
| |
| |
| |
| |
| |
| |
| | |
We try to avoid this type of ifdef and we can safely remove this
ifdef.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This converts X86 and IA64 to use include/linux/dma-mapping.h.
It's a bit large but pretty boring. The major change for X86 is
converting 'int dir' to 'enum dma_data_direction dir' in DMA mapping
operations. The major changes for IA64 is using map_page and
unmap_page instead of map_single and unmap_single.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch converts dma_map_single and dma_unmap_single to use
map_page and unmap_page respectively and removes unnecessary
map_single and unmap_single in struct dma_mapping_ops.
This leaves intel-iommu's dma_map_single and dma_unmap_single since
IA64 uses them. They will be removed after the unification.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|/
|
|
|
|
|
|
|
|
|
| |
This is a preparation of struct dma_mapping_ops unification. We use
map_page and unmap_page instead of map_single and unmap_single.
We will remove map_single and unmap_single hooks in the last patch in
this patchset.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
|
|
|
|
|
| |
The #ifdef's are no longer necessary when the iommu-api and the amd
iommu updates are merged together.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
|
|
|
|
| |
Impact: cleanup, reduce kernel size a bit, avoid sparse warning
Fixes sparse warning:
arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static?
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see total number of map requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see amount of allocated io memory in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of domain tlb flushes in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of single iommu domain tlb flushes in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of requests for more than one page in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of free_coherent requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of alloc_coherent requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of unmap_sg requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of map_sg requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of unmap_single requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of map_single requests in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: see number of completion wait events in debugfs
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: create a new debugfs directory
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: cleanup
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: use bool instead of int for iommu->need_sync
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: use generic dev_name instead of own function
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: also hotplug devices benefit from device isolation
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: adds a new protection domain flag
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
| |
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function to lockup addresses in protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function to unmap pages into protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function to map pages into protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function to attach devices to protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function to detach devices from protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function for releasing protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a generic function for allocation protection domains
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add a function to remove all devices from a domain
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: inform IOMMU about state change of a device in the driver core
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
|
|
|
|
|
| |
Impact: add helper functions to detach a device from a domain
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|