diff options
-rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index 0a8be63926d8..e0465b2cde39 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c | |||
@@ -634,7 +634,10 @@ int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr) | |||
634 | return -EINVAL; | 634 | return -EINVAL; |
635 | } | 635 | } |
636 | addr = addr & 0xFFFFFFFFFFFFF000ULL; | 636 | addr = addr & 0xFFFFFFFFFFFFF000ULL; |
637 | addr |= R600_PTE_GART; | 637 | if (addr == rdev->dummy_page.addr) |
638 | addr |= R600_PTE_SYSTEM | R600_PTE_SNOOPED; | ||
639 | else | ||
640 | addr |= R600_PTE_GART; | ||
638 | writeq(addr, ptr + (i * 8)); | 641 | writeq(addr, ptr + (i * 8)); |
639 | return 0; | 642 | return 0; |
640 | } | 643 | } |