summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu.c
Commit message (Collapse)AuthorAgeFilesLines
* AMD IOMMU: remove now unnecessary #ifdefsJoerg Roedel2009-01-031-11/+0
| | | | | | | 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>
* AMD IOMMU: prealloc_protection_domains should be staticJaswinder Singh Rajput2009-01-031-1/+1
| | | | | | | | | | 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>
* AMD IOMMU: add statistics about total number of map requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see total number of map requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add statistics about allocated io memoryJoerg Roedel2009-01-031-0/+6
| | | | | | Impact: see amount of allocated io memory in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for domain tlb flushesJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of domain tlb flushes in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for single iommu domain tlb flushesJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of single iommu domain tlb flushes in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for cross-page requestJoerg Roedel2009-01-031-0/+5
| | | | | | Impact: see number of requests for more than one page in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for free_coherent requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of free_coherent requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for alloc_coherent requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of alloc_coherent requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for unmap_sg requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of unmap_sg requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for map_sg requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of map_sg requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for unmap_single requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of unmap_single requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for map_single requestsJoerg Roedel2009-01-031-0/+4
| | | | | | Impact: see number of map_single requests in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add stats counter for completion wait eventsJoerg Roedel2009-01-031-0/+6
| | | | | | Impact: see number of completion wait events in debugfs Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add init code for statistic collectionJoerg Roedel2009-01-031-0/+37
| | | | | | Impact: create a new debugfs directory Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: use calc_devid in prealloc_protection_domainsJoerg Roedel2009-01-031-1/+1
| | | | | | Impact: cleanup Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: convert iommu->need_sync to boolJoerg Roedel2009-01-031-2/+2
| | | | | | Impact: use bool instead of int for iommu->need_sync Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: use dev_name instead of self-build print_devidJoerg Roedel2009-01-031-2/+1
| | | | | | Impact: use generic dev_name instead of own function Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: allocate a new protection for hotplugged devicesJoerg Roedel2009-01-031-0/+17
| | | | | | Impact: also hotplug devices benefit from device isolation Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add a domain flag for default domainsJoerg Roedel2009-01-031-0/+1
| | | | | | Impact: adds a new protection domain flag Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: register functions for the IOMMU APIJoerg Roedel2009-01-031-0/+18
| | | | Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain address lookup function for IOMMU APIJoerg Roedel2009-01-031-0/+31
| | | | | | Impact: add a generic function to lockup addresses in protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain unmap function for IOMMU APIJoerg Roedel2009-01-031-0/+41
| | | | | | Impact: add a generic function to unmap pages into protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain map function for IOMMU APIJoerg Roedel2009-01-031-0/+29
| | | | | | Impact: add a generic function to map pages into protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add device attach function for IOMMU APIJoerg Roedel2009-01-031-0/+35
| | | | | | Impact: add a generic function to attach devices to protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add device detach function for IOMMU APIJoerg Roedel2009-01-031-0/+26
| | | | | | Impact: add a generic function to detach devices from protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain destroy function for IOMMU APIJoerg Roedel2009-01-031-0/+21
| | | | | | Impact: add a generic function for releasing protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain init function for IOMMU APIJoerg Roedel2009-01-031-0/+30
| | | | | | Impact: add a generic function for allocation protection domains Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain cleanup helper functionJoerg Roedel2009-01-031-0/+28
| | | | | | Impact: add a function to remove all devices from a domain Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add device notifier callbackJoerg Roedel2009-01-031-2/+60
| | | | | | Impact: inform IOMMU about state change of a device in the driver core Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add device detach helper functionsJoerg Roedel2009-01-031-0/+39
| | | | | | Impact: add helper functions to detach a device from a domain Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: rename set_device_domain functionJoerg Roedel2009-01-031-5/+5
| | | | | | Impact: rename set_device_domain() to attach_device() Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add device reference counting for protection domainsJoerg Roedel2009-01-031-1/+2
| | | | | | Impact: know how many devices are assigned to a domain Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add checks for dma_ops domain to dma_ops functionsJoerg Roedel2009-01-031-6/+35
| | | | | | Impact: detect when a driver uses a device assigned otherwise Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add protection domain flagsJoerg Roedel2009-01-031-0/+1
| | | | | | | | | | Imapct: add a new struct member to 'struct protection_domain' When using protection domains for dma_ops and KVM its better to know for which subsystem it was allocated. Add a flags member to struct protection domain for that purpose. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add iommu_flush_domain functionJoerg Roedel2009-01-031-0/+24
| | | | | | Impact: add a function to flush a domain id on every IOMMU Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: don't remove protection domain from iommu_pd_listJoerg Roedel2009-01-031-1/+0
| | | | | | | | | | Impact: save unneeded logic to add and remove domains to the list The removal of a protection domain from the iommu_pd_list is not necessary. Another benefit is that we save complexity because we don't have to readd it later when the device no longer uses the domain. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: move invalidation command building to a separate functionJoerg Roedel2009-01-031-10/+16
| | | | | | Impact: refactoring of iommu_queue_inv_iommu_pages Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: refactor completion wait handling into separate functionsJoerg Roedel2009-01-031-23/+45
| | | | | | | | | Impact: split one function into three The separate functions are required synchronize commands across all hardware IOMMUs in the system. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: add domain id free functionJoerg Roedel2009-01-031-0/+12
| | | | | | Impact: add code to release a domain id Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: make dma_ops_free_pagetable genericJoerg Roedel2009-01-031-3/+5
| | | | | | | | | | Impact: change code to free pagetables from protection domains The dma_ops_free_pagetable function can only free pagetables from dma_ops domains. Change that to free pagetables of pure protection domains. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* AMD IOMMU: rename iommu_map to iommu_map_pageJoerg Roedel2009-01-031-5/+5
| | | | | | | | | Impact: function rename The iommu_map function maps only one page. Make this clear in the function name. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* Merge branch 'x86/iommu' into x86/coreIngo Molnar2008-12-231-0/+1
|\
| * Merge branch 'x86/urgent' into x86/iommuIngo Molnar2008-12-011-1/+1
| |\
| * | x86: move GART specific stuff from iommu.h to gart.hJoerg Roedel2008-11-281-0/+1
| | | | | | | | | | | | | | | | | | | | | Impact: cleanup Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | AMD IOMMU: panic if completion wait loop failsJoerg Roedel2008-12-171-2/+3
| | | | | | | | | | | | | | | | | | Impact: prevents data corruption after a failed completion wait loop Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* | | AMD IOMMU: __unmap_single: check for bad_dma_address instead of 0Joerg Roedel2008-12-081-1/+2
| | | | | | | | | | | | | | | | | | Impact: minor fix Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* | | AMD IOMMU: fix WARN_ON in dma_ops unmap pathJoerg Roedel2008-12-081-1/+1
| | | | | | | | | | | | | | | | | | Impact: minor fix Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* | | AMD IOMMU: fix typo in commentJoerg Roedel2008-12-081-2/+2
| | | | | | | | | | | | | | | | | | Impact: cleanup Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* | | AMD IOMMU: fix loop counter in free_pagetable functionJoerg Roedel2008-12-081-1/+1
| | | | | | | | | | | | | | | | | | Impact: bugfix Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>