Merge patch from jhb to catch up with FreeBSD-current vgapci master device
changes.main
parent
780e90e4a2
commit
7f2c7f9977
|
@ -42,9 +42,11 @@
|
|||
static int
|
||||
drm_device_find_capability(drm_device_t *dev, int cap)
|
||||
{
|
||||
int ret;
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#if __FreeBSD_version >= 700010
|
||||
|
||||
return (pci_find_extcap(dev->device, cap, NULL) == 0);
|
||||
#else
|
||||
/* Code taken from agp.c. IWBNI that was a public interface. */
|
||||
u_int32_t status;
|
||||
u_int8_t ptr, next;
|
||||
|
@ -73,6 +75,7 @@ drm_device_find_capability(drm_device_t *dev, int cap)
|
|||
}
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
#else
|
||||
/* XXX: fill me in for non-FreeBSD */
|
||||
return 1;
|
||||
|
|
|
@ -150,6 +150,7 @@ int drm_probe(device_t dev, drm_pci_id_list_t *idlist)
|
|||
{
|
||||
drm_pci_id_list_t *id_entry;
|
||||
int vendor, device;
|
||||
#if __FreeBSD_version < 700010
|
||||
device_t realdev;
|
||||
|
||||
if (!strcmp(device_get_name(dev), "drmsub"))
|
||||
|
@ -158,6 +159,10 @@ int drm_probe(device_t dev, drm_pci_id_list_t *idlist)
|
|||
realdev = dev;
|
||||
vendor = pci_get_vendor(realdev);
|
||||
device = pci_get_device(realdev);
|
||||
#else
|
||||
vendor = pci_get_vendor(dev);
|
||||
device = pci_get_device(dev);
|
||||
#endif
|
||||
|
||||
id_entry = drm_find_description(vendor, device, idlist);
|
||||
if (id_entry != NULL) {
|
||||
|
@ -177,11 +182,14 @@ int drm_attach(device_t nbdev, drm_pci_id_list_t *idlist)
|
|||
unit = device_get_unit(nbdev);
|
||||
dev = device_get_softc(nbdev);
|
||||
|
||||
#if __FreeBSD_version < 700010
|
||||
if (!strcmp(device_get_name(nbdev), "drmsub"))
|
||||
dev->device = device_get_parent(nbdev);
|
||||
else
|
||||
dev->device = nbdev;
|
||||
|
||||
#else
|
||||
dev->device = nbdev;
|
||||
#endif
|
||||
dev->devnode = make_dev(&drm_cdevsw,
|
||||
unit,
|
||||
DRM_DEV_UID,
|
||||
|
|
|
@ -95,13 +95,21 @@ static device_method_t i915_methods[] = {
|
|||
};
|
||||
|
||||
static driver_t i915_driver = {
|
||||
#if __FreeBSD_version >= 700010
|
||||
"drm",
|
||||
#else
|
||||
"drmsub",
|
||||
#endif
|
||||
i915_methods,
|
||||
sizeof(drm_device_t)
|
||||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(i915, vgapci, i915_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(i915, agp, i915_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(i915, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -106,7 +106,11 @@ static driver_t mach64_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(mach64, vgapci, mach64_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(mach64, pci, mach64_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(mach64, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -61,6 +61,8 @@ static drm_pci_id_list_t mga_pciidlist[] = {
|
|||
*/
|
||||
static int mga_driver_device_is_agp(drm_device_t * dev)
|
||||
{
|
||||
device_t bus;
|
||||
|
||||
/* There are PCI versions of the G450. These cards have the
|
||||
* same PCI ID as the AGP G450, but have an additional PCI-to-PCI
|
||||
* bridge chip. We detect these cards, which are not currently
|
||||
|
@ -69,9 +71,14 @@ static int mga_driver_device_is_agp(drm_device_t * dev)
|
|||
* device is 0x0021 (HB6 Universal PCI-PCI bridge), we reject the
|
||||
* device.
|
||||
*/
|
||||
#if __FreeBSD_version >= 700010
|
||||
bus = device_get_parent(device_get_parent(dev->device));
|
||||
#else
|
||||
bus = device_get_parent(dev->device);
|
||||
#endif
|
||||
if (pci_get_device(dev->device) == 0x0525 &&
|
||||
pci_get_vendor(device_get_parent(dev->device)) == 0x3388 &&
|
||||
pci_get_device(device_get_parent(dev->device)) == 0x0021)
|
||||
pci_get_vendor(bus) == 0x3388 &&
|
||||
pci_get_device(bus) == 0x0021)
|
||||
return 0;
|
||||
else
|
||||
return 2;
|
||||
|
@ -145,7 +152,11 @@ static driver_t mga_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(mga, vgapci, mga_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(mga, pci, mga_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(mga, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -106,7 +106,11 @@ static driver_t r128_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(r128, vgapci, r128_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(r128, pci, r128_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(r128, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -111,7 +111,11 @@ static driver_t radeon_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(radeon, vgapci, radeon_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(radeon, pci, radeon_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(radeon, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -96,7 +96,11 @@ static driver_t savage_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(savage, vgapci, savage_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(savage, pci, savage_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(savage, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -89,7 +89,11 @@ static driver_t sis_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(sisdrm, vgapci, sis_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(sisdrm, pci, sis_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(sisdrm, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
|
@ -90,7 +90,11 @@ static driver_t tdfx_driver = {
|
|||
};
|
||||
|
||||
extern devclass_t drm_devclass;
|
||||
#if __FreeBSD_version >= 700010
|
||||
DRIVER_MODULE(tdfx, vgapci, tdfx_driver, drm_devclass, 0, 0);
|
||||
#else
|
||||
DRIVER_MODULE(tdfx, pci, tdfx_driver, drm_devclass, 0, 0);
|
||||
#endif
|
||||
MODULE_DEPEND(tdfx, drm, 1, 1, 1);
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
|
|
Loading…
Reference in New Issue