Lines Matching refs:vcn_inst
409 struct amdgpu_vcn_inst *vcn_inst = in amdgpu_vcn_idle_work_handler() local
411 struct amdgpu_device *adev = vcn_inst->adev; in amdgpu_vcn_idle_work_handler()
413 unsigned int i = vcn_inst->inst, j; in amdgpu_vcn_idle_work_handler()
420 fence[i] += amdgpu_fence_count_emitted(&vcn_inst->ring_enc[j]); in amdgpu_vcn_idle_work_handler()
428 unlikely(atomic_read(&vcn_inst->dpg_enc_submission_cnt))) in amdgpu_vcn_idle_work_handler()
433 adev->vcn.inst[i].pause_dpg_mode(vcn_inst, &new_state); in amdgpu_vcn_idle_work_handler()
436 fence[i] += amdgpu_fence_count_emitted(&vcn_inst->ring_dec); in amdgpu_vcn_idle_work_handler()
439 if (!fences && !atomic_read(&vcn_inst->total_submission_cnt)) { in amdgpu_vcn_idle_work_handler()
440 vcn_inst->set_pg_state(vcn_inst, AMD_PG_STATE_GATE); in amdgpu_vcn_idle_work_handler()
451 schedule_delayed_work(&vcn_inst->idle_work, VCN_IDLE_TIMEOUT); in amdgpu_vcn_idle_work_handler()
458 struct amdgpu_vcn_inst *vcn_inst = &adev->vcn.inst[ring->me]; in amdgpu_vcn_ring_begin_use() local
461 atomic_inc(&vcn_inst->total_submission_cnt); in amdgpu_vcn_ring_begin_use()
463 cancel_delayed_work_sync(&vcn_inst->idle_work); in amdgpu_vcn_ring_begin_use()
483 mutex_lock(&vcn_inst->vcn_pg_lock); in amdgpu_vcn_ring_begin_use()
484 vcn_inst->set_pg_state(vcn_inst, AMD_PG_STATE_UNGATE); in amdgpu_vcn_ring_begin_use()
488 !vcn_inst->using_unified_queue) { in amdgpu_vcn_ring_begin_use()
492 atomic_inc(&vcn_inst->dpg_enc_submission_cnt); in amdgpu_vcn_ring_begin_use()
498 for (i = 0; i < vcn_inst->num_enc_rings; ++i) in amdgpu_vcn_ring_begin_use()
499 fences += amdgpu_fence_count_emitted(&vcn_inst->ring_enc[i]); in amdgpu_vcn_ring_begin_use()
501 if (fences || atomic_read(&vcn_inst->dpg_enc_submission_cnt)) in amdgpu_vcn_ring_begin_use()
507 vcn_inst->pause_dpg_mode(vcn_inst, &new_state); in amdgpu_vcn_ring_begin_use()
509 mutex_unlock(&vcn_inst->vcn_pg_lock); in amdgpu_vcn_ring_begin_use()