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;
 }
 

Reply via email to