diff options
author | anholt <anholt@FreeBSD.org> | 2005-12-03 01:23:50 +0000 |
---|---|---|
committer | anholt <anholt@FreeBSD.org> | 2005-12-03 01:23:50 +0000 |
commit | ec3e11dc526f447eb9ff75bbd7ed3f4f8b30231c (patch) | |
tree | b66cb53d5f41f8985139fef130ed7084a4930f71 /sys/dev/drm | |
parent | a4f1b36f3ef8c2625919df1ff99c54138de83b1e (diff) | |
download | FreeBSD-src-ec3e11dc526f447eb9ff75bbd7ed3f4f8b30231c.zip FreeBSD-src-ec3e11dc526f447eb9ff75bbd7ed3f4f8b30231c.tar.gz |
Merge DRM CVS as of 2005-12-02, adding i915 DRM support thanks to Alexey Popov,
and a new r300 PCI ID.
Diffstat (limited to 'sys/dev/drm')
-rw-r--r-- | sys/dev/drm/drm_drv.c | 13 | ||||
-rw-r--r-- | sys/dev/drm/drm_pciids.h | 1 | ||||
-rw-r--r-- | sys/dev/drm/i915_drv.c | 2 |
3 files changed, 11 insertions, 5 deletions
diff --git a/sys/dev/drm/drm_drv.c b/sys/dev/drm/drm_drv.c index 1801bee..eb9c644 100644 --- a/sys/dev/drm/drm_drv.c +++ b/sys/dev/drm/drm_drv.c @@ -153,9 +153,14 @@ int drm_probe(device_t dev, drm_pci_id_list_t *idlist) { drm_pci_id_list_t *id_entry; int vendor, device; + device_t realdev; - vendor = pci_get_vendor(dev); - device = pci_get_device(dev); + if (!strcmp(device_get_name(dev), "drmsub")) + realdev = device_get_parent(dev); + else + realdev = dev; + vendor = pci_get_vendor(realdev); + device = pci_get_device(realdev); id_entry = drm_find_description(vendor, device, idlist); if (id_entry != NULL) { @@ -190,8 +195,8 @@ int drm_attach(device_t nbdev, drm_pci_id_list_t *idlist) mtx_init(&dev->dev_lock, "drm device", NULL, MTX_DEF); #endif - id_entry = drm_find_description(pci_get_vendor(nbdev), - pci_get_device(nbdev), idlist); + id_entry = drm_find_description(pci_get_vendor(dev->device), + pci_get_device(dev->device), idlist); dev->id_entry = id_entry; return drm_load(dev); diff --git a/sys/dev/drm/drm_pciids.h b/sys/dev/drm/drm_pciids.h index d0868a5..42e9a09 100644 --- a/sys/dev/drm/drm_pciids.h +++ b/sys/dev/drm/drm_pciids.h @@ -93,6 +93,7 @@ {0x1002, 0x5c63, CHIP_RV280|CHIP_IS_MOBILITY, "ATI Radeon RV280 Mobility"}, \ {0x1002, 0x5c64, CHIP_RV280, "ATI Radeon RV280"}, \ {0x1002, 0x5d4d, CHIP_R350, "ATI Radeon R480"}, \ + {0x1002, 0x5e4b, CHIP_R420, "ATI Radeon RV410 X700PRO"}, \ {0, 0, 0, NULL} #define r128_PCI_IDS \ diff --git a/sys/dev/drm/i915_drv.c b/sys/dev/drm/i915_drv.c index 3a632d4..f2ab394 100644 --- a/sys/dev/drm/i915_drv.c +++ b/sys/dev/drm/i915_drv.c @@ -104,7 +104,7 @@ static driver_t i915_driver = { }; extern devclass_t drm_devclass; -DRIVER_MODULE(i915, pci, i915_driver, drm_devclass, 0, 0); +DRIVER_MODULE(i915, agp, i915_driver, drm_devclass, 0, 0); MODULE_DEPEND(i915, drm, 1, 1, 1); #elif defined(__NetBSD__) || defined(__OpenBSD__) |