diff options
| author | Christian König <christian.koenig@amd.com> | 2014-02-18 08:52:33 -0500 |
|---|---|---|
| committer | Christian König <christian.koenig@amd.com> | 2014-02-18 11:49:19 -0500 |
| commit | ff212f25feb44a915ce9c0144faef7fae27a6e61 (patch) | |
| tree | 4cfdebae7d47c5504d087ef8950e068a426f1270 | |
| parent | a1d6f97c8cfa7c3554d0391c0b16505d1d97f380 (diff) | |
drm/radeon: drop drivers copy of the rptr
In all cases where it really matters we are using the read functions anyway.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| -rw-r--r-- | drivers/gpu/drm/radeon/cik.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/cik_sdma.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen_dma.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/ni_dma.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600_dma.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_ring.c | 27 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/si.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/si_dma.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/uvd_v1_0.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/vce_v1_0.c | 4 |
15 files changed, 32 insertions, 53 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index 2b31c3233a5e..835dcfb78916 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c | |||
| @@ -4031,8 +4031,6 @@ static int cik_cp_gfx_resume(struct radeon_device *rdev) | |||
| 4031 | WREG32(CP_RB0_BASE, rb_addr); | 4031 | WREG32(CP_RB0_BASE, rb_addr); |
| 4032 | WREG32(CP_RB0_BASE_HI, upper_32_bits(rb_addr)); | 4032 | WREG32(CP_RB0_BASE_HI, upper_32_bits(rb_addr)); |
| 4033 | 4033 | ||
| 4034 | ring->rptr = RREG32(CP_RB0_RPTR); | ||
| 4035 | |||
| 4036 | /* start the ring */ | 4034 | /* start the ring */ |
| 4037 | cik_cp_gfx_start(rdev); | 4035 | cik_cp_gfx_start(rdev); |
| 4038 | rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = true; | 4036 | rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = true; |
| @@ -4587,8 +4585,7 @@ static int cik_cp_compute_resume(struct radeon_device *rdev) | |||
| 4587 | rdev->ring[idx].wptr = 0; | 4585 | rdev->ring[idx].wptr = 0; |
| 4588 | mqd->queue_state.cp_hqd_pq_wptr = rdev->ring[idx].wptr; | 4586 | mqd->queue_state.cp_hqd_pq_wptr = rdev->ring[idx].wptr; |
| 4589 | WREG32(CP_HQD_PQ_WPTR, mqd->queue_state.cp_hqd_pq_wptr); | 4587 | WREG32(CP_HQD_PQ_WPTR, mqd->queue_state.cp_hqd_pq_wptr); |
| 4590 | rdev->ring[idx].rptr = RREG32(CP_HQD_PQ_RPTR); | 4588 | mqd->queue_state.cp_hqd_pq_rptr = RREG32(CP_HQD_PQ_RPTR); |
| 4591 | mqd->queue_state.cp_hqd_pq_rptr = rdev->ring[idx].rptr; | ||
| 4592 | 4589 | ||
| 4593 | /* set the vmid for the queue */ | 4590 | /* set the vmid for the queue */ |
| 4594 | mqd->queue_state.cp_hqd_vmid = 0; | 4591 | mqd->queue_state.cp_hqd_vmid = 0; |
| @@ -5118,7 +5115,7 @@ bool cik_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
| 5118 | if (!(reset_mask & (RADEON_RESET_GFX | | 5115 | if (!(reset_mask & (RADEON_RESET_GFX | |
| 5119 | RADEON_RESET_COMPUTE | | 5116 | RADEON_RESET_COMPUTE | |
| 5120 | RADEON_RESET_CP))) { | 5117 | RADEON_RESET_CP))) { |
| 5121 | radeon_ring_lockup_update(ring); | 5118 | radeon_ring_lockup_update(rdev, ring); |
| 5122 | return false; | 5119 | return false; |
| 5123 | } | 5120 | } |
| 5124 | /* force CP activities */ | 5121 | /* force CP activities */ |
diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c index 1ecb3f1070e3..e474760d714c 100644 --- a/drivers/gpu/drm/radeon/cik_sdma.c +++ b/drivers/gpu/drm/radeon/cik_sdma.c | |||
| @@ -362,8 +362,6 @@ static int cik_sdma_gfx_resume(struct radeon_device *rdev) | |||
| 362 | ring->wptr = 0; | 362 | ring->wptr = 0; |
| 363 | WREG32(SDMA0_GFX_RB_WPTR + reg_offset, ring->wptr << 2); | 363 | WREG32(SDMA0_GFX_RB_WPTR + reg_offset, ring->wptr << 2); |
| 364 | 364 | ||
| 365 | ring->rptr = RREG32(SDMA0_GFX_RB_RPTR + reg_offset) >> 2; | ||
| 366 | |||
| 367 | /* enable DMA RB */ | 365 | /* enable DMA RB */ |
| 368 | WREG32(SDMA0_GFX_RB_CNTL + reg_offset, rb_cntl | SDMA_RB_ENABLE); | 366 | WREG32(SDMA0_GFX_RB_CNTL + reg_offset, rb_cntl | SDMA_RB_ENABLE); |
| 369 | 367 | ||
| @@ -713,7 +711,7 @@ bool cik_sdma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
| 713 | mask = RADEON_RESET_DMA1; | 711 | mask = RADEON_RESET_DMA1; |
| 714 | 712 | ||
| 715 | if (!(reset_mask & mask)) { | 713 | if (!(reset_mask & mask)) { |
| 716 | radeon_ring_lockup_update(ring); | 714 | radeon_ring_lockup_update(rdev, ring); |
| 717 | return false; | 715 | return false; |
| 718 | } | 716 | } |
| 719 | /* force ring activities */ | 717 | /* force ring activities */ |
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index f2b9e21ce4da..d9156be5b9a6 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c | |||
| @@ -2990,8 +2990,6 @@ static int evergreen_cp_resume(struct radeon_device *rdev) | |||
| 2990 | WREG32(CP_RB_BASE, ring->gpu_addr >> 8); | 2990 | WREG32(CP_RB_BASE, ring->gpu_addr >> 8); |
| 2991 | WREG32(CP_DEBUG, (1 << 27) | (1 << 28)); | 2991 | WREG32(CP_DEBUG, (1 << 27) | (1 << 28)); |
| 2992 | 2992 | ||
| 2993 | ring->rptr = RREG32(CP_RB_RPTR); | ||
| 2994 | |||
| 2995 | evergreen_cp_start(rdev); | 2993 | evergreen_cp_start(rdev); |
| 2996 | ring->ready = true; | 2994 | ring->ready = true; |
| 2997 | r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring); | 2995 | r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring); |
| @@ -3952,7 +3950,7 @@ bool evergreen_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *rin | |||
| 3952 | if (!(reset_mask & (RADEON_RESET_GFX | | 3950 | if (!(reset_mask & (RADEON_RESET_GFX | |
| 3953 | RADEON_RESET_COMPUTE | | 3951 | RADEON_RESET_COMPUTE | |
| 3954 | RADEON_RESET_CP))) { | 3952 | RADEON_RESET_CP))) { |
| 3955 | radeon_ring_lockup_update(ring); | 3953 | radeon_ring_lockup_update(rdev, ring); |
| 3956 | return false; | 3954 | return false; |
| 3957 | } | 3955 | } |
| 3958 | /* force CP activities */ | 3956 | /* force CP activities */ |
diff --git a/drivers/gpu/drm/radeon/evergreen_dma.c b/drivers/gpu/drm/radeon/evergreen_dma.c index a37b54436382..d448961e9ab2 100644 --- a/drivers/gpu/drm/radeon/evergreen_dma.c +++ b/drivers/gpu/drm/radeon/evergreen_dma.c | |||
| @@ -174,7 +174,7 @@ bool evergreen_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *rin | |||
| 174 | u32 reset_mask = evergreen_gpu_check_soft_reset(rdev); | 174 | u32 reset_mask = evergreen_gpu_check_soft_reset(rdev); |
| 175 | 175 | ||
| 176 | if (!(reset_mask & RADEON_RESET_DMA)) { | 176 | if (!(reset_mask & RADEON_RESET_DMA)) { |
| 177 | radeon_ring_lockup_update(ring); | 177 | radeon_ring_lockup_update(rdev, ring); |
| 178 | return false; | 178 | return false; |
| 179 | } | 179 | } |
| 180 | /* force ring activities */ | 180 | /* force ring activities */ |
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index ea932ac66fc6..7601532b7372 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c | |||
| @@ -1642,8 +1642,8 @@ static int cayman_cp_resume(struct radeon_device *rdev) | |||
| 1642 | ring = &rdev->ring[ridx[i]]; | 1642 | ring = &rdev->ring[ridx[i]]; |
| 1643 | WREG32_P(cp_rb_cntl[i], RB_RPTR_WR_ENA, ~RB_RPTR_WR_ENA); | 1643 | WREG32_P(cp_rb_cntl[i], RB_RPTR_WR_ENA, ~RB_RPTR_WR_ENA); |
| 1644 | 1644 | ||
| 1645 | ring->rptr = ring->wptr = 0; | 1645 | ring->wptr = 0; |
| 1646 | WREG32(cp_rb_rptr[i], ring->rptr); | 1646 | WREG32(cp_rb_rptr[i], 0); |
| 1647 | WREG32(cp_rb_wptr[i], ring->wptr); | 1647 | WREG32(cp_rb_wptr[i], ring->wptr); |
| 1648 | 1648 | ||
| 1649 | mdelay(1); | 1649 | mdelay(1); |
| @@ -1917,7 +1917,7 @@ bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
| 1917 | if (!(reset_mask & (RADEON_RESET_GFX | | 1917 | if (!(reset_mask & (RADEON_RESET_GFX | |
| 1918 | RADEON_RESET_COMPUTE | | 1918 | RADEON_RESET_COMPUTE | |
| 1919 | RADEON_RESET_CP))) { | 1919 | RADEON_RESET_CP))) { |
| 1920 | radeon_ring_lockup_update(ring); | 1920 | radeon_ring_lockup_update(rdev, ring); |
| 1921 | return false; | 1921 | return false; |
| 1922 | } | 1922 | } |
| 1923 | /* force CP activities */ | 1923 | /* force CP activities */ |
diff --git a/drivers/gpu/drm/radeon/ni_dma.c b/drivers/gpu/drm/radeon/ni_dma.c index 7cf96b15377f..95e533c61f83 100644 --- a/drivers/gpu/drm/radeon/ni_dma.c +++ b/drivers/gpu/drm/radeon/ni_dma.c | |||
| @@ -248,8 +248,6 @@ int cayman_dma_resume(struct radeon_device *rdev) | |||
| 248 | ring->wptr = 0; | 248 | ring->wptr = 0; |
| 249 | WREG32(DMA_RB_WPTR + reg_offset, ring->wptr << 2); | 249 | WREG32(DMA_RB_WPTR + reg_offset, ring->wptr << 2); |
| 250 | 250 | ||
| 251 | ring->rptr = RREG32(DMA_RB_RPTR + reg_offset) >> 2; | ||
| 252 | |||
| 253 | WREG32(DMA_RB_CNTL + reg_offset, rb_cntl | DMA_RB_ENABLE); | 251 | WREG32(DMA_RB_CNTL + reg_offset, rb_cntl | DMA_RB_ENABLE); |
| 254 | 252 | ||
| 255 | ring->ready = true; | 253 | ring->ready = true; |
| @@ -302,7 +300,7 @@ bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
| 302 | mask = RADEON_RESET_DMA1; | 300 | mask = RADEON_RESET_DMA1; |
| 303 | 301 | ||
| 304 | if (!(reset_mask & mask)) { | 302 | if (!(reset_mask & mask)) { |
| 305 | radeon_ring_lockup_update(ring); | 303 | radeon_ring_lockup_update(rdev, ring); |
| 306 | return false; | 304 | return false; |
| 307 | } | 305 | } |
| 308 | /* force ring activities */ | 306 | /* force ring activities */ |
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index ef024ce3f7cc..3a7438163d06 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
| @@ -1193,7 +1193,6 @@ int r100_cp_init(struct radeon_device *rdev, unsigned ring_size) | |||
| 1193 | 1193 | ||
| 1194 | WREG32(RADEON_CP_RB_CNTL, tmp); | 1194 | WREG32(RADEON_CP_RB_CNTL, tmp); |
| 1195 | udelay(10); | 1195 | udelay(10); |
| 1196 | ring->rptr = RREG32(RADEON_CP_RB_RPTR); | ||
| 1197 | /* Set cp mode to bus mastering & enable cp*/ | 1196 | /* Set cp mode to bus mastering & enable cp*/ |
| 1198 | WREG32(RADEON_CP_CSQ_MODE, | ||
