FreeBSD: We only want drm to ever attach to the primary pci device.

Intel 855 chips present the same pci id for both heads.  This prevents
us from attaching to the dummy second head.  All other chips that I
am aware of either only present a single pci id, or different ids
for each head so that we only match on the correct head.
main
Robert Noland 2009-03-05 00:44:56 -06:00
parent 4a27f1c638
commit 222dc6582e
2 changed files with 5 additions and 0 deletions

View File

@ -83,6 +83,7 @@ struct drm_file;
#include <sys/agpio.h>
#include <sys/mutex.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
#include <sys/selinfo.h>
#include <sys/bus.h>

View File

@ -173,6 +173,10 @@ int drm_probe(device_t dev, drm_pci_id_list_t *idlist)
device = pci_get_device(dev);
#endif
if (pci_get_class(dev) != PCIC_DISPLAY
|| pci_get_subclass(dev) != PCIS_DISPLAY_VGA)
return ENXIO;
id_entry = drm_find_description(vendor, device, idlist);
if (id_entry != NULL) {
device_set_desc(dev, id_entry->name);