git: 971606f3493f - main - graphics/nvidia-drm-{61,66}-kmod{,-devel}: Fix runtime regression after commit ac934345a14f
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Sep 2025 21:31:34 UTC
The branch main has been updated by eduardo:
URL: https://cgit.FreeBSD.org/ports/commit/?id=971606f3493fbbc77c156ab84243ab952d89a81b
commit 971606f3493fbbc77c156ab84243ab952d89a81b
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-09-26 21:10:08 +0000
Commit: Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2025-09-26 21:19:14 +0000
graphics/nvidia-drm-{61,66}-kmod{,-devel}: Fix runtime regression after commit ac934345a14f
PR: 289647
Fixes: ac934345a14f (Update distinfo after drm-{61,66}-kmod updates)
---
graphics/nvidia-drm-61-kmod-devel/Makefile | 2 +-
graphics/nvidia-drm-61-kmod/Makefile | 2 +-
.../patch-nvidia-drm-freebsd-lkpi.c-20250918-01 | 47 ++++++++++++++++++++++
graphics/nvidia-drm-66-kmod-devel/Makefile | 2 +-
graphics/nvidia-drm-66-kmod/Makefile | 2 +-
.../patch-nvidia-drm-freebsd-lkpi.c-20250918-01 | 47 ++++++++++++++++++++++
6 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile
index 9d2138ba50bd..96d0c7d006d9 100644
--- a/graphics/nvidia-drm-61-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-61-kmod-devel/Makefile
@@ -1,6 +1,6 @@
NVIDIA_DISTVERSION?= 580.82.07
# Explicitly set PORTREVISION as it can be overridden by the master port
-PORTREVISION= 1
+PORTREVISION= 2
MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod
PKGNAMESUFFIX= -devel
diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile
index 33aa61bc2023..7e5747d7622d 100644
--- a/graphics/nvidia-drm-61-kmod/Makefile
+++ b/graphics/nvidia-drm-61-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nvidia-drm-61-kmod
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod
diff --git a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
new file mode 100644
index 000000000000..c703950a0c88
--- /dev/null
+++ b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
@@ -0,0 +1,47 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev)
+ * FreeBSD linuxkpi based loading support code.
+ *************************************************************************/
+
++static int
++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused,
++ const struct pci_device_id *id_table __unused)
++{
++ return (0);
++}
++
++static void
++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused)
++{
++}
++
++static void
++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused)
++{
++}
++
++struct pci_driver nv_pci_driver = {
++ .name = "drmn",
++ .id_table = nv_pci_table,
++ .probe = dummy_nv_pci_probe,
++ .remove = dummy_nv_pci_remove,
++ .shutdown = dummy_nv_pci_shutdown,
++#if defined(__FreeBSD__)
++ /* FreeBSD internal/specifc. */
++ .isdrm = true,
++#endif
++};
++
+ static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES];
+
+ int nv_drm_probe_devices(void)
+@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void)
+ return -ENOMEM;
+ }
+
+- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) {
+ NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device");
+ free(pdev, M_DEVBUF);
+ return -ENOMEM;
diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile
index 0732d38c767c..7941985a9c4b 100644
--- a/graphics/nvidia-drm-66-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-66-kmod-devel/Makefile
@@ -1,6 +1,6 @@
NVIDIA_DISTVERSION?= 580.82.07
# Explicitly set PORTREVISION as it can be overridden by the master port
-PORTREVISION= 1
+PORTREVISION= 2
MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod
PKGNAMESUFFIX= -devel
diff --git a/graphics/nvidia-drm-66-kmod/Makefile b/graphics/nvidia-drm-66-kmod/Makefile
index 1b8560063184..19636dc722bc 100644
--- a/graphics/nvidia-drm-66-kmod/Makefile
+++ b/graphics/nvidia-drm-66-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nvidia-drm-66-kmod
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod
diff --git a/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
new file mode 100644
index 000000000000..c703950a0c88
--- /dev/null
+++ b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
@@ -0,0 +1,47 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev)
+ * FreeBSD linuxkpi based loading support code.
+ *************************************************************************/
+
++static int
++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused,
++ const struct pci_device_id *id_table __unused)
++{
++ return (0);
++}
++
++static void
++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused)
++{
++}
++
++static void
++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused)
++{
++}
++
++struct pci_driver nv_pci_driver = {
++ .name = "drmn",
++ .id_table = nv_pci_table,
++ .probe = dummy_nv_pci_probe,
++ .remove = dummy_nv_pci_remove,
++ .shutdown = dummy_nv_pci_shutdown,
++#if defined(__FreeBSD__)
++ /* FreeBSD internal/specifc. */
++ .isdrm = true,
++#endif
++};
++
+ static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES];
+
+ int nv_drm_probe_devices(void)
+@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void)
+ return -ENOMEM;
+ }
+
+- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) {
+ NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device");
+ free(pdev, M_DEVBUF);
+ return -ENOMEM;