diff options
Diffstat (limited to 'shared-core/savage_bci.c')
-rw-r--r-- | shared-core/savage_bci.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/shared-core/savage_bci.c b/shared-core/savage_bci.c index de15e2b0..0f91cf78 100644 --- a/shared-core/savage_bci.c +++ b/shared-core/savage_bci.c @@ -386,11 +386,14 @@ static int savage_do_init_bci(drm_device_t *dev, drm_savage_init_t *init) } else { dev_priv->status = NULL; } - dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); - if (!dev->agp_buffer_map) { - DRM_ERROR("could not find dma buffer region!\n"); - savage_do_cleanup_bci(dev); - return DRM_ERR(EINVAL); + if (dev_priv->dma_type == SAVAGE_DMA_AGP) { + dev->agp_buffer_map = drm_core_findmap(dev, + init->buffers_offset); + if (!dev->agp_buffer_map) { + DRM_ERROR("could not find dma buffer region!\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(EINVAL); + } } if (init->agp_textures_offset) { dev_priv->agp_textures = |