diff options
Diffstat (limited to 'drivers/gpu/ion/ion_heap.c')
| -rw-r--r-- | drivers/gpu/ion/ion_heap.c | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/drivers/gpu/ion/ion_heap.c b/drivers/gpu/ion/ion_heap.c index 05e7ce5499c..bf6a383bd98 100644 --- a/drivers/gpu/ion/ion_heap.c +++ b/drivers/gpu/ion/ion_heap.c @@ -134,8 +134,22 @@ end:  	return ret;  } -void ion_heap_free_page(struct ion_buffer *buffer, struct page *page, -		       unsigned int order) +struct page *ion_heap_alloc_pages(struct ion_buffer *buffer, gfp_t gfp_flags, +				  unsigned int order) +{ +	struct page *page = alloc_pages(gfp_flags, order); + +	if (!page) +		return page; + +	if (ion_buffer_fault_user_mappings(buffer)) +		split_page(page, order); + +	return page; +} + +void ion_heap_free_pages(struct ion_buffer *buffer, struct page *page, +			 unsigned int order)  {  	int i; |