blob: 0b500c5b6446e6690846fe9d13a0a5483bef2f20 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_IOMMU_H
2#define _ASM_X86_IOMMU_H
Yinghai Luf2cf8e02007-07-21 17:11:31 +02003
4extern void pci_iommu_shutdown(void);
5extern void no_iommu_init(void);
Alexis Bruemmer1956a962008-07-25 19:44:51 -07006extern struct dma_mapping_ops nommu_dma_ops;
Yinghai Luf2cf8e02007-07-21 17:11:31 +02007extern int force_iommu, no_iommu;
8extern int iommu_detected;
FUJITA Tomonorie93be882008-07-10 08:27:49 +09009
Joerg Roedelbdab0ba2008-10-15 22:02:07 -070010extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len);
FUJITA Tomonori8978b742008-07-29 13:38:53 +090011
Linus Torvalds5b346532008-10-23 10:22:01 -070012/* 10 seconds */
13#define DMAR_OPERATION_TIMEOUT ((cycles_t) tsc_khz*10*1000)
14
FUJITA Tomonori8cbfd4f42008-07-09 16:29:41 +090015#ifdef CONFIG_GART_IOMMU
FUJITA Tomonorie93be882008-07-10 08:27:49 +090016extern int gart_iommu_aperture;
17extern int gart_iommu_aperture_allowed;
18extern int gart_iommu_aperture_disabled;
19
20extern void early_gart_iommu_check(void);
Yinghai Luf2cf8e02007-07-21 17:11:31 +020021extern void gart_iommu_init(void);
22extern void gart_iommu_shutdown(void);
23extern void __init gart_parse_options(char *);
FUJITA Tomonorie93be882008-07-10 08:27:49 +090024extern void gart_iommu_hole_init(void);
25
Yinghai Luf2cf8e02007-07-21 17:11:31 +020026#else
FUJITA Tomonorie93be882008-07-10 08:27:49 +090027#define gart_iommu_aperture 0
28#define gart_iommu_aperture_allowed 0
29#define gart_iommu_aperture_disabled 1
30
31static inline void early_gart_iommu_check(void)
32{
33}
FUJITA Tomonoriac7ded22008-07-11 10:23:43 +090034static inline void gart_iommu_init(void)
35{
36}
Yinghai Luf2cf8e02007-07-21 17:11:31 +020037static inline void gart_iommu_shutdown(void)
38{
39}
FUJITA Tomonoriac7ded22008-07-11 10:23:43 +090040static inline void gart_parse_options(char *options)
41{
42}
43static inline void gart_iommu_hole_init(void)
44{
45}
Yinghai Luf2cf8e02007-07-21 17:11:31 +020046#endif
47
H. Peter Anvin1965aae2008-10-22 22:26:29 -070048#endif /* _ASM_X86_IOMMU_H */