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>
This commit is contained in:
committed by
Dave Airlie
parent
06f0a488c1
commit
41f13fe81d
@@ -172,7 +172,6 @@ int r600_page_table_init(struct drm_device *dev)
|
|||||||
if (entry->busaddr[i] == 0) {
|
if (entry->busaddr[i] == 0) {
|
||||||
DRM_ERROR("unable to map PCIGART pages!\n");
|
DRM_ERROR("unable to map PCIGART pages!\n");
|
||||||
r600_page_table_cleanup(dev, gart_info);
|
r600_page_table_cleanup(dev, gart_info);
|
||||||
ret = -EINVAL;
|
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
entry_addr = entry->busaddr[i];
|
entry_addr = entry->busaddr[i];
|
||||||
@@ -191,6 +190,7 @@ int r600_page_table_init(struct drm_device *dev)
|
|||||||
entry_addr += ATI_PCIGART_PAGE_SIZE;
|
entry_addr += ATI_PCIGART_PAGE_SIZE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ret = 1;
|
||||||
done:
|
done:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -2095,7 +2095,7 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
|
|||||||
dev_priv->gart_info.addr,
|
dev_priv->gart_info.addr,
|
||||||
dev_priv->pcigart_offset);
|
dev_priv->pcigart_offset);
|
||||||
|
|
||||||
if (r600_page_table_init(dev)) {
|
if (!r600_page_table_init(dev)) {
|
||||||
DRM_ERROR("Failed to init GART table\n");
|
DRM_ERROR("Failed to init GART table\n");
|
||||||
r600_do_cleanup_cp(dev);
|
r600_do_cleanup_cp(dev);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
Reference in New Issue
Block a user