Commit 908f9c48 authored by Dave Airlie's avatar Dave Airlie Committed by Dave Airlie

drm: fix MGA on non AGP systems

Al Viro noticed that MGA wouldn't build on non AGP systems.
Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
parent f210973b
...@@ -417,6 +417,7 @@ int mga_driver_preinit(drm_device_t *dev, unsigned long flags) ...@@ -417,6 +417,7 @@ int mga_driver_preinit(drm_device_t *dev, unsigned long flags)
return 0; return 0;
} }
#if __OS_HAS_AGP
/** /**
* Bootstrap the driver for AGP DMA. * Bootstrap the driver for AGP DMA.
* *
...@@ -560,6 +561,13 @@ static int mga_do_agp_dma_bootstrap(drm_device_t * dev, ...@@ -560,6 +561,13 @@ static int mga_do_agp_dma_bootstrap(drm_device_t * dev,
DRM_INFO("Initialized card for AGP DMA.\n"); DRM_INFO("Initialized card for AGP DMA.\n");
return 0; return 0;
} }
#else
static int mga_do_agp_dma_bootstrap(drm_device_t * dev,
drm_mga_dma_bootstrap_t * dma_bs)
{
return -EINVAL;
}
#endif
/** /**
* Bootstrap the driver for PCI DMA. * Bootstrap the driver for PCI DMA.
...@@ -697,7 +705,6 @@ static int mga_do_dma_bootstrap(drm_device_t * dev, ...@@ -697,7 +705,6 @@ static int mga_do_dma_bootstrap(drm_device_t * dev,
* carve off portions of it for internal uses. The remaining memory * carve off portions of it for internal uses. The remaining memory
* is returned to user-mode to be used for AGP textures. * is returned to user-mode to be used for AGP textures.
*/ */
if (is_agp) { if (is_agp) {
err = mga_do_agp_dma_bootstrap(dev, dma_bs); err = mga_do_agp_dma_bootstrap(dev, dma_bs);
} }
...@@ -932,6 +939,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev ) ...@@ -932,6 +939,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev )
drm_core_ioremapfree(dev->agp_buffer_map, dev); drm_core_ioremapfree(dev->agp_buffer_map, dev);
if (dev_priv->used_new_dma_init) { if (dev_priv->used_new_dma_init) {
#if __OS_HAS_AGP
if (dev_priv->agp_mem != NULL) { if (dev_priv->agp_mem != NULL) {
dev_priv->agp_textures = NULL; dev_priv->agp_textures = NULL;
drm_unbind_agp(dev_priv->agp_mem); drm_unbind_agp(dev_priv->agp_mem);
...@@ -944,7 +952,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev ) ...@@ -944,7 +952,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev )
if ((dev->agp != NULL) && dev->agp->acquired) { if ((dev->agp != NULL) && dev->agp->acquired) {
err = drm_agp_release(dev); err = drm_agp_release(dev);
} }
#endif
dev_priv->used_new_dma_init = 0; dev_priv->used_new_dma_init = 0;
} }
...@@ -965,7 +973,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev ) ...@@ -965,7 +973,7 @@ static int mga_do_cleanup_dma( drm_device_t *dev )
} }
} }
return 0; return err;
} }
int mga_dma_init( DRM_IOCTL_ARGS ) int mga_dma_init( DRM_IOCTL_ARGS )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment