mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-05-08 09:18:04 +02:00
RS600: cleanup page table properly
This commit is contained in:
parent
b37a96750a
commit
ce6bde7ab9
3 changed files with 9 additions and 3 deletions
|
|
@ -427,7 +427,7 @@ static int r600_do_wait_for_idle(drm_radeon_private_t * dev_priv)
|
|||
return -EBUSY;
|
||||
}
|
||||
|
||||
static void r600_page_table_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
|
||||
void r600_page_table_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
|
||||
{
|
||||
#ifdef __linux__
|
||||
struct drm_sg_mem *entry = dev->sg;
|
||||
|
|
|
|||
|
|
@ -1467,8 +1467,13 @@ static int radeon_do_cleanup_cp(struct drm_device * dev)
|
|||
if (dev_priv->gart_info.bus_addr) {
|
||||
/* Turn off PCI GART */
|
||||
radeon_set_pcigart(dev_priv, 0);
|
||||
if (!drm_ati_pcigart_cleanup(dev, &dev_priv->gart_info))
|
||||
DRM_ERROR("failed to cleanup PCI GART!\n");
|
||||
|
||||
if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS600)
|
||||
r600_page_table_cleanup(dev, &dev_priv->gart_info);
|
||||
else {
|
||||
if (!drm_ati_pcigart_cleanup(dev, &dev_priv->gart_info))
|
||||
DRM_ERROR("failed to cleanup PCI GART!\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (dev_priv->gart_info.gart_table_location == DRM_ATI_GART_FB)
|
||||
|
|
|
|||
|
|
@ -459,6 +459,7 @@ int r600_engine_reset(struct drm_device * dev);
|
|||
void r600_do_cp_reset(drm_radeon_private_t * dev_priv);
|
||||
int r600_do_cleanup_cp(struct drm_device * dev);
|
||||
int r600_page_table_init(struct drm_device *dev);
|
||||
void r600_page_table_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info);
|
||||
|
||||
/* Flags for stats.boxes
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue