Module Name: src Committed By: riastradh Date: Sun Dec 19 12:31:45 UTC 2021
Modified Files: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu: amdgpu_ctx.c amdgpu_device.c amdgpu_gfx.c amdgpu_gmc_v10_0.c amdgpu_gmc_v9_0.c amdgpu_irq.c amdgpu_ras.c amdgpu_ras_eeprom.c amdgpu_ring.c amdgpu_ttm.c amdgpu_vm.c amdgpu_vram_mgr.c src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm: amdgpu_dm.c amdgpu_dm_hdcp.c amdgpu_dm_irq.c src/sys/external/bsd/drm2/dist/drm/amd/powerplay: amdgpu_amd_powerplay.c amdgpu_smu.c Log Message: amdgpu: mutex_init/destroy and spin_lock_init/destroy audit To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c cvs rdiff -u -r1.10 -r1.11 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c cvs rdiff -u -r1.5 -r1.6 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c cvs rdiff -u -r1.4 -r1.5 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c cvs rdiff -u -r1.7 -r1.8 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c cvs rdiff -u -r1.3 -r1.4 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c cvs rdiff -u -r1.9 -r1.10 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c cvs rdiff -u -r1.3 -r1.4 \ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c \ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c cvs rdiff -u -r1.3 -r1.4 \ src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c \ src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c:1.6 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c:1.7 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c:1.6 Sat Dec 18 23:44:58 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ctx.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_ctx.c,v 1.6 2021/12/18 23:44:58 riastradh Exp $ */ +/* $NetBSD: amdgpu_ctx.c,v 1.7 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2015 Advanced Micro Devices, Inc. @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_ctx.c,v 1.6 2021/12/18 23:44:58 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_ctx.c,v 1.7 2021/12/19 12:31:45 riastradh Exp $"); #include <drm/drm_auth.h> #include "amdgpu.h" @@ -201,6 +201,7 @@ static void amdgpu_ctx_fini(struct kref } mutex_destroy(&ctx->lock); + spin_lock_destroy(&ctx->ring_lock); kfree(ctx); } Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c:1.6 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c:1.7 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c:1.6 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ring.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_ring.c,v 1.6 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_ring.c,v 1.7 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -29,7 +29,7 @@ * Christian König */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_ring.c,v 1.6 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_ring.c,v 1.7 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/seq_file.h> #include <linux/slab.h> @@ -381,6 +381,8 @@ void amdgpu_ring_fini(struct amdgpu_ring ring->me = 0; ring->adev->rings[ring->idx] = NULL; + + mutex_destroy(&ring->priority_mutex); } /** Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c:1.10 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c:1.11 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c:1.10 Sun Dec 19 12:01:12 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_device.c,v 1.10 2021/12/19 12:01:12 riastradh Exp $ */ +/* $NetBSD: amdgpu_device.c,v 1.11 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -28,7 +28,7 @@ * Jerome Glisse */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_device.c,v 1.10 2021/12/19 12:01:12 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_device.c,v 1.11 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/power_supply.h> #include <linux/kthread.h> @@ -2972,10 +2972,6 @@ int amdgpu_device_init(struct amdgpu_dev mutex_init(&adev->psp.mutex); mutex_init(&adev->notifier_lock); - r = amdgpu_device_check_arguments(adev); - if (r) - return r; - spin_lock_init(&adev->mmio_idx_lock); spin_lock_init(&adev->smc_idx_lock); spin_lock_init(&adev->pcie_idx_lock); @@ -2999,6 +2995,10 @@ int amdgpu_device_init(struct amdgpu_dev INIT_WORK(&adev->xgmi_reset_work, amdgpu_device_xgmi_reset_func); + r = amdgpu_device_check_arguments(adev); + if (r) + return r; + adev->gfx.gfx_off_req_count = 1; adev->pm.ac_power = power_supply_is_system_supplied() > 0 ? true : false; Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c:1.5 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c:1.6 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c:1.5 Sun Dec 19 12:02:13 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gfx.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_gfx.c,v 1.5 2021/12/19 12:02:13 riastradh Exp $ */ +/* $NetBSD: amdgpu_gfx.c,v 1.6 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2014 Advanced Micro Devices, Inc. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_gfx.c,v 1.5 2021/12/19 12:02:13 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_gfx.c,v 1.6 2021/12/19 12:31:45 riastradh Exp $"); #include "amdgpu.h" #include "amdgpu_gfx.h" @@ -328,6 +328,7 @@ void amdgpu_gfx_kiq_free_ring(struct amd { amdgpu_device_wb_free(ring->adev, ring->adev->gfx.kiq.reg_val_offs); amdgpu_ring_fini(ring); + spin_lock_destroy(&ring->adev->gfx.kiq.ring_lock); } void amdgpu_gfx_kiq_fini(struct amdgpu_device *adev) Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c:1.4 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c:1.5 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c:1.4 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v10_0.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_gmc_v10_0.c,v 1.4 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_gmc_v10_0.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2019 Advanced Micro Devices, Inc. @@ -23,7 +23,7 @@ * */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_gmc_v10_0.c,v 1.4 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_gmc_v10_0.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/firmware.h> #include <linux/pci.h> @@ -884,6 +884,8 @@ static int gmc_v10_0_sw_fini(void *handl amdgpu_gem_force_release(adev); amdgpu_bo_fini(adev); + spin_lock_destroy(&adev->gmc.invalidate_lock); + return 0; } Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c:1.4 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c:1.5 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c:1.4 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gmc_v9_0.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_gmc_v9_0.c,v 1.4 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_gmc_v9_0.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2016 Advanced Micro Devices, Inc. @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_gmc_v9_0.c,v 1.4 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_gmc_v9_0.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/firmware.h> #include <linux/pci.h> @@ -1252,6 +1252,8 @@ static int gmc_v9_0_sw_fini(void *handle amdgpu_bo_fini(adev); amdgpu_gart_fini(adev); + spin_lock_destroy(&adev->gmc.invalidate_lock); + return 0; } Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c:1.4 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c:1.5 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c:1.4 Sun Dec 19 12:23:16 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_ras.c,v 1.4 2021/12/19 12:23:16 riastradh Exp $ */ +/* $NetBSD: amdgpu_ras.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2018 Advanced Micro Devices, Inc. @@ -24,7 +24,7 @@ * */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_ras.c,v 1.4 2021/12/19 12:23:16 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_ras.c,v 1.5 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/debugfs.h> #include <linux/list.h> @@ -1688,6 +1688,7 @@ free: kfree((*data)->bps_bo); kfree(*data); con->eh_data = NULL; + mutex_destroy(&con->recovery_lock); out: DRM_WARN("Failed to initialize ras recovery!\n"); @@ -1706,12 +1707,11 @@ static int amdgpu_ras_recovery_fini(stru cancel_work_sync(&con->recovery_work); amdgpu_ras_release_bad_pages(adev); - mutex_lock(&con->recovery_lock); + mutex_destroy(&con->recovery_lock); con->eh_data = NULL; kfree(data->bps); kfree(data->bps_bo); kfree(data); - mutex_unlock(&con->recovery_lock); return 0; } Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c:1.7 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c:1.8 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c:1.7 Sun Dec 19 12:23:16 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_irq.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_irq.c,v 1.7 2021/12/19 12:23:16 riastradh Exp $ */ +/* $NetBSD: amdgpu_irq.c,v 1.8 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -45,7 +45,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_irq.c,v 1.7 2021/12/19 12:23:16 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_irq.c,v 1.8 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/irq.h> #include <linux/pci.h> @@ -353,6 +353,8 @@ void amdgpu_irq_fini(struct amdgpu_devic kfree(adev->irq.client[i].sources); adev->irq.client[i].sources = NULL; } + + spin_lock_destroy(&adev->irq.lock); } /** Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c:1.3 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ras_eeprom.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_ras_eeprom.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_ras_eeprom.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2019 Advanced Micro Devices, Inc. @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_ras_eeprom.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_ras_eeprom.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #include "amdgpu_ras_eeprom.h" #include "amdgpu.h" @@ -285,6 +285,8 @@ void amdgpu_ras_eeprom_fini(struct amdgp default: return; } + + mutex_destroy(&control->tbl_mutex); } static void __encode_table_record_to_buff(struct amdgpu_ras_eeprom_control *control, Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c:1.3 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vram_mgr.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_vram_mgr.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_vram_mgr.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2016 Advanced Micro Devices, Inc. @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_vram_mgr.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_vram_mgr.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #include "amdgpu.h" #include "amdgpu_vm.h" @@ -231,6 +231,7 @@ static int amdgpu_vram_mgr_fini(struct t spin_lock(&mgr->lock); drm_mm_takedown(&mgr->mm); spin_unlock(&mgr->lock); + spin_lock_destroy(&mgr->lock); kfree(mgr); man->priv = NULL; #ifdef __NetBSD__ /* XXX amdgpu sysfs */ Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c:1.9 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c:1.10 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c:1.9 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_ttm.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_ttm.c,v 1.9 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_ttm.c,v 1.10 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2009 Jerome Glisse. @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_ttm.c,v 1.9 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_ttm.c,v 1.10 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/dma-mapping.h> #include <linux/iommu.h> @@ -2069,6 +2069,7 @@ void amdgpu_ttm_fini(struct amdgpu_devic ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_OA); ttm_bo_device_release(&adev->mman.bdev); adev->mman.initialized = false; + mutex_destroy(&adev->mman.gtt_window_lock); DRM_INFO("amdgpu: ttm finalized\n"); } Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:1.9 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:1.10 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:1.9 Sun Dec 19 12:31:04 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_vm.c,v 1.9 2021/12/19 12:31:04 riastradh Exp $ */ +/* $NetBSD: amdgpu_vm.c,v 1.10 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -28,7 +28,7 @@ * Jerome Glisse */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_vm.c,v 1.9 2021/12/19 12:31:04 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_vm.c,v 1.10 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/dma-fence-array.h> #include <linux/interval_tree_generic.h> @@ -3171,6 +3171,8 @@ void amdgpu_vm_fini(struct amdgpu_device dma_fence_put(vm->last_update); for (i = 0; i < AMDGPU_MAX_VMHUBS; i++) amdgpu_vmid_free_reserved(adev, vm, i); + + spin_lock_destroy(&vm->invalidated_lock); } /** @@ -3226,6 +3228,8 @@ void amdgpu_vm_manager_init(struct amdgp */ void amdgpu_vm_manager_fini(struct amdgpu_device *adev) { + mutex_destroy(&adev->vm_manager.lock_pstate); + spin_lock_destroy(&adev->vm_manager.pasid_lock); WARN_ON(!idr_is_empty(&adev->vm_manager.pasid_idr)); idr_destroy(&adev->vm_manager.pasid_idr); Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1.3 Sun Dec 19 12:01:30 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_dm.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $ */ +/* $NetBSD: amdgpu_dm.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2015 Advanced Micro Devices, Inc. @@ -27,7 +27,7 @@ /* The caprices of the preprocessor require that this be declared right here */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #define CREATE_TRACE_POINTS @@ -4455,6 +4455,7 @@ static void amdgpu_dm_connector_destroy( i2c_del_adapter(&aconnector->i2c->base); kfree(aconnector->i2c); } + mutex_destroy(&aconnector->hpd_lock); kfree(connector); } Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c:1.3 Sun Dec 19 12:01:30 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_dm_hdcp.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $ */ +/* $NetBSD: amdgpu_dm_hdcp.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2019 Advanced Micro Devices, Inc. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_hdcp.c,v 1.3 2021/12/19 12:01:30 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_hdcp.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #include "amdgpu_dm_hdcp.h" #include "amdgpu.h" @@ -306,6 +306,7 @@ void hdcp_destroy(struct hdcp_workqueue for (i = 0; i < hdcp_work->max_link; i++) { cancel_delayed_work_sync(&hdcp_work[i].callback_dwork); cancel_delayed_work_sync(&hdcp_work[i].watchdog_timer_dwork); + mutex_destroy(&hdcp_work[i].mutex); } kfree(hdcp_work); Index: src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c:1.2 src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c:1.3 --- src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c:1.2 Sat Dec 18 23:45:00 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_dm_irq.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $ */ +/* $NetBSD: amdgpu_dm_irq.c,v 1.3 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2015 Advanced Micro Devices, Inc. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_irq.c,v 1.2 2021/12/18 23:45:00 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_dm_irq.c,v 1.3 2021/12/19 12:31:45 riastradh Exp $"); #include "dm_services_types.h" #include "dc.h" @@ -414,6 +414,8 @@ void amdgpu_dm_irq_fini(struct amdgpu_de DM_IRQ_TABLE_UNLOCK(adev, irq_table_flags); flush_work(&lh->work); } + + spin_lock_destroy(&adev->dm.irq_handler_list_table_lock); } int amdgpu_dm_irq_suspend(struct amdgpu_device *adev) Index: src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c:1.3 Sun Dec 19 10:59:02 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_amd_powerplay.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_amd_powerplay.c,v 1.3 2021/12/19 10:59:02 riastradh Exp $ */ +/* $NetBSD: amdgpu_amd_powerplay.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2015 Advanced Micro Devices, Inc. @@ -23,7 +23,7 @@ * */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_amd_powerplay.c,v 1.3 2021/12/19 10:59:02 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_amd_powerplay.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #include "pp_debug.h" #include <linux/types.h> @@ -73,6 +73,7 @@ static void amd_powerplay_destroy(struct kfree(hwmgr->hardcode_pp_table); hwmgr->hardcode_pp_table = NULL; + mutex_destroy(&hwmgr->smu_lock); kfree(hwmgr); hwmgr = NULL; } Index: src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c:1.3 src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c:1.4 --- src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c:1.3 Sun Dec 19 12:21:29 2021 +++ src/sys/external/bsd/drm2/dist/drm/amd/powerplay/amdgpu_smu.c Sun Dec 19 12:31:45 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_smu.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $ */ +/* $NetBSD: amdgpu_smu.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $ */ /* * Copyright 2019 Advanced Micro Devices, Inc. @@ -23,7 +23,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_smu.c,v 1.3 2021/12/19 12:21:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_smu.c,v 1.4 2021/12/19 12:31:45 riastradh Exp $"); #include <linux/firmware.h> #include <linux/pci.h> @@ -974,6 +974,12 @@ static int smu_sw_fini(void *handle) return ret; } + mutex_destroy(&smu->metrics_lock); + mutex_destroy(&smu->sensor_lock); + mutex_destroy(&smu->smu_baco.mutex); + mutex_destroy(&smu->smu_feature.mutex); + mutex_destroy(&smu->mutex); + return 0; }