Module Name: src
Committed By: riastradh
Date: Sun Dec 19 12:32:15 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: i915_drv.c i915_gem.c
i915_perf.c i915_pmu.c intel_runtime_pm.c intel_uncore.c
intel_uncore.h intel_wakeref.c
src/sys/external/bsd/drm2/dist/drm/i915/display: intel_display.c
intel_display_power.c intel_dpll_mgr.c intel_dpll_mgr.h intel_fbc.c
intel_fbc.h intel_fbdev.c intel_hdcp.c intel_pipe_crc.c
intel_pipe_crc.h
src/sys/external/bsd/drm2/dist/drm/i915/gem: i915_gem_context.c
i915_gem_userptr.c
src/sys/external/bsd/drm2/dist/drm/i915/gt: intel_breadcrumbs.c
intel_engine_cs.c intel_gt_pm.c intel_lrc.c intel_reset.c
intel_rps.c intel_rps.h intel_timeline.c
src/sys/external/bsd/drm2/dist/drm/i915/gt/uc: intel_guc.c
intel_guc_ct.c intel_guc_log.c intel_guc_submission.c
Log Message:
i915: mutex_init/destroy and spin_lock_init/destroy audit
To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c
cvs rdiff -u -r1.74 -r1.75 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c
cvs rdiff -u -r1.11 -r1.12 \
src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c
cvs rdiff -u -r1.19 -r1.20 \
src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c
cvs rdiff -u -r1.8 -r1.9 \
src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c
cvs rdiff -u -r1.10 -r1.11 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h
cvs rdiff -u -r1.8 -r1.9 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c
cvs rdiff -u -r1.5 -r1.6 \
src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c \
src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c
cvs rdiff -u -r1.5 -r1.6 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c \
src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c \
src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c
cvs rdiff -u -r1.2 -r1.3 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.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/i915/i915_drv.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c:1.44 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c:1.45
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c:1.44 Sun Dec 19 12:03:05 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_drv.c,v 1.44 2021/12/19 12:03:05 riastradh Exp $ */
+/* $NetBSD: i915_drv.c,v 1.45 2021/12/19 12:32:15 riastradh Exp $ */
/* i915_drv.c -- i830,i845,i855,i865,i915 driver -*- linux-c -*-
*/
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_drv.c,v 1.44 2021/12/19 12:03:05 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_drv.c,v 1.45 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/acpi.h>
#include <linux/device.h>
@@ -584,6 +584,8 @@ err_workqueues:
mutex_destroy(&dev_priv->backlight_lock);
spin_lock_destroy(&dev_priv->gpu_error.lock);
spin_lock_destroy(&dev_priv->irq_lock);
+ intel_uncore_fini_early(&dev_priv->uncore, dev_priv);
+ intel_uncore_mmio_debug_fini_early(&dev_priv->mmio_debug);
return ret;
}
@@ -594,6 +596,7 @@ err_workqueues:
*/
static void i915_driver_late_release(struct drm_i915_private *dev_priv)
{
+ intel_display_crc_fini(dev_priv);
intel_irq_fini(dev_priv);
intel_power_domains_cleanup(dev_priv);
i915_gem_cleanup_early(dev_priv);
@@ -607,10 +610,11 @@ static void i915_driver_late_release(str
mutex_destroy(&dev_priv->wm.wm_mutex);
mutex_destroy(&dev_priv->av_mutex);
mutex_destroy(&dev_priv->sb_lock);
- mutex_destroy(&dev_priv->sb_lock);
mutex_destroy(&dev_priv->backlight_lock);
spin_lock_destroy(&dev_priv->gpu_error.lock);
spin_lock_destroy(&dev_priv->irq_lock);
+ intel_uncore_fini_early(&dev_priv->uncore, dev_priv);
+ intel_uncore_mmio_debug_fini_early(&dev_priv->mmio_debug);
}
/**
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.74 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.75
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.74 Sun Dec 19 12:27:49 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_gem.c,v 1.74 2021/12/19 12:27:49 riastradh Exp $ */
+/* $NetBSD: i915_gem.c,v 1.75 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2008-2015 Intel Corporation
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem.c,v 1.74 2021/12/19 12:27:49 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem.c,v 1.75 2021/12/19 12:32:15 riastradh Exp $");
#ifdef __NetBSD__
#include <drm/bus_dma_hacks.h>
@@ -1272,6 +1272,7 @@ void i915_gem_cleanup_early(struct drm_i
GEM_BUG_ON(atomic_read(&dev_priv->mm.free_count));
WARN_ON(dev_priv->mm.shrink_count);
spin_lock_destroy(&dev_priv->fb_tracking.lock);
+ spin_lock_destroy(&dev_priv->mm.obj_lock);
}
int i915_gem_freeze(struct drm_i915_private *dev_priv)
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c:1.6 src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c:1.6 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_perf.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_perf.c,v 1.6 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: i915_perf.c,v 1.7 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2015-2016 Intel Corporation
@@ -194,7 +194,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_perf.c,v 1.6 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_perf.c,v 1.7 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/anon_inodes.h>
#include <linux/sizes.h>
@@ -4675,6 +4675,11 @@ void i915_perf_fini(struct drm_i915_priv
if (!perf->i915)
return;
+ if (perf->ops.enable_metric_set) {
+ mutex_destroy(&perf->metrics_lock);
+ mutex_destroy(&perf->lock);
+ }
+
idr_for_each(&perf->metrics_idr, destroy_config, perf);
idr_destroy(&perf->metrics_idr);
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c:1.2 Sat Dec 18 23:45:28 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_pmu.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_pmu.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $ */
+/* $NetBSD: i915_pmu.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_pmu.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_pmu.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/irq.h>
#include <linux/pm_runtime.h>
@@ -1202,4 +1202,5 @@ void i915_pmu_unregister(struct drm_i915
if (!is_igp(i915))
kfree(pmu->name);
free_event_attributes(pmu);
+ spin_lock_destroy(&pmu->lock);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c:1.11 src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c:1.12
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c:1.11 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_runtime_pm.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_runtime_pm.c,v 1.11 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_runtime_pm.c,v 1.12 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2012-2014 Intel Corporation
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_runtime_pm.c,v 1.11 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_runtime_pm.c,v 1.12 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/pm_runtime.h>
@@ -87,6 +87,11 @@ static void init_intel_runtime_pm_wakere
spin_lock_init(&rpm->debug.lock);
}
+static void fini_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
+{
+ spin_lock_fini(&rpm->debug.lock);
+}
+
static noinline depot_stack_handle_t
track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
{
@@ -310,6 +315,10 @@ static void init_intel_runtime_pm_wakere
{
}
+static void fini_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
+{
+}
+
static depot_stack_handle_t
track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
{
@@ -609,6 +618,7 @@ void intel_runtime_pm_driver_release(str
intel_rpm_wakelock_count(count));
untrack_all_intel_runtime_pm_wakerefs(rpm);
+ fini_intel_runtime_pm_wakeref(rpm);
}
void intel_runtime_pm_init_early(struct intel_runtime_pm *rpm)
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.19 src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.20
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.19 Sun Dec 19 11:55:47 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_uncore.c,v 1.19 2021/12/19 11:55:47 riastradh Exp $ */
+/* $NetBSD: intel_uncore.c,v 1.20 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2013 Intel Corporation
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_uncore.c,v 1.19 2021/12/19 11:55:47 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_uncore.c,v 1.20 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/pm_runtime.h>
#include <asm/iosf_mbi.h>
@@ -50,6 +50,12 @@ intel_uncore_mmio_debug_init_early(struc
mmio_debug->unclaimed_mmio_check = 1;
}
+void
+intel_uncore_mmio_debug_fini_early(struct intel_uncore_mmio_debug *mmio_debug)
+{
+ spin_lock_destroy(&mmio_debug->lock);
+}
+
static void mmio_debug_suspend(struct intel_uncore_mmio_debug *mmio_debug)
{
lockdep_assert_held(&mmio_debug->lock);
@@ -1755,6 +1761,12 @@ void intel_uncore_init_early(struct inte
uncore->debug = &i915->mmio_debug;
}
+void intel_uncore_fini_early(struct intel_uncore *uncore,
+ struct drm_i915_private *i915)
+{
+ spin_lock_init(&uncore->lock);
+}
+
static void uncore_raw_init(struct intel_uncore *uncore)
{
GEM_BUG_ON(intel_uncore_has_forcewake(uncore));
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h:1.8 src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h:1.9
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h:1.8 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.h Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_uncore.h,v 1.8 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_uncore.h,v 1.9 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2017 Intel Corporation
@@ -202,8 +202,12 @@ intel_uncore_has_fifo(const struct intel
void
intel_uncore_mmio_debug_init_early(struct intel_uncore_mmio_debug *mmio_debug);
+void
+intel_uncore_mmio_debug_fini_early(struct intel_uncore_mmio_debug *mmio_debug);
void intel_uncore_init_early(struct intel_uncore *uncore,
struct drm_i915_private *i915);
+void intel_uncore_fini_early(struct intel_uncore *uncore,
+ struct drm_i915_private *i915);
int intel_uncore_init_mmio(struct intel_uncore *uncore);
void intel_uncore_prune_mmio_domains(struct intel_uncore *uncore);
bool intel_uncore_unclaimed_mmio(struct intel_uncore *uncore);
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c:1.3 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_wakeref.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_wakeref.c,v 1.3 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_wakeref.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,13 +7,15 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_wakeref.c,v 1.3 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_wakeref.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/wait_bit.h>
#include "intel_runtime_pm.h"
#include "intel_wakeref.h"
+#include <linux/nbsd-namespace.h>
+
static void rpm_get(struct intel_wakeref *wf)
{
wf->wakeref = intel_runtime_pm_get(wf->rpm);
@@ -62,16 +64,19 @@ int __intel_wakeref_get_first(struct int
static void ____intel_wakeref_put_last(struct intel_wakeref *wf)
{
INTEL_WAKEREF_BUG_ON(atomic_read(&wf->count) <= 0);
- if (unlikely(!atomic_dec_and_test(&wf->count)))
- goto unlock;
+ if (unlikely(!atomic_dec_and_test(&wf->count))) {
+ mutex_unlock(&wf->mutex);
+ return;
+ }
/* ops->put() must reschedule its own release on error/deferral */
if (likely(!wf->ops->put(wf))) {
rpm_put(wf);
}
-unlock:
mutex_unlock(&wf->mutex);
+ DRM_DESTROY_WAITQUEUE(&wf->wq);
+ mutex_destroy(&wf->mutex);
}
void __intel_wakeref_put_last(struct intel_wakeref *wf, unsigned long flags)
@@ -192,4 +197,5 @@ void intel_wakeref_auto_fini(struct inte
{
intel_wakeref_auto(wf, 0);
INTEL_WAKEREF_BUG_ON(wf->wakeref);
+ spin_lock_destroy(&wf->lock);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c:1.10 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c:1.10 Sun Dec 19 12:28:55 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_display.c,v 1.10 2021/12/19 12:28:55 riastradh Exp $ */
+/* $NetBSD: intel_display.c,v 1.11 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2006-2007 Intel Corporation
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_display.c,v 1.10 2021/12/19 12:28:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_display.c,v 1.11 2021/12/19 12:32:15 riastradh Exp $");
#include "intel_display.h" /* for pipe_drmhack */
@@ -18576,8 +18576,12 @@ void intel_modeset_driver_remove(struct
intel_overlay_cleanup(i915);
+ intel_shared_dpll_cleanup(&i915->drm);
+
intel_gmbus_teardown(i915);
+ intel_fbc_cleanup(i915);
+
intel_bw_cleanup(i915);
DRM_DESTROY_WAITQUEUE(&i915->atomic_commit_wq);
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c:1.4 Sun Dec 19 11:54:48 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_display_power.c,v 1.4 2021/12/19 11:54:48 riastradh Exp $ */
+/* $NetBSD: intel_display_power.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/* SPDX-License-Identifier: MIT */
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_display_power.c,v 1.4 2021/12/19 11:54:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_display_power.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include "display/intel_crt.h"
#include "display/intel_dp.h"
@@ -4362,6 +4362,7 @@ int intel_power_domains_init(struct drm_
void intel_power_domains_cleanup(struct drm_i915_private *dev_priv)
{
kfree(dev_priv->power_domains.power_wells);
+ mutex_destroy(&dev_priv->power_domains.lock);
}
static void intel_power_domains_sync_hw(struct drm_i915_private *dev_priv)
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c:1.3 Sun Dec 19 11:38:26 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_dpll_mgr.c,v 1.3 2021/12/19 11:38:26 riastradh Exp $ */
+/* $NetBSD: intel_dpll_mgr.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2006-2016 Intel Corporation
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_dpll_mgr.c,v 1.3 2021/12/19 11:38:26 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_dpll_mgr.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include "intel_display_types.h"
#include "intel_dpio_phy.h"
@@ -3795,6 +3795,14 @@ void intel_shared_dpll_init(struct drm_d
BUG_ON(dev_priv->num_shared_dpll > I915_NUM_PLLS);
}
+void
+intel_shared_dpll_cleanup(struct drm_device *dev)
+{
+ struct drm_i915_private *dev_priv = to_i915(dev);
+
+ mutex_destroy(&dev_priv->dpll_lock);
+}
+
/**
* intel_reserve_shared_dplls - reserve DPLLs for CRTC and encoder combination
* @state: atomic state
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h:1.2 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h:1.2 Sat Dec 18 23:45:30 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_dpll_mgr.h Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_dpll_mgr.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */
+/* $NetBSD: intel_dpll_mgr.h,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2012-2016 Intel Corporation
@@ -379,6 +379,7 @@ void intel_enable_shared_dpll(const stru
void intel_disable_shared_dpll(const struct intel_crtc_state *crtc_state);
void intel_shared_dpll_swap_state(struct intel_atomic_state *state);
void intel_shared_dpll_init(struct drm_device *dev);
+void intel_shared_dpll_cleanup(struct drm_device *dev);
void intel_dpll_dump_hw_state(struct drm_i915_private *dev_priv,
const struct intel_dpll_hw_state *hw_state);
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c:1.2 Sat Dec 18 23:45:30 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_fbc.c,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */
+/* $NetBSD: intel_fbc.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2014 Intel Corporation
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_fbc.c,v 1.2 2021/12/18 23:45:30 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_fbc.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $");
#include <drm/drm_fourcc.h>
@@ -1363,3 +1363,11 @@ void intel_fbc_init(struct drm_i915_priv
if (intel_fbc_hw_is_active(dev_priv))
intel_fbc_hw_deactivate(dev_priv);
}
+
+void
+intel_fbc_cleanup(struct drm_i915_private *dev_priv)
+{
+ struct intel_fbc *fbc = &dev_priv->fbc;
+
+ mutex_destroy(&fbc->lock);
+}
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h:1.2 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h:1.2 Sat Dec 18 23:45:30 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.h Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_fbc.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */
+/* $NetBSD: intel_fbc.h,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/* SPDX-License-Identifier: MIT */
/*
@@ -26,6 +26,7 @@ bool intel_fbc_pre_update(struct intel_c
const struct intel_plane_state *plane_state);
void intel_fbc_post_update(struct intel_crtc *crtc);
void intel_fbc_init(struct drm_i915_private *dev_priv);
+void intel_fbc_cleanup(struct drm_i915_private *dev_priv);
void intel_fbc_enable(struct intel_crtc *crtc,
const struct intel_crtc_state *crtc_state,
const struct intel_plane_state *plane_state);
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c:1.2 Sat Dec 18 23:45:30 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_pipe_crc.c,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */
+/* $NetBSD: intel_pipe_crc.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2013 Intel Corporation
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_pipe_crc.c,v 1.2 2021/12/18 23:45:30 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_pipe_crc.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/circ_buf.h>
#include <linux/ctype.h>
@@ -456,6 +456,17 @@ void intel_display_crc_init(struct drm_i
}
}
+void intel_display_crc_init(struct drm_i915_private *dev_priv)
+{
+ enum pipe pipe;
+
+ for_each_pipe(dev_priv, pipe) {
+ struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
+
+ spin_lock_destroy(&pipe_crc->lock);
+ }
+}
+
static int i8xx_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h:1.2 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h:1.2 Sat Dec 18 23:45:30 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_pipe_crc.h Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_pipe_crc.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */
+/* $NetBSD: intel_pipe_crc.h,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
/* SPDX-License-Identifier: MIT */
/*
@@ -16,6 +16,7 @@ struct intel_crtc;
#ifdef CONFIG_DEBUG_FS
void intel_display_crc_init(struct drm_i915_private *dev_priv);
+void intel_display_crc_fini(struct drm_i915_private *dev_priv);
int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
const char *source_name, size_t *values_cnt);
@@ -25,6 +26,7 @@ void intel_crtc_disable_pipe_crc(struct
void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
#else
static inline void intel_display_crc_init(struct drm_i915_private *dev_priv) {}
+static inline void intel_display_crc_fini(struct drm_i915_private *dev_priv) {}
#define intel_crtc_set_crc_source NULL
#define intel_crtc_verify_crc_source NULL
#define intel_crtc_get_crc_sources NULL
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c:1.8 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c:1.9
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c:1.8 Sun Dec 19 11:45:01 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_fbdev.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_fbdev.c,v 1.8 2021/12/19 11:45:01 riastradh Exp $ */
+/* $NetBSD: intel_fbdev.c,v 1.9 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2007 David Airlie
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_fbdev.c,v 1.8 2021/12/19 11:45:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_fbdev.c,v 1.9 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/async.h>
#include <linux/console.h>
@@ -357,6 +357,8 @@ static void intel_fbdev_destroy(struct i
if (ifbdev->fb)
drm_framebuffer_remove(&ifbdev->fb->base);
+ mutex_destroy(&ifbdev->hpd_lock);
+
kfree(ifbdev);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c:1.5 src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c:1.5 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/display/intel_hdcp.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_hdcp.c,v 1.5 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_hdcp.c,v 1.6 2021/12/19 12:32:15 riastradh Exp $ */
/* SPDX-License-Identifier: MIT */
/*
@@ -11,7 +11,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_hdcp.c,v 1.5 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_hdcp.c,v 1.6 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/component.h>
#include <linux/i2c.h>
@@ -1949,7 +1949,6 @@ int intel_hdcp_init(struct intel_connect
}
hdcp->shim = shim;
- /* XXX destroy */
mutex_init(&hdcp->mutex);
INIT_DELAYED_WORK(&hdcp->check_work, intel_hdcp_check_work);
INIT_WORK(&hdcp->prop_work, intel_hdcp_prop_work);
@@ -2054,6 +2053,8 @@ void intel_hdcp_cleanup(struct intel_con
mutex_lock(&connector->hdcp.mutex);
kfree(connector->hdcp.port_data.streams);
mutex_unlock(&connector->hdcp.mutex);
+
+ mutex_destroy(&connector->hdcp.mutex);
}
void intel_hdcp_atomic_check(struct drm_connector *connector,
Index: src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c:1.4 Sun Dec 19 11:27:20 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_context.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_gem_context.c,v 1.4 2021/12/19 11:27:20 riastradh Exp $ */
+/* $NetBSD: i915_gem_context.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem_context.c,v 1.4 2021/12/19 11:27:20 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_context.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/log2.h>
#include <linux/nospec.h>
@@ -786,6 +786,7 @@ void i915_gem_init__contexts(struct drm_
void i915_gem_driver_release__contexts(struct drm_i915_private *i915)
{
flush_work(&i915->gem.contexts.free_work);
+ spin_lock_destroy(&i915->gem.contexts.lock);
}
static int vm_idr_cleanup(int id, void *p, void *data)
Index: src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c:1.4 Sun Dec 19 11:33:49 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_userptr.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_gem_userptr.c,v 1.4 2021/12/19 11:33:49 riastradh Exp $ */
+/* $NetBSD: i915_gem_userptr.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem_userptr.c,v 1.4 2021/12/19 11:33:49 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_userptr.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/mmu_context.h>
#include <linux/mmu_notifier.h>
@@ -232,8 +232,10 @@ i915_mmu_notifier_find(struct i915_mm_st
mutex_unlock(&mm->i915->mm_lock);
up_write(&mm->mm->mmap_sem);
- if (mn && !IS_ERR(mn))
+ if (mn && !IS_ERR(mn)) {
+ spin_lock_destroy(&mn->lock);
kfree(mn);
+ }
return err ? ERR_PTR(err) : mm->mn;
}
@@ -282,6 +284,7 @@ i915_mmu_notifier_free(struct i915_mmu_n
return;
mmu_notifier_unregister(&mn->mn, mm);
+ spin_lock_destroy(&mn->lock);
kfree(mn);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c:1.4 Sun Dec 19 11:38:04 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_breadcrumbs.c,v 1.4 2021/12/19 11:38:04 riastradh Exp $ */
+/* $NetBSD: intel_breadcrumbs.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2015 Intel Corporation
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_breadcrumbs.c,v 1.4 2021/12/19 11:38:04 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_breadcrumbs.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/kthread.h>
#include <trace/events/dma_fence.h>
@@ -291,6 +291,9 @@ void intel_engine_reset_breadcrumbs(stru
void intel_engine_fini_breadcrumbs(struct intel_engine_cs *engine)
{
+ struct intel_breadcrumbs *b = &engine->breadcrumbs;
+
+ spin_lock_destroy(&b->irq_lock);
}
bool i915_request_enable_breadcrumb(struct i915_request *rq)
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c:1.4 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_rps.c,v 1.4 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_rps.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_rps.c,v 1.4 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_rps.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include "i915_drv.h"
#include "intel_gt.h"
@@ -1677,6 +1677,13 @@ void intel_rps_init(struct intel_rps *rp
rps->pm_intrmsk_mbz |= GEN8_PMINTR_DISABLE_REDIRECT_TO_GUC;
}
+void intel_rps_fini(struct intel_rps *rps)
+{
+
+ mutex_destroy(&rps->power.mutex);
+ mutex_destroy(&rps->lock);
+}
+
u32 intel_rps_get_cagf(struct intel_rps *rps, u32 rpstat)
{
struct drm_i915_private *i915 = rps_to_i915(rps);
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c:1.4 Sun Dec 19 11:57:19 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_timeline.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_timeline.c,v 1.4 2021/12/19 11:57:19 riastradh Exp $ */
+/* $NetBSD: intel_timeline.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_timeline.c,v 1.4 2021/12/19 11:57:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_timeline.c,v 1.5 2021/12/19 12:32:15 riastradh Exp $");
#include "i915_drv.h"
@@ -574,6 +574,9 @@ void intel_gt_fini_timelines(struct inte
GEM_BUG_ON(!list_empty(&timelines->active_list));
GEM_BUG_ON(!list_empty(&timelines->hwsp_free_list));
+
+ spin_lock_destroy(&timelines->hwsp_lock);
+ spin_lock_destroy(&timelines->lock);
}
#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c:1.6 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c:1.7
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c:1.6 Sun Dec 19 11:39:24 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_engine_cs.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_engine_cs.c,v 1.6 2021/12/19 11:39:24 riastradh Exp $ */
+/* $NetBSD: intel_engine_cs.c,v 1.7 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2016 Intel Corporation
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_engine_cs.c,v 1.6 2021/12/19 11:39:24 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_engine_cs.c,v 1.7 2021/12/19 12:32:15 riastradh Exp $");
#include <drm/drm_print.h>
@@ -828,6 +828,8 @@ void intel_engine_cleanup_common(struct
intel_wa_list_free(&engine->ctx_wa_list);
intel_wa_list_free(&engine->wa_list);
intel_wa_list_free(&engine->whitelist);
+
+ spin_lock_destroy(&engine->active.lock);
}
u64 intel_engine_get_active_head(const struct intel_engine_cs *engine)
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c:1.3 Sun Dec 19 11:45:01 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gt_pm.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_gt_pm.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $ */
+/* $NetBSD: intel_gt_pm.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_gt_pm.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_gt_pm.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/suspend.h>
@@ -175,6 +175,7 @@ static void gt_sanitize(struct intel_gt
void intel_gt_pm_fini(struct intel_gt *gt)
{
+ intel_rps_fini(>->rps);
intel_rc6_fini(>->rc6);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h:1.3 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h:1.3 Sun Dec 19 11:33:49 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_rps.h Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_rps.h,v 1.3 2021/12/19 11:33:49 riastradh Exp $ */
+/* $NetBSD: intel_rps.h,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -15,6 +15,7 @@ struct i915_request;
void intel_rps_init_early(struct intel_rps *rps);
void intel_rps_init(struct intel_rps *rps);
+void intel_rps_fini(struct intel_rps *rps);
void intel_rps_driver_register(struct intel_rps *rps);
void intel_rps_driver_unregister(struct intel_rps *rps);
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c:1.7 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c:1.8
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c:1.7 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_lrc.c,v 1.7 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_lrc.c,v 1.8 2021/12/19 12:32:15 riastradh Exp $ */
/*
* Copyright © 2014 Intel Corporation
@@ -134,7 +134,7 @@
*
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_lrc.c,v 1.7 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_lrc.c,v 1.8 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/interrupt.h>
@@ -4733,6 +4733,9 @@ static void virtual_context_destroy(stru
__execlists_context_fini(&ve->context);
intel_context_fini(&ve->context);
+ intel_engine_fini_breadcrumbs(&ve->base);
+ spin_lock_destroy(&ve->base.active.lock);
+
kfree(ve->bonds);
kfree(ve);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.5 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.5 Sun Dec 19 12:27:17 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_reset.c,v 1.5 2021/12/19 12:27:17 riastradh Exp $ */
+/* $NetBSD: intel_reset.c,v 1.6 2021/12/19 12:32:15 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_reset.c,v 1.5 2021/12/19 12:27:17 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_reset.c,v 1.6 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/sched/mm.h>
#include <linux/stop_machine.h>
@@ -1396,6 +1396,7 @@ void intel_gt_fini_reset(struct intel_gt
{
cleanup_srcu_struct(>->reset.backoff_srcu);
DRM_DESTROY_WAITQUEUE(>->reset.queue);
+ mutex_destroy(>->reset.mutex);
spin_lock_destroy(>->reset.lock);
}
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c:1.3 Sun Dec 19 11:45:01 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_guc.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $ */
+/* $NetBSD: intel_guc.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
// SPDX-License-Identifier: MIT
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_guc.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_guc.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include "gt/intel_gt.h"
#include "gt/intel_gt_irq.h"
@@ -407,6 +407,9 @@ void intel_guc_fini(struct intel_guc *gu
intel_uc_fw_cleanup_fetch(&guc->fw);
intel_uc_fw_change_status(&guc->fw, INTEL_UC_FIRMWARE_DISABLED);
+
+ spin_lock_destroy(&guc->irq_lock);
+ mutex_destroy(&guc->send_mutex);
}
/*
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c:1.3 Sun Dec 19 11:45:01 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_ct.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_guc_ct.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $ */
+/* $NetBSD: intel_guc_ct.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
// SPDX-License-Identifier: MIT
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_guc_ct.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_guc_ct.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include "i915_drv.h"
#include "intel_guc_ct.h"
@@ -191,6 +191,7 @@ void intel_guc_ct_fini(struct intel_guc_
GEM_BUG_ON(ct->enabled);
i915_vma_unpin_and_release(&ct->vma, I915_VMA_RELEASE_MAP);
+ spin_lock_destroy(&ct->requests.lock);
}
/**
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c:1.3 src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c:1.3 Sun Dec 19 11:45:01 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_submission.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_guc_submission.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $ */
+/* $NetBSD: intel_guc_submission.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $ */
// SPDX-License-Identifier: MIT
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_guc_submission.c,v 1.3 2021/12/19 11:45:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_guc_submission.c,v 1.4 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/circ_buf.h>
@@ -550,6 +550,7 @@ err_pool:
void intel_guc_submission_fini(struct intel_guc *guc)
{
+ spin_lock_destroy(&guc->wq_lock);
if (guc->stage_desc_pool) {
guc_proc_desc_destroy(guc);
guc_workqueue_destroy(guc);
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.c:1.2 Sat Dec 18 23:45:31 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/intel_guc_log.c Sun Dec 19 12:32:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_guc_log.c,v 1.2 2021/12/18 23:45:31 riastradh Exp $ */
+/* $NetBSD: intel_guc_log.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $ */
// SPDX-License-Identifier: MIT
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_guc_log.c,v 1.2 2021/12/18 23:45:31 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_guc_log.c,v 1.3 2021/12/19 12:32:15 riastradh Exp $");
#include <linux/debugfs.h>
@@ -510,6 +510,7 @@ err:
void intel_guc_log_destroy(struct intel_guc_log *log)
{
i915_vma_unpin_and_release(&log->vma, 0);
+ mutex_destroy(&log->relay.lock);
}
int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)