aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-03-16 15:37:02 -0400
committerDave Airlie <airlied@redhat.com>2009-03-18 00:18:15 -0400
commit41f13fe81dd1b08723ab9f3fc3c7f29cfa81f1a5 (patch)
tree8b74288bdba96cf65c06c55338c81e4205aa14bc /drivers/gpu
parent06f0a488c1b642d3cd7769da66600e5148c3fad8 (diff)
drm/radeon: fix logic in r600_page_table_init() to match ati_gart
This fixes page table init on rs600. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/r600_cp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
index 76eb0d5ab570..9d14eee3ed09 100644
--- a/drivers/gpu/drm/radeon/r600_cp.c
+++ b/drivers/gpu/drm/radeon/r600_cp.c
@@ -172,7 +172,6 @@ int r600_page_table_init(struct drm_device *dev)
172 if (entry->busaddr[i] == 0) { 172 if (entry->busaddr[i] == 0) {
173 DRM_ERROR("unable to map PCIGART pages!\n"); 173 DRM_ERROR("unable to map PCIGART pages!\n");
174 r600_page_table_cleanup(dev, gart_info); 174 r600_page_table_cleanup(dev, gart_info);
175 ret = -EINVAL;
176 goto done; 175 goto done;
177 } 176 }
178 entry_addr = entry->busaddr[i]; 177 entry_addr = entry->busaddr[i];
@@ -191,6 +190,7 @@ int r600_page_table_init(struct drm_device *dev)
191 entry_addr += ATI_PCIGART_PAGE_SIZE; 190 entry_addr += ATI_PCIGART_PAGE_SIZE;
192 } 191 }
193 } 192 }
193 ret = 1;
194done: 194done:
195 return ret; 195 return ret;
196} 196}
@@ -2095,7 +2095,7 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
2095 dev_priv->gart_info.addr, 2095 dev_priv->gart_info.addr,
2096 dev_priv->pcigart_offset); 2096 dev_priv->pcigart_offset);
2097 2097
2098 if (r600_page_table_init(dev)) { 2098 if (!r600_page_table_init(dev)) {
2099 DRM_ERROR("Failed to init GART table\n"); 2099 DRM_ERROR("Failed to init GART table\n");
2100 r600_do_cleanup_cp(dev); 2100 r600_do_cleanup_cp(dev);
2101 return -EINVAL; 2101 return -EINVAL;