Merge remote branch 'nouveau/drm-nouveau-fixes' of /ssd/git/drm-nouveau-next into drm-fixes
* 'nouveau/drm-nouveau-fixes' of /ssd/git/drm-nouveau-next: drm/nouveau: Fix a crash at card takedown for NV40 and older cards
This commit is contained in:
@@ -152,8 +152,6 @@ nouveau_mem_vram_fini(struct drm_device *dev)
|
|||||||
{
|
{
|
||||||
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
||||||
|
|
||||||
nouveau_bo_ref(NULL, &dev_priv->vga_ram);
|
|
||||||
|
|
||||||
ttm_bo_device_release(&dev_priv->ttm.bdev);
|
ttm_bo_device_release(&dev_priv->ttm.bdev);
|
||||||
|
|
||||||
nouveau_ttm_global_release(dev_priv);
|
nouveau_ttm_global_release(dev_priv);
|
||||||
|
@@ -768,6 +768,11 @@ static void nouveau_card_takedown(struct drm_device *dev)
|
|||||||
engine->mc.takedown(dev);
|
engine->mc.takedown(dev);
|
||||||
engine->display.late_takedown(dev);
|
engine->display.late_takedown(dev);
|
||||||
|
|
||||||
|
if (dev_priv->vga_ram) {
|
||||||
|
nouveau_bo_unpin(dev_priv->vga_ram);
|
||||||
|
nouveau_bo_ref(NULL, &dev_priv->vga_ram);
|
||||||
|
}
|
||||||
|
|
||||||
mutex_lock(&dev->struct_mutex);
|
mutex_lock(&dev->struct_mutex);
|
||||||
ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
|
ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
|
||||||
ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
|
ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
|
||||||
|
Reference in New Issue
Block a user