diff options
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gem.c')
| -rw-r--r-- | drivers/gpu/drm/msm/msm_gem.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 22308a1b66fc..104fdfc14027 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -5,6 +5,7 @@   */  #include <linux/dma-map-ops.h> +#include <linux/vmalloc.h>  #include <linux/spinlock.h>  #include <linux/shmem_fs.h>  #include <linux/dma-buf.h> @@ -85,7 +86,7 @@ static struct page **get_pages_vram(struct drm_gem_object *obj, int npages)  	paddr = physaddr(obj);  	for (i = 0; i < npages; i++) { -		p[i] = phys_to_page(paddr); +		p[i] = pfn_to_page(__phys_to_pfn(paddr));  		paddr += PAGE_SIZE;  	} @@ -1132,6 +1133,7 @@ static int msm_gem_new_impl(struct drm_device *dev,  	msm_obj->flags = flags;  	msm_obj->madv = MSM_MADV_WILLNEED; +	INIT_LIST_HEAD(&msm_obj->node);  	INIT_LIST_HEAD(&msm_obj->vmas);  	*obj = &msm_obj->base; @@ -1166,7 +1168,7 @@ struct drm_gem_object *msm_gem_new(struct drm_device *dev, uint32_t size, uint32  	ret = msm_gem_new_impl(dev, size, flags, &obj);  	if (ret) -		goto fail; +		return ERR_PTR(ret);  	msm_obj = to_msm_bo(obj); @@ -1250,7 +1252,7 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev,  	ret = msm_gem_new_impl(dev, size, MSM_BO_WC, &obj);  	if (ret) -		goto fail; +		return ERR_PTR(ret);  	drm_gem_private_object_init(dev, obj, size); |