On 10/29/26 16:19, Pierre-Eric Pelloux-Prayer wrote: > And use them instead of drm_dev_enter / exit. > > Every place that needs the GPU should already call the drm variant. > The amdgpu version also checks for the wedge status of the device and > amdgpu_device_skip_hw_access. > > Direct uses of amdgpu_device_is_wedged are still ok for paths where > drm_dev_enter is used like drm ioctls. > > Signed-off-by: Pierre-Eric Pelloux-Prayer > > <[email protected]>
A guard version would be really cool to have as well, I know that it isn't trivial because of the drm index which needs to be saved but I've seen that used elsewhere so it is possible. Anyway patch is Reviewed-by: Christian König <[email protected]> Regards, Christian. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 17 +++++++++++++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 +++++++++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 16 ++++++++-------- > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 18 +++++++++++++----- > drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 10 +++++----- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 12 ++++++------ > drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 12 ++++++------ > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 10 +++++----- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/psp_v14_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/psp_v15_0_3.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 8 ++++---- > drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c | 4 ++-- > drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c | 4 ++-- > 30 files changed, 120 insertions(+), 89 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index cd4959486c94..dd9271b20832 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -50,6 +50,7 @@ > #include <drm/ttm/ttm_placement.h> > > #include <drm/amdgpu_drm.h> > +#include <drm/drm_drv.h> > #include <drm/drm_gem.h> > #include <drm/drm_ioctl.h> > > @@ -1387,4 +1388,20 @@ static inline bool amdgpu_device_is_wedged(struct > amdgpu_device *adev) > return atomic_read(&adev->wedge_status); > } > > +static inline bool amdgpu_dev_enter(struct amdgpu_device *adev, int *idx) > +{ > + if (amdgpu_device_is_wedged(adev)) > + return false; > + > + if (amdgpu_device_skip_hw_access(adev)) > + return false; > + > + return drm_dev_enter(adev_to_drm(adev), idx); > +} > + > +static inline void amdgpu_dev_exit(struct amdgpu_device *adev, int idx) > +{ > + drm_dev_exit(idx); > +} > + > #endif > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > index 25b1cf7dc988..a8a98351f077 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > @@ -426,14 +426,14 @@ void amdgpu_ctx_fini(struct kref *ref) > } > } > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > mutex_lock(&adev->pm.stable_pstate_ctx_lock); > if (adev->pm.stable_pstate_ctx == ctx) { > __amdgpu_ctx_set_stable_pstate(ctx, ctx->stable_pstate); > adev->pm.stable_pstate_ctx = NULL; > } > mutex_unlock(&adev->pm.stable_pstate_ctx_lock); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > kfree(ctx); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 641b7fe24951..0da45d076bf6 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -731,13 +731,13 @@ void amdgpu_device_mm_access(struct amdgpu_device > *adev, loff_t pos, > uint64_t last; > int idx; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > if (!IS_ALIGNED(pos, 4) || !IS_ALIGNED(size, 4)) { > dev_err(adev->dev, "unaligned pos/size (pos=0x%llx, > size=0x%zx)\n", > pos, size); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return; > } > > @@ -757,7 +757,7 @@ void amdgpu_device_mm_access(struct amdgpu_device *adev, > loff_t pos, > } > > spin_unlock_irqrestore(&adev->mmio_idx_lock, flags); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > #ifdef CONFIG_64BIT > @@ -3025,12 +3025,18 @@ static void amdgpu_device_delay_enable_gfx_off(struct > work_struct *work) > { > struct amdgpu_device *adev = > container_of(work, struct amdgpu_device, > gfx.gfx_off_delay_work.work); > + int idx; > > WARN_ON_ONCE(adev->gfx.gfx_off_state); > WARN_ON_ONCE(adev->gfx.gfx_off_req_count); > > + if (!amdgpu_dev_enter(adev, &idx)) > + return; > + > if (!amdgpu_dpm_set_powergating_by_smu(adev, AMD_IP_BLOCK_TYPE_GFX, > true, 0)) > adev->gfx.gfx_off_state = true; > + > + amdgpu_dev_exit(adev, idx); > } > > /** > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > index 3e5634de077f..4c3aa4e4d4c9 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > @@ -3030,13 +3030,13 @@ static int amdgpu_drm_release(struct inode *inode, > struct file *filp) > struct drm_device *dev = file_priv->minor->dev; > int idx; > > - if (fpriv && drm_dev_enter(dev, &idx)) { > + if (fpriv && amdgpu_dev_enter(drm_to_adev(dev), &idx)) { > amdgpu_evf_mgr_shutdown(&fpriv->evf_mgr); > amdgpu_userq_mgr_cancel_resume(&fpriv->userq_mgr); > amdgpu_evf_mgr_flush_suspend(&fpriv->evf_mgr); > amdgpu_userq_mgr_fini(&fpriv->userq_mgr); > amdgpu_evf_mgr_fini(&fpriv->evf_mgr); > - drm_dev_exit(idx); > + amdgpu_dev_exit(drm_to_adev(dev), idx); > } > > return drm_release(inode, filp); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > index c4c21dbbbdbf..62e98e50bf35 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > @@ -318,7 +318,7 @@ void amdgpu_gart_unbind(struct amdgpu_device *adev, > uint64_t offset, > if (!adev->gart.ptr) > return; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > t = offset / AMDGPU_GPU_PAGE_SIZE; > @@ -335,7 +335,7 @@ void amdgpu_gart_unbind(struct amdgpu_device *adev, > uint64_t offset, > } > amdgpu_gart_invalidate_tlb(adev); > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /** > @@ -359,7 +359,7 @@ void amdgpu_gart_map(struct amdgpu_device *adev, uint64_t > offset, > unsigned i, j, t; > int idx; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > t = offset / AMDGPU_GPU_PAGE_SIZE; > @@ -371,7 +371,7 @@ void amdgpu_gart_map(struct amdgpu_device *adev, uint64_t > offset, > page_base += AMDGPU_GPU_PAGE_SIZE; > } > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /** > @@ -400,7 +400,7 @@ void amdgpu_gart_map_vram_range(struct amdgpu_device > *adev, uint64_t pa, > /* The SYSTEM flag indicates the pages aren't in VRAM. */ > WARN_ON_ONCE(flags & AMDGPU_PTE_SYSTEM); > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > page_base = pa; > @@ -411,7 +411,7 @@ void amdgpu_gart_map_vram_range(struct amdgpu_device > *adev, uint64_t pa, > } > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /** > @@ -440,7 +440,7 @@ void amdgpu_gart_map_gfx9_mqd(struct amdgpu_device *adev, > uint64_t offset, > if (!adev->gart.ptr) > return; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > t = offset / AMDGPU_GPU_PAGE_SIZE; > @@ -455,7 +455,7 @@ void amdgpu_gart_map_gfx9_mqd(struct amdgpu_device *adev, > uint64_t offset, > page_base += AMDGPU_GPU_PAGE_SIZE; > } > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /** > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > index 617d4eec4e26..f29a36eae6a3 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > @@ -128,12 +128,12 @@ static vm_fault_t amdgpu_gem_fault(struct vm_fault *vmf) > if (ret) > return ret; > > - if (drm_dev_enter(ddev, &idx)) { > + if (amdgpu_dev_enter(drm_to_adev(ddev), &idx)) { > pm_runtime_get_noresume(ddev->dev); > > ret = amdgpu_bo_fault_reserve_notify(bo); > if (ret) { > - drm_dev_exit(idx); > + amdgpu_dev_exit(drm_to_adev(ddev), idx); > goto unlock; > } > > @@ -141,7 +141,7 @@ static vm_fault_t amdgpu_gem_fault(struct vm_fault *vmf) > TTM_BO_VM_NUM_PREFAULT); > > pm_runtime_put_noidle(ddev->dev); > - drm_dev_exit(idx); > + amdgpu_dev_exit(drm_to_adev(ddev), idx); > } else { > ret = ttm_bo_vm_dummy_page(vmf, vmf->vma->vm_page_prot); > } > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c > index 53fa9fa83ae7..94a77bf14c76 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c > @@ -728,9 +728,9 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, > uint32_t vmid, > struct amdgpu_vmhub *hub = &adev->vmhub[vmhub]; > struct dma_fence *fence; > struct amdgpu_job *job; > - int r; > + int r, idx; > > - if (amdgpu_device_is_wedged(adev)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > ring = to_amdgpu_ring(adev->mman.buffer_funcs_scheds[0]); > @@ -742,8 +742,10 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device > *adev, uint32_t vmid, > * A GPU reset should flush all TLBs anyway, so no need to do > * this while one is ongoing. > */ > - if (!down_read_trylock(&adev->reset_domain->sem)) > + if (!down_read_trylock(&adev->reset_domain->sem)) { > + amdgpu_dev_exit(adev, idx); > return; > + } > > if (adev->gmc.flush_tlb_needs_extra_type_2) > adev->gmc.gmc_funcs->flush_gpu_tlb(adev, vmid, > @@ -756,6 +758,7 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, > uint32_t vmid, > adev->gmc.gmc_funcs->flush_gpu_tlb(adev, vmid, vmhub, > flush_type); > up_read(&adev->reset_domain->sem); > + amdgpu_dev_exit(adev, idx); > return; > } > > @@ -782,11 +785,13 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device > *adev, uint32_t vmid, > > dma_fence_wait(fence, false); > dma_fence_put(fence); > + amdgpu_dev_exit(adev, idx); > > return; > > error_alloc: > mutex_unlock(&adev->mman.default_entity.lock); > + amdgpu_dev_exit(adev, idx); > dev_err(adev->dev, "Error flushing GPU TLB using the SDMA (%d)!\n", r); > } > > @@ -947,6 +952,9 @@ int amdgpu_gmc_flush_gpu_tlb_pasid_xccs(struct > amdgpu_device *adev, u16 pasid, > unsigned long pending = 0; > int xcc, r = 0, err; > > + if (amdgpu_device_is_wedged(adev)) > + return -ENODEV; > + > /* > * A GPU reset should flush all TLBs anyway, so no need to do > * this while one is ongoing. > @@ -1283,7 +1291,7 @@ void amdgpu_gmc_init_pdb0(struct amdgpu_device *adev) > u64 gart_ptb_gpu_pa = amdgpu_gmc_vram_pa(adev, adev->gart.bo); > int idx; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return; > > flags |= AMDGPU_PTE_VALID | AMDGPU_PTE_READABLE; > @@ -1315,7 +1323,7 @@ void amdgpu_gmc_init_pdb0(struct amdgpu_device *adev) > flags |= AMDGPU_PTE_SNOOPED | AMDGPU_PDE_BFS_FLAG(adev, 0); > /* Requires gart_ptb_gpu_pa to be 4K aligned */ > amdgpu_gmc_set_pte_pde(adev, adev->gmc.ptr_pdb0, i, gart_ptb_gpu_pa, > flags); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /** > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > index f72c9c690c3b..d1d18c5a0f50 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > @@ -96,7 +96,7 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct > drm_sched_job *s_job) > bool can_reset = amdgpu_gpu_recovery && adev->gpu_recovery_enabled; > int idx, r; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (!amdgpu_dev_enter(adev, &idx)) { > dev_info(adev->dev, "%s - device unplugged skipping recovery on > scheduler:%s", > __func__, s_job->sched->name); > > @@ -219,7 +219,7 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct > drm_sched_job *s_job) > > exit: > amdgpu_vm_put_task_info(ti); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > /* This is needed to add the job back to the pending list */ > return DRM_GPU_SCHED_STAT_NO_HANG; > } > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > index 6aa895f63aea..e0c1a876d76a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > @@ -1144,12 +1144,12 @@ void amdgpu_bo_fini(struct amdgpu_device *adev) > > amdgpu_ttm_fini(adev); > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > if (!adev->gmc.xgmi.connected_to_cpu && !adev->gmc.is_app_apu) { > arch_phys_wc_del(adev->gmc.vram_mtrr); > arch_io_free_memtype_wc(adev->gmc.aper_base, > adev->gmc.aper_size); > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > index 01dca6858833..a0fbb9af818f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > @@ -5109,7 +5109,7 @@ static ssize_t psp_usbc_pd_fw_sysfs_write(struct device > *dev, > return -EBUSY; > } > > - if (!drm_dev_enter(ddev, &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return -ENODEV; > > ret = amdgpu_ucode_request(adev, &usbc_pd_fw, AMDGPU_UCODE_REQUIRED, > @@ -5142,7 +5142,7 @@ static ssize_t psp_usbc_pd_fw_sysfs_write(struct device > *dev, > count = ret; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return count; > } > > @@ -5150,19 +5150,19 @@ int psp_copy_fw(struct psp_context *psp, uint8_t > *start_addr, uint32_t bin_size) > { > int idx; > > - if (!drm_dev_enter(adev_to_drm(psp->adev), &idx)) > + if (!amdgpu_dev_enter(psp->adev, &idx)) > return -ENODEV; > > if (!bin_size || bin_size > PSP_1_MEG) { > dev_err(psp->adev->dev, "PSP firmware is invalid\n"); > - drm_dev_exit(idx); > + amdgpu_dev_exit(psp->adev, idx); > return -EINVAL; > } > > memset(psp->fw_pri_buf, 0, PSP_1_MEG); > memcpy(psp->fw_pri_buf, start_addr, bin_size); > > - drm_dev_exit(idx); > + amdgpu_dev_exit(psp->adev, idx); > return 0; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 9c3efc27b363..5209143e7c24 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -1624,7 +1624,7 @@ static int amdgpu_ttm_access_memory_sdma(struct > ttm_buffer_object *bo, > if (!adev->mman.sdma_access_ptr) > return -EACCES; > > - if (!adev->mman.buffer_funcs_enabled || > !drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!adev->mman.buffer_funcs_enabled || !amdgpu_dev_enter(adev, &idx)) > return -ENODEV; > > if (write) > @@ -1660,7 +1660,7 @@ static int amdgpu_ttm_access_memory_sdma(struct > ttm_buffer_object *bo, > if (!(r || write)) > memcpy(buf, adev->mman.sdma_access_ptr, len); > out: > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return r; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > index cd35ff7ca864..8668684e8e42 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > @@ -456,14 +456,14 @@ int amdgpu_uvd_prepare_suspend(struct amdgpu_device > *adev) > if (!adev->uvd.inst[j].saved_bo) > return -ENOMEM; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > /* re-write 0 since err_event_athub will corrupt VCPU > buffer */ > if (amdgpu_ras_intr_triggered()) > memset(adev->uvd.inst[j].saved_bo, 0, size); > else > memcpy_fromio(adev->uvd.inst[j].saved_bo, ptr, > size); > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > } > > @@ -495,9 +495,9 @@ int amdgpu_uvd_resume(struct amdgpu_device *adev) > ptr = adev->uvd.inst[i].cpu_addr; > > if (adev->uvd.inst[i].saved_bo != NULL) { > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_toio(ptr, adev->uvd.inst[i].saved_bo, > size); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > kvfree(adev->uvd.inst[i].saved_bo); > adev->uvd.inst[i].saved_bo = NULL; > @@ -508,10 +508,10 @@ int amdgpu_uvd_resume(struct amdgpu_device *adev) > hdr = (const struct common_firmware_header > *)adev->uvd.fw->data; > if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) { > offset = > le32_to_cpu(hdr->ucode_array_offset_bytes); > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_toio(adev->uvd.inst[i].cpu_addr, > adev->uvd.fw->data + offset, > > le32_to_cpu(hdr->ucode_size_bytes)); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > size -= le32_to_cpu(hdr->ucode_size_bytes); > ptr += le32_to_cpu(hdr->ucode_size_bytes); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > index 3952af9ae115..b583c4d41a1d 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > @@ -337,11 +337,11 @@ int amdgpu_vce_resume(struct amdgpu_device *adev) > hdr = (const struct common_firmware_header *)adev->vce.fw->data; > offset = le32_to_cpu(hdr->ucode_array_offset_bytes); > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memset_io(adev->vce.cpu_addr, 0, > amdgpu_bo_size(adev->vce.vcpu_bo)); > memcpy_toio(adev->vce.cpu_addr, adev->vce.fw->data + offset, > adev->vce.fw->size - offset); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > return 0; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > index 34e1242d66ea..c286df7c6faf 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > @@ -332,9 +332,9 @@ static int amdgpu_vcn_save_vcpu_bo_inst(struct > amdgpu_device *adev, int i) > if (!adev->vcn.inst[i].saved_bo) > return -ENOMEM; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_fromio(adev->vcn.inst[i].saved_bo, ptr, size); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > return 0; > @@ -383,9 +383,9 @@ int amdgpu_vcn_resume(struct amdgpu_device *adev, int i) > ptr = adev->vcn.inst[i].cpu_addr; > > if (adev->vcn.inst[i].saved_bo != NULL) { > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_toio(ptr, adev->vcn.inst[i].saved_bo, size); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > kvfree(adev->vcn.inst[i].saved_bo); > adev->vcn.inst[i].saved_bo = NULL; > @@ -396,11 +396,11 @@ int amdgpu_vcn_resume(struct amdgpu_device *adev, int i) > hdr = (const struct common_firmware_header > *)adev->vcn.inst[i].fw->data; > if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) { > offset = le32_to_cpu(hdr->ucode_array_offset_bytes); > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_toio(adev->vcn.inst[i].cpu_addr, > adev->vcn.inst[i].fw->data + offset, > le32_to_cpu(hdr->ucode_size_bytes)); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > size -= le32_to_cpu(hdr->ucode_size_bytes); > ptr += le32_to_cpu(hdr->ucode_size_bytes); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index ea8688061237..01f00d55ad6f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1035,7 +1035,7 @@ int amdgpu_vm_update_pdes(struct amdgpu_device *adev, > if (list_empty(&vm->kernel.needs_update)) > return 0; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return -ENODEV; > > memset(¶ms, 0, sizeof(params)); > @@ -1069,7 +1069,7 @@ int amdgpu_vm_update_pdes(struct amdgpu_device *adev, > amdgpu_vm_bo_idle(entry); > > error: > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return r; > } > > @@ -1170,12 +1170,12 @@ int amdgpu_vm_update_range(struct amdgpu_device > *adev, struct amdgpu_vm *vm, > struct amdgpu_res_cursor cursor; > int r, idx; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return -ENODEV; > > tlb_cb = kmalloc_obj(*tlb_cb); > if (!tlb_cb) { > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return -ENOMEM; > } > > @@ -1287,7 +1287,7 @@ int amdgpu_vm_update_range(struct amdgpu_device *adev, > struct amdgpu_vm *vm, > error_free: > kfree(tlb_cb); > amdgpu_vm_end_critical(¶ms); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return r; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c > index c73eb416c0e2..9d1fbddcdd7c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c > @@ -387,7 +387,7 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct > amdgpu_vm *vm, > if (r) > return r; > > - if (!drm_dev_enter(adev_to_drm(adev), &idx)) > + if (!amdgpu_dev_enter(adev, &idx)) > return -ENODEV; > > r = vm->update_funcs->map_table(vmbo); > @@ -429,7 +429,7 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct > amdgpu_vm *vm, > > r = vm->update_funcs->commit(¶ms, &vm->last_update); > exit: > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return r; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c > b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c > index bd3bb3bfb668..4d51e9c534f0 100644 > --- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c > @@ -547,20 +547,20 @@ static int psp_v11_0_memory_training(struct psp_context > *psp, uint32_t ops) > return -ENOMEM; > } > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_fromio(buf, adev->mman.aper_base_kaddr, sz); > ret = psp_v11_0_memory_training_send_msg(psp, > PSP_BL__DRAM_LONG_TRAIN); > if (ret) { > DRM_ERROR("Send long training msg failed.\n"); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return ret; > } > > memcpy_toio(adev->mman.aper_base_kaddr, buf, sz); > amdgpu_device_flush_hdp(adev, NULL); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } else { > vfree(buf); > return -ENODEV; > diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c > b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c > index f9a3fbfc0634..43bb89d4fa33 100644 > --- a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c > @@ -635,20 +635,20 @@ static int psp_v13_0_memory_training(struct psp_context > *psp, uint32_t ops) > return -ENOMEM; > } > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_fromio(buf, adev->mman.aper_base_kaddr, sz); > ret = psp_v13_0_memory_training_send_msg(psp, > PSP_BL__DRAM_LONG_TRAIN); > if (ret) { > DRM_ERROR("Send long training msg failed.\n"); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return ret; > } > > memcpy_toio(adev->mman.aper_base_kaddr, buf, sz); > amdgpu_device_flush_hdp(adev, NULL); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } else { > vfree(buf); > return -ENODEV; > diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v14_0.c > b/drivers/gpu/drm/amd/amdgpu/psp_v14_0.c > index 888c747d6c5c..1c8476fb387d 100644 > --- a/drivers/gpu/drm/amd/amdgpu/psp_v14_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/psp_v14_0.c > @@ -494,20 +494,20 @@ static int psp_v14_0_memory_training(struct psp_context > *psp, uint32_t ops) > return -ENOMEM; > } > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_fromio(buf, adev->mman.aper_base_kaddr, sz); > ret = psp_v14_0_memory_training_send_msg(psp, > PSP_BL__DRAM_LONG_TRAIN); > if (ret) { > DRM_ERROR("Send long training msg failed.\n"); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return ret; > } > > memcpy_toio(adev->mman.aper_base_kaddr, buf, sz); > amdgpu_device_flush_hdp(adev, NULL); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } else { > vfree(buf); > return -ENODEV; > diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v15_0_3.c > b/drivers/gpu/drm/amd/amdgpu/psp_v15_0_3.c > index 029d4f4b0961..739fba7a4751 100644 > --- a/drivers/gpu/drm/amd/amdgpu/psp_v15_0_3.c > +++ b/drivers/gpu/drm/amd/amdgpu/psp_v15_0_3.c > @@ -483,20 +483,20 @@ static int psp_v15_0_3_memory_training(struct > psp_context *psp, uint32_t ops) > return -ENOMEM; > } > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > memcpy_fromio(buf, adev->mman.aper_base_kaddr, sz); > ret = psp_v15_0_3_memory_training_send_msg(psp, > PSP_BL__DRAM_LONG_TRAIN); > if (ret) { > DRM_ERROR("Send long training msg failed.\n"); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > return ret; > } > > memcpy_toio(adev->mman.aper_base_kaddr, buf, sz); > amdgpu_device_flush_hdp(adev, NULL); > vfree(buf); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } else { > vfree(buf); > return -ENODEV; > diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c > b/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c > index ee445d8abe47..e67f53f36f51 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c > @@ -566,14 +566,14 @@ static int vce_v4_0_suspend(struct amdgpu_ip_block > *ip_block) > if (adev->vce.vcpu_bo == NULL) > return 0; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) { > unsigned size = amdgpu_bo_size(adev->vce.vcpu_bo); > void *ptr = adev->vce.cpu_addr; > > memcpy_fromio(adev->vce.saved_bo, ptr, size); > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > /* > @@ -616,12 +616,12 @@ static int vce_v4_0_resume(struct amdgpu_ip_block > *ip_block) > > if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) { > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > unsigned size = amdgpu_bo_size(adev->vce.vcpu_bo); > void *ptr = adev->vce.cpu_addr; > > memcpy_toio(ptr, adev->vce.saved_bo, size); > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > } else { > r = amdgpu_vce_resume(adev); > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c > index 7d2b9e4b913a..2e4b8b025b12 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c > @@ -255,9 +255,9 @@ static int vcn_v2_0_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > struct amdgpu_fw_shared *fw_shared = adev->vcn.inst->fw_shared.cpu_addr; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > fw_shared->present_flag_0 = 0; > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > amdgpu_virt_free_mm_table(adev); > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c > index 10ef5616b2f5..c10c3a672d5e 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c > @@ -421,14 +421,14 @@ static int vcn_v2_5_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > struct amdgpu_fw_shared *fw_shared; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > if (adev->vcn.harvest_config & (1 << i)) > continue; > fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr; > fw_shared->present_flag_0 = 0; > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c > index 0f4f4d66e2e4..6189c096e32f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c > @@ -326,7 +326,7 @@ static int vcn_v3_0_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_fw_shared *fw_shared; > > @@ -337,7 +337,7 @@ static int vcn_v3_0_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sw_ring.is_enabled = false; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev)) > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > index 4b7f7bbe18da..3f0185eac593 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > @@ -277,7 +277,7 @@ static int vcn_v4_0_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn4_fw_shared *fw_shared; > > @@ -289,7 +289,7 @@ static int vcn_v4_0_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sq.is_enabled = 0; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev)) > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c > index 3f39aa83c319..ebc4729669c2 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c > @@ -296,7 +296,7 @@ static int vcn_v4_0_3_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(&adev->ddev, &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn4_fw_shared *fw_shared; > > @@ -304,7 +304,7 @@ static int vcn_v4_0_3_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->present_flag_0 = 0; > fw_shared->sq.is_enabled = cpu_to_le32(false); > } > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev)) > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c > index f30f80c1b07f..3797038d9f72 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c > @@ -248,7 +248,7 @@ static int vcn_v4_0_5_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn4_fw_shared *fw_shared; > > @@ -260,7 +260,7 @@ static int vcn_v4_0_5_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sq.is_enabled = 0; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev)) > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > index 7b7c3bc9f046..5d6c3759fa72 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > @@ -214,7 +214,7 @@ static int vcn_v5_0_0_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn5_fw_shared *fw_shared; > > @@ -226,7 +226,7 @@ static int vcn_v5_0_0_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sq.is_enabled = 0; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c > index c9e990ab297d..270fb2ab42dc 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c > @@ -259,7 +259,7 @@ static int vcn_v5_0_1_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn5_fw_shared *fw_shared; > > @@ -268,7 +268,7 @@ static int vcn_v5_0_1_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sq.is_enabled = 0; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev)) > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c > index ed47ddd5b08c..3565772288b7 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c > @@ -179,7 +179,7 @@ static int vcn_v5_0_2_sw_fini(struct amdgpu_ip_block > *ip_block) > struct amdgpu_device *adev = ip_block->adev; > int i, r, idx; > > - if (drm_dev_enter(adev_to_drm(adev), &idx)) { > + if (amdgpu_dev_enter(adev, &idx)) { > for (i = 0; i < adev->vcn.num_vcn_inst; i++) { > struct amdgpu_vcn5_fw_shared *fw_shared; > > @@ -188,7 +188,7 @@ static int vcn_v5_0_2_sw_fini(struct amdgpu_ip_block > *ip_block) > fw_shared->sq.is_enabled = 0; > } > > - drm_dev_exit(idx); > + amdgpu_dev_exit(adev, idx); > } > > if (amdgpu_sriov_vf(adev))
