Lines Matching refs:ib
3398 void si_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib) in si_ring_ib_execute() argument
3400 struct radeon_ring *ring = &rdev->ring[ib->ring]; in si_ring_ib_execute()
3401 unsigned vm_id = ib->vm ? ib->vm->ids[ib->ring].id : 0; in si_ring_ib_execute()
3404 if (ib->is_const_ib) { in si_ring_ib_execute()
3435 (ib->gpu_addr & 0xFFFFFFFC)); in si_ring_ib_execute()
3436 radeon_ring_write(ring, upper_32_bits(ib->gpu_addr) & 0xFFFF); in si_ring_ib_execute()
3437 radeon_ring_write(ring, ib->length_dw | (vm_id << 24)); in si_ring_ib_execute()
3439 if (!ib->is_const_ib) { in si_ring_ib_execute()
4442 u32 *ib, struct radeon_cs_packet *pkt) in si_vm_packet3_ce_check() argument
4463 static int si_vm_packet3_cp_dma_check(u32 *ib, u32 idx) in si_vm_packet3_cp_dma_check() argument
4466 u32 command = ib[idx + 4]; in si_vm_packet3_cp_dma_check()
4467 u32 info = ib[idx + 1]; in si_vm_packet3_cp_dma_check()
4468 u32 idx_value = ib[idx]; in si_vm_packet3_cp_dma_check()
4493 start_reg = ib[idx + 2]; in si_vm_packet3_cp_dma_check()
4515 u32 *ib, struct radeon_cs_packet *pkt) in si_vm_packet3_gfx_check() argument
4519 u32 idx_value = ib[idx]; in si_vm_packet3_gfx_check()
4571 reg = ib[idx + 3] * 4; in si_vm_packet3_gfx_check()
4578 start_reg = ib[idx + 1] * 4; in si_vm_packet3_gfx_check()
4593 reg = ib[idx + 5] * 4; in si_vm_packet3_gfx_check()
4600 reg = ib[idx + 3] * 4; in si_vm_packet3_gfx_check()
4621 r = si_vm_packet3_cp_dma_check(ib, idx); in si_vm_packet3_gfx_check()
4633 u32 *ib, struct radeon_cs_packet *pkt) in si_vm_packet3_compute_check() argument
4637 u32 idx_value = ib[idx]; in si_vm_packet3_compute_check()
4674 reg = ib[idx + 3] * 4; in si_vm_packet3_compute_check()
4681 start_reg = ib[idx + 1] * 4; in si_vm_packet3_compute_check()
4696 reg = ib[idx + 5] * 4; in si_vm_packet3_compute_check()
4703 reg = ib[idx + 3] * 4; in si_vm_packet3_compute_check()
4709 r = si_vm_packet3_cp_dma_check(ib, idx); in si_vm_packet3_compute_check()
4720 int si_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib) in si_ib_parse() argument
4728 pkt.type = RADEON_CP_PACKET_GET_TYPE(ib->ptr[idx]); in si_ib_parse()
4729 pkt.count = RADEON_CP_PACKET_GET_COUNT(ib->ptr[idx]); in si_ib_parse()
4740 pkt.opcode = RADEON_CP_PACKET3_GET_OPCODE(ib->ptr[idx]); in si_ib_parse()
4741 if (ib->is_const_ib) in si_ib_parse()
4742 ret = si_vm_packet3_ce_check(rdev, ib->ptr, &pkt); in si_ib_parse()
4744 switch (ib->ring) { in si_ib_parse()
4746 ret = si_vm_packet3_gfx_check(rdev, ib->ptr, &pkt); in si_ib_parse()
4750 ret = si_vm_packet3_compute_check(rdev, ib->ptr, &pkt); in si_ib_parse()
4753 dev_err(rdev->dev, "Non-PM4 ring %d !\n", ib->ring); in si_ib_parse()
4766 for (i = 0; i < ib->length_dw; i++) { in si_ib_parse()
4768 printk("\t0x%08x <---\n", ib->ptr[i]); in si_ib_parse()
4770 printk("\t0x%08x\n", ib->ptr[i]); in si_ib_parse()
4774 } while (idx < ib->length_dw); in si_ib_parse()