[Intel-xe] [PATCH v10 7/9] drm/xe/vm: tidy up xe_runtime_pm usage
Rodrigo Vivi
rodrigo.vivi at kernel.org
Wed May 24 19:30:44 UTC 2023
On Wed, May 24, 2023 at 06:56:59PM +0100, Matthew Auld wrote:
> The xe_device_mem_access_get() should be all that's needed here and
> should now work as expected, without any strange races. In theory should
> be no functional changes here.
>
> Reported-by: Oded Gabbay <ogabbay at kernel.org>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_vm.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index a0306526b269..8d14ee7bf70f 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -1145,11 +1145,8 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
>
> INIT_LIST_HEAD(&vm->extobj.list);
>
> - if (!(flags & XE_VM_FLAG_MIGRATION)) {
> - /* We need to immeditatelly exit from any D3 state */
> - xe_pm_runtime_get(xe);
> + if (!(flags & XE_VM_FLAG_MIGRATION))
> xe_device_mem_access_get(xe);
> - }
>
> err = dma_resv_lock_interruptible(&vm->resv, NULL);
> if (err)
> @@ -1263,10 +1260,8 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
> err_put:
> dma_resv_fini(&vm->resv);
> kfree(vm);
> - if (!(flags & XE_VM_FLAG_MIGRATION)) {
> + if (!(flags & XE_VM_FLAG_MIGRATION))
> xe_device_mem_access_put(xe);
> - xe_pm_runtime_put(xe);
> - }
> return ERR_PTR(err);
> }
>
> @@ -1419,7 +1414,6 @@ static void vm_destroy_work_func(struct work_struct *w)
>
> if (!(vm->flags & XE_VM_FLAG_MIGRATION)) {
> xe_device_mem_access_put(xe);
> - xe_pm_runtime_put(xe);
>
> if (xe->info.has_asid) {
> mutex_lock(&xe->usm.lock);
> --
> 2.40.1
>
More information about the Intel-xe
mailing list