[mythtv-status/f38] Patch to expect GB in status reports, matching a patch in the base mythtv package
by Göran Uddeborg
commit e1e1cc3f8447827d6cded4715fb71fe81ab8443d
Author: Göran Uddeborg <goeran(a)uddeborg.se>
Date: Sat Dec 30 23:02:25 2023 +0100
Patch to expect GB in status reports, matching a patch in the base mythtv package
mythtv-space_in_GB.patch | 90 ++++++++++++++++++++++++++++++++++++++++++++++++
mythtv-status.spec | 10 +++++-
2 files changed, 99 insertions(+), 1 deletion(-)
---
diff --git a/mythtv-space_in_GB.patch b/mythtv-space_in_GB.patch
new file mode 100644
index 0000000..222c091
--- /dev/null
+++ b/mythtv-space_in_GB.patch
@@ -0,0 +1,90 @@
+--- mythtv-status-1.1.0/bin/mythtv-status.orig 2023-07-22 14:17:03.000000000 +0200
++++ mythtv-status-1.1.0/bin/mythtv-status 2023-12-30 22:36:43.000000000 +0100
+@@ -90,20 +90,13 @@
+ my @size_thresholds = (
+ {
+ 'unit' => 'TB',
+- 'threshold' => 1024 * 1024,
+- 'conversion' => 1024 * 1024,
+- 'make_integer' => 1,
+- 'make_integer_threshold' => 500,
+- },
+- {
+- 'unit' => 'GB',
+- 'threshold' => 50 * 1024, # 50GB seems like a good threshold.
++ 'threshold' => 50 * 1024,
+ 'conversion' => 1024,
+ 'make_integer' => 1,
+ 'make_integer_threshold' => 500,
+ },
+ {
+- 'unit' => 'MB',
++ 'unit' => 'GB',
+ },
+ );
+
+--- mythtv-status-1.1.0/t/05-v0.20-clean.t.orig 2023-07-22 14:17:03.000000000 +0200
++++ mythtv-status-1.1.0/t/05-v0.20-clean.t 2023-12-30 22:58:41.000000000 +0100
+@@ -13,7 +13,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -24,7 +24,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ unlike($out, qr/^Status as of\.*:/m, 'Status line is not present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -35,7 +35,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-unlike($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is not present');
++unlike($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is not present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -46,7 +46,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ unlike($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is not present');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -57,7 +57,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ unlike($out, qr/^Recording Now:\s+3 News \(TV3\) Ends: 19:00:00$/m, 'Recording now is not present');
+@@ -70,7 +70,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Enc: 9, Chan: 3, Ends: 19:00:00$/m, 'Recording now is present (the news) with encoder details');
+@@ -83,7 +83,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^\* Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present (with bullet)');
+-like($out, qr/^\* Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present (with bullet)');
++like($out, qr/^\* Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present (with bullet)');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
diff --git a/mythtv-status.spec b/mythtv-status.spec
index acaf1f5..81d6ff0 100644
--- a/mythtv-status.spec
+++ b/mythtv-status.spec
@@ -1,6 +1,6 @@
Name: mythtv-status
Version: 1.0.1
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Get the current status of your MythTV system at the command line
Summary(sv): Hämta ett MythTV-systems status på kommandoraden
License: GPLv3
@@ -9,6 +9,9 @@ Source0: http://www.etc.gen.nz/projects/mythtv/tarballs/mythtv-status-%{version}
Source1: sysconfig
# Patch for Fedora specifics
Patch0: mythtv-status-fedora.patch
+# To match a corresponding patch in the base mythtv package; it reports in GB
+# rather than MB as upstreams.
+Patch3: mythtv-space_in_GB.patch
BuildArch: noarch
# For perl dependency auto-detection
BuildRequires: perl-generators
@@ -44,6 +47,7 @@ Uppdateringen körs en gång i timmen. Den resulterande motd:n baseras på
%prep
%setup -q
%patch0 -p1 -b .orig
+%patch3 -p1 -b .orig
%build
pod2man bin/mythtv-status man/mythtv-status.1
@@ -77,6 +81,10 @@ chmod 755 %{buildroot}%{_sysconfdir}/cron.hourly/mythtv-update-motd.cron
%config %{_sysconfdir}/sysconfig/%{name}
%changelog
+* Sat Dec 30 2023 Göran Uddeborg <goeran(a)uddeborg.se> - 1.0.1-10
+- Patch to expect GB in status reports, matching a patch in the base mythtv
+ package
+
* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.0.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
11 months, 2 weeks
[mythtv-status] Patch to expect GB in status reports, matching a patch in the base mythtv package
by Göran Uddeborg
commit 20d31463d871aca493ee3fe591963300676245a2
Author: Göran Uddeborg <goeran(a)uddeborg.se>
Date: Sat Dec 30 23:02:25 2023 +0100
Patch to expect GB in status reports, matching a patch in the base mythtv package
mythtv-space_in_GB.patch | 90 ++++++++++++++++++++++++++++++++++++++++++++++++
mythtv-status.spec | 9 ++++-
2 files changed, 98 insertions(+), 1 deletion(-)
---
diff --git a/mythtv-space_in_GB.patch b/mythtv-space_in_GB.patch
new file mode 100644
index 0000000..222c091
--- /dev/null
+++ b/mythtv-space_in_GB.patch
@@ -0,0 +1,90 @@
+--- mythtv-status-1.1.0/bin/mythtv-status.orig 2023-07-22 14:17:03.000000000 +0200
++++ mythtv-status-1.1.0/bin/mythtv-status 2023-12-30 22:36:43.000000000 +0100
+@@ -90,20 +90,13 @@
+ my @size_thresholds = (
+ {
+ 'unit' => 'TB',
+- 'threshold' => 1024 * 1024,
+- 'conversion' => 1024 * 1024,
+- 'make_integer' => 1,
+- 'make_integer_threshold' => 500,
+- },
+- {
+- 'unit' => 'GB',
+- 'threshold' => 50 * 1024, # 50GB seems like a good threshold.
++ 'threshold' => 50 * 1024,
+ 'conversion' => 1024,
+ 'make_integer' => 1,
+ 'make_integer_threshold' => 500,
+ },
+ {
+- 'unit' => 'MB',
++ 'unit' => 'GB',
+ },
+ );
+
+--- mythtv-status-1.1.0/t/05-v0.20-clean.t.orig 2023-07-22 14:17:03.000000000 +0200
++++ mythtv-status-1.1.0/t/05-v0.20-clean.t 2023-12-30 22:58:41.000000000 +0100
+@@ -13,7 +13,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -24,7 +24,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ unlike($out, qr/^Status as of\.*:/m, 'Status line is not present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -35,7 +35,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-unlike($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is not present');
++unlike($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is not present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -46,7 +46,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ unlike($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is not present');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
+@@ -57,7 +57,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ unlike($out, qr/^Recording Now:\s+3 News \(TV3\) Ends: 19:00:00$/m, 'Recording now is not present');
+@@ -70,7 +70,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present');
+-like($out, qr/^Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present');
++like($out, qr/^Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Enc: 9, Chan: 3, Ends: 19:00:00$/m, 'Recording now is present (the news) with encoder details');
+@@ -83,7 +83,7 @@
+
+ like($out, qr/MythTV status for localhost/, 'Header is present');
+ like($out, qr/^\* Status as of\.*: Thu Nov 29 2007, 6:43 PM$/m, 'Status line is present (with bullet)');
+-like($out, qr/^\* Total Disk Space: Total space is 100 GB, with 72\.2 GB used \(72%\)$/m, 'Total disk space is present (with bullet)');
++like($out, qr/^\* Total Disk Space: Total space is 100 TB, with 72\.2 TB used \(72%\)$/m, 'Total disk space is present (with bullet)');
+ unlike($out, qr/^Guide Data\.*:/m, 'Guide data warning is not present');
+ like($out, qr/^Encoders:\s+cerberus \(9\) - Recording$/m, 'Encoder is present, and recording');
+ like($out, qr/^Recording Now:\s+3 News \(TV3\), Ends: 19:00:00$/m, 'Recording now is present (the news)');
diff --git a/mythtv-status.spec b/mythtv-status.spec
index 6f67fc9..e0603a4 100644
--- a/mythtv-status.spec
+++ b/mythtv-status.spec
@@ -1,6 +1,6 @@
Name: mythtv-status
Version: 1.1.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Get the current status of your MythTV system at the command line
Summary(sv): Hämta ett MythTV-systems status på kommandoraden
License: GPL-3.0-only
@@ -13,6 +13,9 @@ Patch0: mythtv-status-fedora.patch
Patch1: install-motdupdater.patch
# Reported upstreams via e-mail
Patch2: default-localhost.patch
+# To match a corresponding patch in the base mythtv package; it reports in GB
+# rather than MB as upstreams.
+Patch3: mythtv-space_in_GB.patch
BuildArch: noarch
BuildRequires: make
@@ -91,6 +94,10 @@ install -p -m 644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/%{name}
%config %{_sysconfdir}/sysconfig/%{name}
%changelog
+* Sat Dec 30 2023 Göran Uddeborg <goeran(a)uddeborg.se> - 1.1.0-2
+- Patch to expect GB in status reports, matching a patch in the base mythtv
+ package
+
* Wed Jul 26 2023 Göran Uddeborg <goeran(a)uddeborg.se> - 1.1.0-1
- Update to 1.1.0
- Use the now provided make target to install rather than our own scripting
11 months, 2 weeks
[nvidia-kmod/f38: 2/2] Merge branch 'master' into f38
by Leigh Scott
commit c6bbcbef2eca656da9911a80a4fd95519532fa50
Merge: 84e30c1 322b208
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Dec 27 08:59:37 2023 +0000
Merge branch 'master' into f38
nvidia-drm-hotplug-workqueue.patch | 104 +++++++++++++++++++++++++++++++++++++
nvidia-kmod.spec | 9 +++-
2 files changed, 111 insertions(+), 2 deletions(-)
---
11 months, 3 weeks
[nvidia-kmod/f39: 2/2] Merge branch 'master' into f39
by Leigh Scott
commit 1235e1dffd6d8b056bdda7d8af72e7313034a4f5
Merge: 84e30c1 322b208
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Dec 27 08:59:21 2023 +0000
Merge branch 'master' into f39
nvidia-drm-hotplug-workqueue.patch | 104 +++++++++++++++++++++++++++++++++++++
nvidia-kmod.spec | 9 +++-
2 files changed, 111 insertions(+), 2 deletions(-)
---
11 months, 3 weeks
[nvidia-kmod] Add fix for 'Flip event timeout' (rfbz6808)
by Leigh Scott
commit 322b208e25c0bbd424ffe380961a47845ad5b3ca
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Dec 27 08:43:46 2023 +0000
Add fix for 'Flip event timeout' (rfbz6808)
nvidia-drm-hotplug-workqueue.patch | 104 +++++++++++++++++++++++++++++++++++++
nvidia-kmod.spec | 9 +++-
2 files changed, 111 insertions(+), 2 deletions(-)
---
diff --git a/nvidia-drm-hotplug-workqueue.patch b/nvidia-drm-hotplug-workqueue.patch
new file mode 100644
index 0000000..e77cbcc
--- /dev/null
+++ b/nvidia-drm-hotplug-workqueue.patch
@@ -0,0 +1,104 @@
+From d82eb6c87ee2e05b6bbd35f703a41e68b3adc3a7 Mon Sep 17 00:00:00 2001
+From: Aaron Plattner <aplattner(a)nvidia.com>
+Date: Tue, 26 Dec 2023 11:58:46 -0800
+Subject: [PATCH] nvidia-drm: Use a workqueue to defer calling
+ drm_kms_helper_hotplug_event
+
+---
+ kernel/nvidia-drm/nvidia-drm-drv.c | 24 ++++++++++++++++++++++++
+ kernel/nvidia-drm/nvidia-drm-encoder.c | 4 ++--
+ kernel/nvidia-drm/nvidia-drm-priv.h | 1 +
+ 3 files changed, 27 insertions(+), 2 deletions(-)
+
+diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
+index e0ddb6c..9f7424d 100644
+--- a/kernel/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel/nvidia-drm/nvidia-drm-drv.c
+@@ -74,6 +74,7 @@
+ #endif
+
+ #include <linux/pci.h>
++#include <linux/workqueue.h>
+
+ /*
+ * Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h")
+@@ -405,6 +406,27 @@ static int nv_drm_create_properties(struct nv_drm_device *nv_dev)
+ return 0;
+ }
+
++#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
++/*
++ * We can't just call drm_kms_helper_hotplug_event directly because
++ * fbdev_generic may attempt to set a mode from inside the hotplug event
++ * handler. Because kapi event handling runs on nvkms_kthread_q, this blocks
++ * other event processing including the flip completion notifier expected by
++ * nv_drm_atomic_commit.
++ *
++ * Defer hotplug event handling to a work item so that nvkms_kthread_q can
++ * continue processing events while a DRM modeset is in progress.
++ */
++static void nv_drm_handle_hotplug_event(struct work_struct *work)
++{
++ struct delayed_work *dwork = to_delayed_work(work);
++ struct nv_drm_device *nv_dev =
++ container_of(dwork, struct nv_drm_device, hotplug_event_work);
++
++ drm_kms_helper_hotplug_event(nv_dev->dev);
++}
++#endif
++
+ static int nv_drm_load(struct drm_device *dev, unsigned long flags)
+ {
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+@@ -540,6 +562,7 @@ static int nv_drm_load(struct drm_device *dev, unsigned long flags)
+
+ /* Enable event handling */
+
++ INIT_DELAYED_WORK(&nv_dev->hotplug_event_work, nv_drm_handle_hotplug_event);
+ atomic_set(&nv_dev->enable_event_handling, true);
+
+ init_waitqueue_head(&nv_dev->flip_event_wq);
+@@ -567,6 +590,7 @@ static void __nv_drm_unload(struct drm_device *dev)
+ return;
+ }
+
++ cancel_delayed_work_sync(&nv_dev->hotplug_event_work);
+ mutex_lock(&nv_dev->lock);
+
+ WARN_ON(nv_dev->subOwnershipGranted);
+diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c
+index b5ef5a2..7c0c119 100644
+--- a/kernel/nvidia-drm/nvidia-drm-encoder.c
++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c
+@@ -300,7 +300,7 @@ void nv_drm_handle_display_change(struct nv_drm_device *nv_dev,
+
+ nv_drm_connector_mark_connection_status_dirty(nv_encoder->nv_connector);
+
+- drm_kms_helper_hotplug_event(dev);
++ schedule_delayed_work(&nv_dev->hotplug_event_work, 0);
+ }
+
+ void nv_drm_handle_dynamic_display_connected(struct nv_drm_device *nv_dev,
+@@ -347,6 +347,6 @@ void nv_drm_handle_dynamic_display_connected(struct nv_drm_device *nv_dev,
+ drm_reinit_primary_mode_group(dev);
+ #endif
+
+- drm_kms_helper_hotplug_event(dev);
++ schedule_delayed_work(&nv_dev->hotplug_event_work, 0);
+ }
+ #endif
+diff --git a/kernel/nvidia-drm/nvidia-drm-priv.h b/kernel/nvidia-drm/nvidia-drm-priv.h
+index 253155f..c9ce727 100644
+--- a/kernel/nvidia-drm/nvidia-drm-priv.h
++++ b/kernel/nvidia-drm/nvidia-drm-priv.h
+@@ -126,6 +126,7 @@ struct nv_drm_device {
+ NvU64 modifiers[6 /* block linear */ + 1 /* linear */ + 1 /* terminator */];
+ #endif
+
++ struct delayed_work hotplug_event_work;
+ atomic_t enable_event_handling;
+
+ /**
+--
+2.43.0
+
diff --git a/nvidia-kmod.spec b/nvidia-kmod.spec
index 2e1aa24..8d4fd73 100644
--- a/nvidia-kmod.spec
+++ b/nvidia-kmod.spec
@@ -12,13 +12,15 @@ Name: nvidia-kmod
Epoch: 3
Version: 545.29.06
# Taken over by kmodtool
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: NVIDIA display driver kernel module
License: Redistributable, no modification permitted
URL: https://www.nvidia.com/
Source11: nvidia-kmodtool-excludekernel-filterfile
Patch0: make_modeset_default.patch
+# https://forums.developer.nvidia.com/t/545-29-06-18-1-flip-event-timeout-e...
+Patch1: nvidia-drm-hotplug-workqueue.patch
# needed for plague to make sure it builds for i586 and i686
ExclusiveArch: x86_64 aarch64
@@ -53,7 +55,7 @@ echo "Using original nvidia defaults"
echo "Set nvidia to fbdev=1 modeset=1"
%patch -P0 -p1
%endif
-
+%patch -P1 -p1
for kernel_version in %{?kernel_versions} ; do
cp -a kernel _kmod_build_${kernel_version%%___*}
done
@@ -87,6 +89,9 @@ done
%changelog
+* Wed Dec 27 2023 Leigh Scott <leigh123linux(a)gmail.com> - 3:545.29.06-2
+- Add fix for 'Flip event timeout' (rfbz6808)
+
* Wed Nov 22 2023 Leigh Scott <leigh123linux(a)gmail.com> - 3:545.29.06-1
- Update to 545.29.06 release
11 months, 3 weeks