From 609eb320c69b130eb7bbd4b0398ea6ce6c85bbfc Mon Sep 17 00:00:00 2001 From: Hiroshi DOYU Date: Fri, 23 Dec 2011 14:10:33 +0200 Subject: gpu: ion: Add IOMMU heap allocator with IOMMU API Implemented IOMMU heap allocator("ion_iommu_heap_ops") with IOMMU API. This implementation is independenf of SoC because the standard IOMMU API is used in the backend implementation of this heap_ops. [Krishna Reddy: Refactored the original version heavily, especially making "allocation" and "mapping" features independent with "struct page" based mapping functions.] Change-Id: Ia692d9a0dc00424fa3e95a830f557808351b1ad7 Signed-off-by: Hiroshi DOYU Signed-off-by: Krishna Reddy Reviewed-on: http://git-master/r/72217 Reviewed-by: Automatic_Commit_Validation_User --- include/linux/ion.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/linux/ion.h b/include/linux/ion.h index aed8349279ed..9a322437a976 100644 --- a/include/linux/ion.h +++ b/include/linux/ion.h @@ -33,6 +33,7 @@ enum ion_heap_type { ION_HEAP_TYPE_SYSTEM, ION_HEAP_TYPE_SYSTEM_CONTIG, ION_HEAP_TYPE_CARVEOUT, + ION_HEAP_TYPE_IOMMU, ION_HEAP_TYPE_CUSTOM, /* must be last so device specific heaps always are at the end of this enum */ ION_NUM_HEAPS, @@ -63,6 +64,7 @@ struct ion_buffer; * @name: used for debug purposes * @base: base address of heap in physical memory if applicable * @size: size of the heap in bytes if applicable + * @priv: heap specific data * * Provided by the board file. */ @@ -72,6 +74,7 @@ struct ion_platform_heap { const char *name; ion_phys_addr_t base; size_t size; + void *priv; }; /** -- cgit v1.2.3