diff options
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/a4xx_gpu.c')
| -rw-r--r-- | drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 25 | 
1 files changed, 6 insertions, 19 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a4xx_gpu.c b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c index ab2b752566d8..b01388a9e89e 100644 --- a/drivers/gpu/drm/msm/adreno/a4xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c @@ -2,9 +2,6 @@  /* Copyright (c) 2014 The Linux Foundation. All rights reserved.   */  #include "a4xx_gpu.h" -#ifdef CONFIG_MSM_OCMEM -#  include <soc/qcom/ocmem.h> -#endif  #define A4XX_INT0_MASK \  	(A4XX_INT0_RBBM_AHB_ERROR |        \ @@ -188,7 +185,7 @@ static int a4xx_hw_init(struct msm_gpu *gpu)  			(1 << 30) | 0xFFFF);  	gpu_write(gpu, REG_A4XX_RB_GMEM_BASE_ADDR, -			(unsigned int)(a4xx_gpu->ocmem_base >> 14)); +			(unsigned int)(a4xx_gpu->ocmem.base >> 14));  	/* Turn on performance counters: */  	gpu_write(gpu, REG_A4XX_RBBM_PERFCTR_CTL, 0x01); @@ -318,10 +315,7 @@ static void a4xx_destroy(struct msm_gpu *gpu)  	adreno_gpu_cleanup(adreno_gpu); -#ifdef CONFIG_MSM_OCMEM -	if (a4xx_gpu->ocmem_base) -		ocmem_free(OCMEM_GRAPHICS, a4xx_gpu->ocmem_hdl); -#endif +	adreno_gpu_ocmem_cleanup(&a4xx_gpu->ocmem);  	kfree(a4xx_gpu);  } @@ -578,17 +572,10 @@ struct msm_gpu *a4xx_gpu_init(struct drm_device *dev)  	/* if needed, allocate gmem: */  	if (adreno_is_a4xx(adreno_gpu)) { -#ifdef CONFIG_MSM_OCMEM -		/* TODO this is different/missing upstream: */ -		struct ocmem_buf *ocmem_hdl = -				ocmem_allocate(OCMEM_GRAPHICS, adreno_gpu->gmem); - -		a4xx_gpu->ocmem_hdl = ocmem_hdl; -		a4xx_gpu->ocmem_base = ocmem_hdl->addr; -		adreno_gpu->gmem = ocmem_hdl->len; -		DBG("using %dK of OCMEM at 0x%08x", adreno_gpu->gmem / 1024, -				a4xx_gpu->ocmem_base); -#endif +		ret = adreno_gpu_ocmem_init(dev->dev, adreno_gpu, +					    &a4xx_gpu->ocmem); +		if (ret) +			goto fail;  	}  	if (!gpu->aspace) {  |