RADEON_RING_TYPE_GFX_INDEX
case RADEON_RING_TYPE_GFX_INDEX:
if (emit_wait && ring->idx == RADEON_RING_TYPE_GFX_INDEX) {
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
radeon_ring_fini(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = true;
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
int usepfp = (ring->idx == RADEON_RING_TYPE_GFX_INDEX);
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring);
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL;
r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024);
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
if (ring->idx == RADEON_RING_TYPE_GFX_INDEX)
if (ring->idx == RADEON_RING_TYPE_GFX_INDEX)
if (ring->idx == RADEON_RING_TYPE_GFX_INDEX) {
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
RADEON_RING_TYPE_GFX_INDEX,
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = true;
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
radeon_ring_start(rdev, RADEON_RING_TYPE_GFX_INDEX, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring);
radeon_scratch_free(rdev, rdev->ring[RADEON_RING_TYPE_GFX_INDEX].rptr_save_reg);
radeon_ring_fini(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_ib_get(rdev, RADEON_RING_TYPE_GFX_INDEX, &ib, NULL, 256);
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_emit(rdev, &fence, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_emit(rdev, &fence, RADEON_RING_TYPE_GFX_INDEX);
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring);
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL;
r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024);
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
[RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &cayman_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &cayman_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &si_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &ci_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring
[RADEON_RING_TYPE_GFX_INDEX] = &ci_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &rv515_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &rv515_gfx_ring
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.dma_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
[RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring,
.blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
.copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
p->ring = RADEON_RING_TYPE_GFX_INDEX;
p->ring = RADEON_RING_TYPE_GFX_INDEX;
case RADEON_RING_TYPE_GFX_INDEX: return "radeon.gfx";
if (i == RADEON_RING_TYPE_GFX_INDEX) {
*value = rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready;
case RADEON_RING_TYPE_GFX_INDEX:
case RADEON_RING_TYPE_GFX_INDEX:
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL;
r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024);
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
for (i = RADEON_RING_TYPE_GFX_INDEX; i <= CAYMAN_RING_TYPE_CP2_INDEX; ++i) {
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = true;
r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]);
rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready = false;
if (rdev->asic->copy.copy_ring_index == RADEON_RING_TYPE_GFX_INDEX)
case RADEON_RING_TYPE_GFX_INDEX:
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
r = radeon_fence_driver_start_ring(rdev, RADEON_RING_TYPE_GFX_INDEX);
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];