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