diff options
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/a5xx_preempt.c')
| -rw-r--r-- | drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/msm/adreno/a5xx_preempt.c b/drivers/gpu/drm/msm/adreno/a5xx_preempt.c index 7658e89844b4..f58dd564d122 100644 --- a/drivers/gpu/drm/msm/adreno/a5xx_preempt.c +++ b/drivers/gpu/drm/msm/adreno/a5xx_preempt.c @@ -63,7 +63,7 @@ static struct msm_ringbuffer *get_next_ring(struct msm_gpu *gpu)  		struct msm_ringbuffer *ring = gpu->rb[i];  		spin_lock_irqsave(&ring->preempt_lock, flags); -		empty = (get_wptr(ring) == ring->memptrs->rptr); +		empty = (get_wptr(ring) == gpu->funcs->get_rptr(gpu, ring));  		spin_unlock_irqrestore(&ring->preempt_lock, flags);  		if (!empty) @@ -207,6 +207,7 @@ void a5xx_preempt_hw_init(struct msm_gpu *gpu)  		a5xx_gpu->preempt[i]->wptr = 0;  		a5xx_gpu->preempt[i]->rptr = 0;  		a5xx_gpu->preempt[i]->rbase = gpu->rb[i]->iova; +		a5xx_gpu->preempt[i]->rptr_addr = shadowptr(a5xx_gpu, gpu->rb[i]);  	}  	/* Write a 0 to signal that we aren't switching pagetables */ @@ -257,7 +258,6 @@ static int preempt_init_ring(struct a5xx_gpu *a5xx_gpu,  	ptr->data = 0;  	ptr->cntl = MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE; -	ptr->rptr_addr = shadowptr(a5xx_gpu, ring);  	ptr->counter = counters_iova;  	return 0; |