]>
Commit | Line | Data |
---|---|---|
c6da992e | 1 | /* |
5d0d7156 | 2 | * Copyright (C) 2007-2010 Advanced Micro Devices, Inc. |
c6da992e JR |
3 | * Author: Joerg Roedel <joerg.roedel@amd.com> |
4 | * Leo Duran <leo.duran@amd.com> | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify it | |
7 | * under the terms of the GNU General Public License version 2 as published | |
8 | * by the Free Software Foundation. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | * GNU General Public License for more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License | |
16 | * along with this program; if not, write to the Free Software | |
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
18 | */ | |
19 | ||
1965aae3 PA |
20 | #ifndef _ASM_X86_AMD_IOMMU_H |
21 | #define _ASM_X86_AMD_IOMMU_H | |
c6da992e | 22 | |
a80dc3e0 | 23 | #include <linux/irqreturn.h> |
c6da992e JR |
24 | |
25 | #ifdef CONFIG_AMD_IOMMU | |
6a9401a7 | 26 | |
480125ba | 27 | extern int amd_iommu_detect(void); |
6a9401a7 | 28 | |
6a113ddc JR |
29 | |
30 | /** | |
31 | * amd_iommu_enable_device_erratum() - Enable erratum workaround for device | |
32 | * in the IOMMUv2 driver | |
33 | * @pdev: The PCI device the workaround is necessary for | |
34 | * @erratum: The erratum workaround to enable | |
35 | * | |
36 | * Possible values for the erratum number are for now: | |
37 | * - AMD_PRI_DEV_ERRATUM_ENABLE_RESET - Reset PRI capability when PRI | |
38 | * is enabled | |
39 | * - AMD_PRI_DEV_ERRATUM_LIMIT_REQ_ONE - Limit number of outstanding PRI | |
40 | * requests to one | |
41 | */ | |
42 | #define AMD_PRI_DEV_ERRATUM_ENABLE_RESET 0 | |
43 | #define AMD_PRI_DEV_ERRATUM_LIMIT_REQ_ONE 1 | |
44 | ||
45 | extern void amd_iommu_enable_device_erratum(struct pci_dev *pdev, u32 erratum); | |
46 | ||
c6da992e | 47 | #else |
6a9401a7 | 48 | |
480125ba | 49 | static inline int amd_iommu_detect(void) { return -ENODEV; } |
6a9401a7 | 50 | |
c6da992e JR |
51 | #endif |
52 | ||
1965aae3 | 53 | #endif /* _ASM_X86_AMD_IOMMU_H */ |