Module Name:    xsrc
Committed By:   martin
Date:           Thu Aug 21 08:42:52 UTC 2014

Modified Files:
        xsrc/external/mit/xf86-video-nv/dist/src [netbsd-7]: nv_driver.c

Log Message:
Pull up following revision(s) (requested by macallan in ticket #40):
        external/mit/xf86-video-nv/dist/src/nv_driver.c: revision 1.5
put pci_device_has_kernel_driver(dev) into #if NV_TEST_FOR_KERNEL_DRIVER
at least for now there is nothing that keeps the nv driver from running
if a kernel driver other than vga is attached
Now this works again on macppc ( and x86 if you use for example genfb )
mention NV_TEST_FOR_KERNEL_DRIVER and explain why it isn't enabled for now


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.4.4.1 \
    xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c
diff -u xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c:1.4 xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c:1.4.4.1
--- xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c:1.4	Sun Jun  2 08:29:33 2013
+++ xsrc/external/mit/xf86-video-nv/dist/src/nv_driver.c	Thu Aug 21 08:42:51 2014
@@ -911,15 +911,23 @@ NVPciProbe(DriverPtr drv, int entity, st
                       NVGetPCIXpressChip(dev) : dev->vendor_id << 16 | dev->device_id;
     const char *name = xf86TokenToString(NVKnownChipsets, id);
 
+/*
+ * XXX
+ * disable this test for now since it's bogus
+ * it will trigger whenever there's a driver other than vga attached to the
+ * device we're trying to probe, yet this works fine on top of gffb or genfb
+ * might need to revisit this when we have working DRM on non-x86
+ */
+#if NV_TEST_FOR_KERNEL_DRIVER
     if (pci_device_has_kernel_driver(dev)) {
         xf86DrvMsg(0, X_ERROR,
                    NV_NAME ": The PCI device 0x%x (%s) at %2.2d@%2.2d:%2.2d:%1.1d has a kernel module claiming it.\n",
-                   (int)id, name, dev->bus, dev->domain, dev->dev, dev->func);
+                   id, name, dev->bus, dev->domain, dev->dev, dev->func);
         xf86DrvMsg(0, X_ERROR,
                    NV_NAME ": This driver cannot operate until it has been unloaded.\n");
         return FALSE;
     }
-
+#endif
     if(dev->vendor_id == PCI_VENDOR_NVIDIA && !name &&
        !NVIsSupported(id) && !NVIsG80(id)) {
         /* See if pci.ids knows what the heck this thing is */
@@ -927,11 +935,11 @@ NVPciProbe(DriverPtr drv, int entity, st
         if(name)
             xf86DrvMsg(0, X_WARNING,
                        NV_NAME ": Ignoring unsupported device 0x%x (%s) at %2.2d@%2.2d:%2.2d:%1.1d\n",
-                       (int)id, name, dev->bus, dev->domain, dev->dev, dev->func);
+                       id, name, dev->bus, dev->domain, dev->dev, dev->func);
         else
             xf86DrvMsg(0, X_WARNING,
                        NV_NAME ": Ignoring unsupported device 0x%x at %2.2d@%2.2d:%2.2d:%1.1d\n",
-                       (int)id, dev->bus, dev->domain, dev->dev, dev->func);
+                       id, dev->bus, dev->domain, dev->dev, dev->func);
         return FALSE;
     }
 
@@ -1212,7 +1220,7 @@ NVCloseScreen(CLOSE_SCREEN_ARGS_DECL)
             NVLockUnlock(pNv, 1);
         }
     }
-
+    
     NVUnmapMem(pScrn);
 #ifndef AVOID_VGAHW
     vgaHWUnmapMem(pScrn);
@@ -1260,7 +1268,6 @@ NVFreeScreen(FREE_SCREEN_ARGS_DECL)
      * This only gets called when a screen is being deleted.  It does not
      * get called routinely at the end of a server generation.
      */
-  
     if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
 	vgaHWFreeHWRec(pScrn);
     NVFreeRec(pScrn);

Reply via email to