Revert "Refuse to bind to a device which has kernel modesetting active."

It was superseded by 3e9f7704122e0685ce83f7d3d3630e8a07293671, which depends on
libpciaccess and not libdrm.  This is better, because the server already depends
on the former, while the latter is optional.

This reverts commit 17ab5dbea6.

Conflicts:

	src/nv_driver.c
This commit is contained in:
Aaron Plattner
2010-06-02 15:29:57 -07:00
parent 133f7c4d51
commit 78ffecce36
3 changed files with 1 additions and 45 deletions

View File

@@ -134,17 +134,6 @@ AC_SUBST([modes_dir])
AC_SUBST([XORG_CFLAGS])
AC_SUBST([moduledir])
if test "x$XSERVER_LIBPCIACCESS" = xyes; then
PKG_CHECK_MODULES(LIBDRM, [libdrm > 2.4.3 xf86driproto], HAVE_KMS="yes", HAVE_KMS="no")
if test "x$HAVE_KMS" = xyes; then
AC_DEFINE(HAVE_KMS, 1, [Have kernel modesetting])
else
AC_MSG_WARN(Support for detecting kernel modesetting drivers is not available.)
AC_MSG_WARN(This driver can cause display problems in the presence of kernel modesetting.)
AC_MSG_WARN(Please install libdrm > 2.4.3 and xf86driproto to enable KMS detection.)
fi
fi
DRIVER_NAME=nv
AC_SUBST([DRIVER_NAME])

View File

@@ -23,7 +23,7 @@
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
AM_CFLAGS = @XMODES_CFLAGS@ @XORG_CFLAGS@ $(LIBDRM_CFLAGS)
AM_CFLAGS = @XMODES_CFLAGS@ @XORG_CFLAGS@
nv_drv_la_LTLIBRARIES = nv_drv.la
nv_drv_la_LDFLAGS = -module -avoid-version
nv_drv_ladir = @moduledir@/drivers

View File

@@ -33,11 +33,6 @@
#include "xf86int10.h"
#include "vbeModes.h"
#ifdef HAVE_KMS
#include <xf86drmMode.h>
#include <dri.h>
#endif
const OptionInfoRec * RivaAvailableOptions(int chipid, int busid);
Bool RivaGetScrnInfoRec(PciChipsets *chips, int chip);
Bool G80GetScrnInfoRec(PciChipsets *chips, int chip);
@@ -835,26 +830,6 @@ NVIsSupported(CARD32 id)
return FALSE;
}
#ifdef HAVE_KMS
static Bool NVKernelModesettingEnabled(struct pci_device *device)
{
char *busIdString;
int ret;
if (!xf86LoaderCheckSymbol("DRICreatePCIBusID"))
return FALSE;
busIdString = DRICreatePCIBusID(device);
ret = drmCheckModesettingSupported(busIdString);
free(busIdString);
return (ret == 0);
}
#else
static inline Bool NVKernelModesettingEnabled(struct pci_device *device) { return FALSE; }
#endif //HAVE_KMS
/* Mandatory */
#if XSERVER_LIBPCIACCESS
static Bool
@@ -895,14 +870,6 @@ NVPciProbe(DriverPtr drv, int entity, struct pci_device *dev, intptr_t data)
NV_NAME ": Found NVIDIA %s at %2.2x@%2.2x:%2.2x:%1.1x\n",
name, dev->bus, dev->domain, dev->dev, dev->func);
/* Trying to bring up a NV mode while kernel modesetting is enabled
results in badness */
if (NVKernelModesettingEnabled(dev)) {
xf86Msg(X_ERROR,
NV_NAME ": Kernel modesetting driver in use, refusing to load\n");
return FALSE;
}
if(NVIsG80(id))
return G80GetScrnInfoRec(NULL, entity);
else if(dev->vendor_id == PCI_VENDOR_NVIDIA_SGS)