[Mesa-dev] [PATCH 5/7] targets/xorg-nouveau: drop usage of dri1 function DRICreatePCIBusID

Emil Velikov emil.l.velikov at gmail.com
Sat Sep 28 07:46:19 PDT 2013


The function should have never used it in the first place as it was
a left over from the DRI1 days of the nouveau ddx. While we're around
check if KMS is supported before opening the nouveau device, and
add support for Fermi & Kepler cards.

Compile tested only due to the lack of a Fermi/Kepler card.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---

This commit effectively syncs some cleanups that have been living
in xf86-video-nouveau for a while now.

---
 src/gallium/targets/xorg-nouveau/nouveau_xorg.c | 27 +++++++++++++------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/gallium/targets/xorg-nouveau/nouveau_xorg.c b/src/gallium/targets/xorg-nouveau/nouveau_xorg.c
index 454aea6..2e44ddb 100644
--- a/src/gallium/targets/xorg-nouveau/nouveau_xorg.c
+++ b/src/gallium/targets/xorg-nouveau/nouveau_xorg.c
@@ -30,7 +30,6 @@
 
 #include "../../state_trackers/xorg/xorg_winsys.h"
 #include <nouveau.h>
-#include <dri.h>
 #include <xf86drmMode.h>
 
 static void nouveau_xorg_identify(int flags);
@@ -129,32 +128,31 @@ nouveau_xorg_pci_probe(DriverPtr driver,
     char *busid;
     int chipset, ret;
 
-    if (device->vendor_id != 0x10DE)
+    busid = malloc(64);
+    if (!busid)
 	return FALSE;
 
-    if (!xf86LoaderCheckSymbol("DRICreatePCIBusID")) {
-	xf86DrvMsg(-1, X_ERROR, "[drm] No DRICreatePCIBusID symbol\n");
+    sprintf(busid, "pci:%04x:%02x:%02x.%d",
+	    device->domain, device->bus,
+	    device->dev, device->func);
+
+    ret = drmCheckModesettingSupported(busid);
+    if (ret) {
+	xf86DrvMsg(-1, X_ERROR, "[drm] KMS not enabled\n");
+	free(busid);
 	return FALSE;
     }
-    busid = DRICreatePCIBusID(device);
 
     ret = nouveau_device_open(busid, &dev);
+    free(busid);
     if (ret) {
 	xf86DrvMsg(-1, X_ERROR, "[drm] failed to open device\n");
-	free(busid);
 	return FALSE;
     }
 
     chipset = dev->chipset;
     nouveau_device_del(&dev);
 
-    ret = drmCheckModesettingSupported(busid);
-    free(busid);
-    if (ret) {
-	xf86DrvMsg(-1, X_ERROR, "[drm] KMS not enabled\n");
-	return FALSE;
-    }
-
     switch (chipset & 0xf0) {
     case 0x00:
     case 0x10:
@@ -169,6 +167,9 @@ nouveau_xorg_pci_probe(DriverPtr driver,
     case 0x90:
     case 0xa0:
     case 0xc0:
+    case 0xd0:
+    case 0xe0:
+    case 0xf0:
 	xf86DrvMsg(-1, X_INFO, "Detected chipset: NV%02x\n", chipset);
 	break;
     default:
-- 
1.8.4



More information about the mesa-dev mailing list