diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2011-12-07 06:24:42 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2011-12-15 05:15:39 -0500 |
commit | bc21662f729cd17d2af93e149f4eccafc7b10181 (patch) | |
tree | cb980b6412dc1b42383fefe9898c808167d4a4c6 /include/linux/amd-iommu.h | |
parent | 52efdb89d60a0f19949129a08af3437a7aab70be (diff) |
iommu/amd: Add invalidate-context call-back
This call-back is invoked when the task that is bound to a
pasid is about to exit. The driver can use it to shutdown
all context related to that context in a safe way.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include/linux/amd-iommu.h')
-rw-r--r-- | include/linux/amd-iommu.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/amd-iommu.h b/include/linux/amd-iommu.h index c03c281ae6ee..ef00610837d4 100644 --- a/include/linux/amd-iommu.h +++ b/include/linux/amd-iommu.h | |||
@@ -145,6 +145,23 @@ struct amd_iommu_device_info { | |||
145 | extern int amd_iommu_device_info(struct pci_dev *pdev, | 145 | extern int amd_iommu_device_info(struct pci_dev *pdev, |
146 | struct amd_iommu_device_info *info); | 146 | struct amd_iommu_device_info *info); |
147 | 147 | ||
148 | /** | ||
149 | * amd_iommu_set_invalidate_ctx_cb() - Register a call-back for invalidating | ||
150 | * a pasid context. This call-back is | ||
151 | * invoked when the IOMMUv2 driver needs to | ||
152 | * invalidate a PASID context, for example | ||
153 | * because the task that is bound to that | ||
154 | * context is about to exit. | ||
155 | * | ||
156 | * @pdev: The PCI device the call-back should be registered for | ||
157 | * @cb: The call-back function | ||
158 | */ | ||
159 | |||
160 | typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, int pasid); | ||
161 | |||
162 | extern int amd_iommu_set_invalidate_ctx_cb(struct pci_dev *pdev, | ||
163 | amd_iommu_invalidate_ctx cb); | ||
164 | |||
148 | #else | 165 | #else |
149 | 166 | ||
150 | static inline int amd_iommu_detect(void) { return -ENODEV; } | 167 | static inline int amd_iommu_detect(void) { return -ENODEV; } |