]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/gpu/drm/radeon/radeon_drv.c
drm/radeon: don't call irq changes on r600 suspend/resume
[linux-2.6-omap-h63xx.git] / drivers / gpu / drm / radeon / radeon_drv.c
index 71af746a4e4760d24c7c36e1141882b43117137a..13a60f4d42275f772c81a360d0c2d60fd83f8c17 100644 (file)
@@ -41,23 +41,15 @@ int radeon_no_wb;
 MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
 module_param_named(no_wb, radeon_no_wb, int, 0444);
 
-static int dri_library_name(struct drm_device *dev, char *buf)
-{
-       drm_radeon_private_t *dev_priv = dev->dev_private;
-       int family = dev_priv->flags & RADEON_FAMILY_MASK;
-
-       return snprintf(buf, PAGE_SIZE, "%s\n",
-                       (family < CHIP_R200) ? "radeon" :
-                       ((family < CHIP_R300) ? "r200" :
-                       "r300"));
-}
-
 static int radeon_suspend(struct drm_device *dev, pm_message_t state)
 {
        drm_radeon_private_t *dev_priv = dev->dev_private;
 
+       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+               return 0;
+
        /* Disable *all* interrupts */
-       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
+       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
                RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
        RADEON_WRITE(RADEON_GEN_INT_CNTL, 0);
        return 0;
@@ -67,8 +59,11 @@ static int radeon_resume(struct drm_device *dev)
 {
        drm_radeon_private_t *dev_priv = dev->dev_private;
 
+       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+               return 0;
+
        /* Restore interrupt registers */
-       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
+       if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
                RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg);
        RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg);
        return 0;
@@ -95,7 +90,8 @@ static struct drm_driver driver = {
        .get_vblank_counter = radeon_get_vblank_counter,
        .enable_vblank = radeon_enable_vblank,
        .disable_vblank = radeon_disable_vblank,
-       .dri_library_name = dri_library_name,
+       .master_create = radeon_master_create,
+       .master_destroy = radeon_master_destroy,
        .irq_preinstall = radeon_driver_irq_preinstall,
        .irq_postinstall = radeon_driver_irq_postinstall,
        .irq_uninstall = radeon_driver_irq_uninstall,