summaryrefslogtreecommitdiff
path: root/x11/nvidia-driver/files/patch-nvidia_dev.c
diff options
context:
space:
mode:
authorMaxime Henrion <mux@FreeBSD.org>2003-03-06 01:12:23 +0000
committerMaxime Henrion <mux@FreeBSD.org>2003-03-06 01:12:23 +0000
commitdb303857e8aea518cd9a13dee40d65e2cfbd21b6 (patch)
treed917e936e3fa79eab7b346d74a764bfe630b84bc /x11/nvidia-driver/files/patch-nvidia_dev.c
parentUpdate to 2.79. (diff)
Add patches so that the nVidia driver works with -CURRENT. Be
aware that nVidia doesn't officially supports -CURRENT though. Older versions of -CURRENT (ie. __FreeBSD_version < 500105) are not supported. 5.0-RELEASE is thus unsupported as well. Requested by: many
Notes
Notes: svn path=/head/; revision=77002
Diffstat (limited to 'x11/nvidia-driver/files/patch-nvidia_dev.c')
-rw-r--r--x11/nvidia-driver/files/patch-nvidia_dev.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/x11/nvidia-driver/files/patch-nvidia_dev.c b/x11/nvidia-driver/files/patch-nvidia_dev.c
new file mode 100644
index 000000000000..d53e31741c73
--- /dev/null
+++ b/x11/nvidia-driver/files/patch-nvidia_dev.c
@@ -0,0 +1,66 @@
+--- src/nvidia_dev.c.orig Wed Oct 30 15:30:58 2002
++++ src/nvidia_dev.c Thu Mar 6 01:09:05 2003
+@@ -20,6 +20,7 @@
+ static d_mmap_t nvidia_dev_mmap;
+
+ static struct cdevsw nvidia_dev_cdevsw = {
++#if __FreeBSD_version < 500000
+ /* open */ nvidia_dev_open,
+ /* close */ nvidia_dev_close,
+ /* read */ noread,
+@@ -33,10 +34,18 @@
+ /* dump */ nodump,
+ /* psize */ nopsize,
+ /* flags */ D_MEM|D_TRACKCLOSE,
+-#if __FreeBSD_version < 500000
+ /* bmaj */ -1,
+-#endif
+ /* kqfilter */ NULL,
++#else
++ .d_open = nvidia_dev_open,
++ .d_close = nvidia_dev_close,
++ .d_ioctl = nvidia_dev_ioctl,
++ .d_poll = nvidia_dev_poll,
++ .d_mmap = nvidia_dev_mmap,
++ .d_name = "nvidia",
++ .d_maj = CDEV_MAJOR,
++ .d_flags = D_MEM|D_TRACKCLOSE
++#endif
+ };
+
+ int nvidia_dev_open(
+@@ -135,11 +144,15 @@
+ int nvidia_dev_mmap(
+ dev_t dev,
+ vm_offset_t offset,
++#if __FreeBSD_version >= 500000
++ vm_offset_t *paddr,
++#endif
+ int nprot
+ )
+ {
+ nv_state_t *nv;
+ struct nvidia_softc *sc;
++ vm_offset_t phys;
+
+ int status;
+ int unit = minor(dev);
+@@ -148,10 +161,17 @@
+ nv = sc->nv_state;
+
+ nv_lock_api(nv);
+- status = nvidia_mmap_dev(sc, offset);
++ status = nvidia_mmap_dev(sc, offset, &phys);
+ nv_unlock_api(nv);
+
++#if __FreeBSD_version >= 500000
++ *paddr = phys;
+ return status;
++#else
++ if (status == -1)
++ return -1;
++ return atop(phys);
++#endif
+ }
+
+ int nvidia_dev_attach (struct nvidia_softc *sc)