aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/swiotlb.h
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-11-10 05:46:18 -0500
committerIngo Molnar <mingo@elte.hu>2009-11-10 06:31:52 -0500
commit5740afdb68abadc473fd5392df733558a58c1254 (patch)
tree82f87512446607118d48b0e6db9f011abd5e1124 /include/linux/swiotlb.h
parent9f993ac3f708b661207ed7de521f245586217a68 (diff)
swiotlb: Add swiotlb_free() function
swiotlb_free() function frees all allocated memory for swiotlb. We need to initialize swiotlb before IOMMU initialization (x86 and powerpc needs to allocate memory from bootmem allocator). If IOMMU initialization is successful, we need to free swiotlb resource (don't want to waste 64MB). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: build fix for the !CONFIG_SWIOTLB case ] Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/swiotlb.h')
-rw-r--r--include/linux/swiotlb.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 73b1f1cec423..59bafa690290 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -88,4 +88,10 @@ swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr);
88extern int 88extern int
89swiotlb_dma_supported(struct device *hwdev, u64 mask); 89swiotlb_dma_supported(struct device *hwdev, u64 mask);
90 90
91#ifdef CONFIG_SWIOTLB
92extern void __init swiotlb_free(void);
93#else
94static inline void swiotlb_free(void) { }
95#endif
96
91#endif /* __LINUX_SWIOTLB_H */ 97#endif /* __LINUX_SWIOTLB_H */