|
@@ -3414,7 +3414,6 @@ u32 cik_compute_ring_get_rptr(struct radeon_device *rdev,
|
|
|
cik_srbm_select(rdev, 0, 0, 0, 0);
|
|
|
mutex_unlock(&rdev->srbm_mutex);
|
|
|
}
|
|
|
- rptr = (rptr & ring->ptr_reg_mask) >> ring->ptr_reg_shift;
|
|
|
|
|
|
return rptr;
|
|
|
}
|
|
@@ -3433,7 +3432,6 @@ u32 cik_compute_ring_get_wptr(struct radeon_device *rdev,
|
|
|
cik_srbm_select(rdev, 0, 0, 0, 0);
|
|
|
mutex_unlock(&rdev->srbm_mutex);
|
|
|
}
|
|
|
- wptr = (wptr & ring->ptr_reg_mask) >> ring->ptr_reg_shift;
|
|
|
|
|
|
return wptr;
|
|
|
}
|
|
@@ -3441,10 +3439,8 @@ u32 cik_compute_ring_get_wptr(struct radeon_device *rdev,
|
|
|
void cik_compute_ring_set_wptr(struct radeon_device *rdev,
|
|
|
struct radeon_ring *ring)
|
|
|
{
|
|
|
- u32 wptr = (ring->wptr << ring->ptr_reg_shift) & ring->ptr_reg_mask;
|
|
|
-
|
|
|
- rdev->wb.wb[ring->wptr_offs/4] = cpu_to_le32(wptr);
|
|
|
- WDOORBELL32(ring->doorbell_offset, wptr);
|
|
|
+ rdev->wb.wb[ring->wptr_offs/4] = cpu_to_le32(ring->wptr);
|
|
|
+ WDOORBELL32(ring->doorbell_offset, ring->wptr);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -7649,7 +7645,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP_RPTR_OFFSET,
|
|
|
CP_RB0_RPTR, CP_RB0_WPTR,
|
|
|
- 0, 0xfffff, RADEON_CP_PACKET2);
|
|
|
+ RADEON_CP_PACKET2);
|
|
|
if (r)
|
|
|
return r;
|
|
|
|
|
@@ -7658,7 +7654,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
ring = &rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX];
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP1_RPTR_OFFSET,
|
|
|
CP_HQD_PQ_RPTR, CP_HQD_PQ_WPTR,
|
|
|
- 0, 0xfffff, PACKET3(PACKET3_NOP, 0x3FFF));
|
|
|
+ PACKET3(PACKET3_NOP, 0x3FFF));
|
|
|
if (r)
|
|
|
return r;
|
|
|
ring->me = 1; /* first MEC */
|
|
@@ -7670,7 +7666,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
ring = &rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX];
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, RADEON_WB_CP2_RPTR_OFFSET,
|
|
|
CP_HQD_PQ_RPTR, CP_HQD_PQ_WPTR,
|
|
|
- 0, 0xffffffff, PACKET3(PACKET3_NOP, 0x3FFF));
|
|
|
+ PACKET3(PACKET3_NOP, 0x3FFF));
|
|
|
if (r)
|
|
|
return r;
|
|
|
/* dGPU only have 1 MEC */
|
|
@@ -7683,7 +7679,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, R600_WB_DMA_RPTR_OFFSET,
|
|
|
SDMA0_GFX_RB_RPTR + SDMA0_REGISTER_OFFSET,
|
|
|
SDMA0_GFX_RB_WPTR + SDMA0_REGISTER_OFFSET,
|
|
|
- 2, 0xfffffffc, SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0));
|
|
|
+ SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0));
|
|
|
if (r)
|
|
|
return r;
|
|
|
|
|
@@ -7691,7 +7687,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, CAYMAN_WB_DMA1_RPTR_OFFSET,
|
|
|
SDMA0_GFX_RB_RPTR + SDMA1_REGISTER_OFFSET,
|
|
|
SDMA0_GFX_RB_WPTR + SDMA1_REGISTER_OFFSET,
|
|
|
- 2, 0xfffffffc, SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0));
|
|
|
+ SDMA_PACKET(SDMA_OPCODE_NOP, 0, 0));
|
|
|
if (r)
|
|
|
return r;
|
|
|
|
|
@@ -7707,7 +7703,7 @@ static int cik_startup(struct radeon_device *rdev)
|
|
|
if (ring->ring_size) {
|
|
|
r = radeon_ring_init(rdev, ring, ring->ring_size, 0,
|
|
|
UVD_RBC_RB_RPTR, UVD_RBC_RB_WPTR,
|
|
|
- 0, 0xfffff, RADEON_CP_PACKET2);
|
|
|
+ RADEON_CP_PACKET2);
|
|
|
if (!r)
|
|
|
r = r600_uvd_init(rdev, true);
|
|
|
if (r)
|