diff options
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/drmP.h | 15 | ||||
-rw-r--r-- | linux-core/i915_drv.c | 1 | ||||
-rw-r--r-- | linux-core/mga_drv.c | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 167bef0f..24d8a23b 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -548,8 +548,10 @@ struct drm_driver { * * \param dev DRM device handle * - * \returns true if the card really is attached to AGP, false - * otherwise. + * \returns + * One of three values is returned depending on whether or not the + * card is absolutely \b not AGP (return of 0), absolutely \b is AGP + * (return of 1), or may or may not be AGP (return of 2). */ int (*device_is_agp) (struct drm_device * dev); @@ -1028,9 +1030,12 @@ static __inline__ struct drm_map *drm_core_findmap(struct drm_device *dev, static __inline__ int drm_device_is_agp(drm_device_t *dev) { - if ( (dev->driver->device_is_agp != NULL) - && ! (*dev->driver->device_is_agp)( dev ) ) { - return 0; + if ( dev->driver->device_is_agp != NULL ) { + int err = (*dev->driver->device_is_agp)( dev ); + + if (err != 2) { + return err; + } } return pci_find_capability(dev->pdev, PCI_CAP_ID_AGP); diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c index 7256cb3c..d09b9d43 100644 --- a/linux-core/i915_drv.c +++ b/linux-core/i915_drv.c @@ -60,6 +60,7 @@ static struct drm_driver driver = { DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, .pretakedown = i915_driver_pretakedown, .prerelease = i915_driver_prerelease, + .device_is_agp = i915_driver_device_is_agp, .irq_preinstall = i915_driver_irq_preinstall, .irq_postinstall = i915_driver_irq_postinstall, .irq_uninstall = i915_driver_irq_uninstall, diff --git a/linux-core/mga_drv.c b/linux-core/mga_drv.c index c04de5a3..c8bb042d 100644 --- a/linux-core/mga_drv.c +++ b/linux-core/mga_drv.c @@ -148,8 +148,7 @@ MODULE_LICENSE("GPL and additional rights"); * \param dev The device to be tested. * * \returns - * If the device is a PCI G450, zero is returned. Otherwise non-zero is - * returned. + * If the device is a PCI G450, zero is returned. Otherwise 2 is returned. */ int mga_driver_device_is_agp(drm_device_t * dev) { @@ -176,5 +175,5 @@ int mga_driver_device_is_agp(drm_device_t * dev) return 0; } - return 1; + return 2; } |