radeon: don't use ring if cp not going
authorDave Airlie <airlied@redhat.com>
Mon, 4 Aug 2008 04:56:08 +0000 (14:56 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 4 Aug 2008 04:56:08 +0000 (14:56 +1000)
linux-core/radeon_buffer.c

index e9ba11d..a4ac38c 100644 (file)
@@ -55,10 +55,14 @@ int radeon_invalidate_caches(struct drm_device * dev, uint64_t flags)
        drm_radeon_private_t *dev_priv = dev->dev_private;
        RING_LOCALS;
 
+       if (!dev_priv->cp_running)
+               return 0;
+
        BEGIN_RING(4);
        RADEON_FLUSH_CACHE();
        RADEON_FLUSH_ZCACHE();
        ADVANCE_RING();
+       COMMIT_RING();
        return 0;
 }