summaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/radeon_cp.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2006-03-25 08:09:46 +0100
committerDave Airlie <airlied@linux.ie>2006-03-25 08:09:46 +0100
commitf3dd5c37382472a8b245ad791ed768771594e60c (patch)
tree38c9d13de6187f0b67154d7ab643dbaed55280c2 /drivers/char/drm/radeon_cp.c
parentdrm: read breadcrumb in IRQ handler (diff)
downloadlinux-f3dd5c37382472a8b245ad791ed768771594e60c.tar.xz
linux-f3dd5c37382472a8b245ad791ed768771594e60c.zip
drm: add new radeon PCI ids..
This adds all the r300 and r400 PCI ids from DRM CVS, it also makes these cards only initialise when the new xorg driver is used, as otherwise the DRM can cause lockups. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/radeon_cp.c')
-rw-r--r--drivers/char/drm/radeon_cp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c
index cc4942a112cb..7f949c9c9691 100644
--- a/drivers/char/drm/radeon_cp.c
+++ b/drivers/char/drm/radeon_cp.c
@@ -1332,6 +1332,14 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
DRM_DEBUG("\n");
+ /* if we require new memory map but we don't have it fail */
+ if ((dev_priv->flags & CHIP_NEW_MEMMAP) && !dev_priv->new_memmap)
+ {
+ DRM_ERROR("Cannot initialise DRM on this card\nThis card requires a new X.org DDX\n");
+ radeon_do_cleanup_cp(dev);
+ return DRM_ERR(EINVAL);
+ }
+
if (init->is_pci && (dev_priv->flags & CHIP_IS_AGP))
{
DRM_DEBUG("Forcing AGP card to PCI mode\n");