mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
targets/xorg-nouveau: drop usage of dri1 function DRICreatePCIBusID
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@gmail.com>
This commit is contained in:
parent
c9e6e6382f
commit
2a87647c6a
1 changed files with 14 additions and 13 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue