summaryrefslogtreecommitdiff
path: root/graphics/nvidia-drm-61-kmod
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/nvidia-drm-61-kmod')
-rw-r--r--graphics/nvidia-drm-61-kmod/Makefile3
-rw-r--r--graphics/nvidia-drm-61-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-0147
3 files changed, 53 insertions, 7 deletions
diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile
index 789793c223e7..1ba633128152 100644
--- a/graphics/nvidia-drm-61-kmod/Makefile
+++ b/graphics/nvidia-drm-61-kmod/Makefile
@@ -1,8 +1,7 @@
PORTNAME= nvidia-drm-61-kmod
-PORTREVISION= 2
+PORTREVISION= 1
CATEGORIES= graphics
-BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod
RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod
CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-66-kmod*
diff --git a/graphics/nvidia-drm-61-kmod/distinfo b/graphics/nvidia-drm-61-kmod/distinfo
index d16f4303ff76..103dac7f254f 100644
--- a/graphics/nvidia-drm-61-kmod/distinfo
+++ b/graphics/nvidia-drm-61-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750400626
-SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce
-SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796
-SHA256 (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d
-SIZE (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = 37105937
+TIMESTAMP = 1765462736
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = d4eb440e982ceef08888dafa1aeb2bd046b3b53026ee526eb7d8f7f52bc988f1
+SIZE (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = 37104632
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;