drm/nouveau: fix regression causing ttm to not be able to evict vram

TTM assumes an error condition from man->func->get_node() means that
something went horribly wrong, and causes it to bail.

The driver is supposed to return 0, and leave mm_node == NULL to
signal that it couldn't allocate any memory.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by Ben Skeggs and committed by Dave Airlie ef1b2871 fb62c00a

+5 -3
+4 -2
drivers/gpu/drm/nouveau/nouveau_mem.c
··· 725 ret = vram->get(dev, mem->num_pages << PAGE_SHIFT, 726 mem->page_alignment << PAGE_SHIFT, size_nc, 727 (nvbo->tile_flags >> 8) & 0xff, &node); 728 - if (ret) 729 - return ret; 730 731 node->page_shift = 12; 732 if (nvbo->vma.node)
··· 725 ret = vram->get(dev, mem->num_pages << PAGE_SHIFT, 726 mem->page_alignment << PAGE_SHIFT, size_nc, 727 (nvbo->tile_flags >> 8) & 0xff, &node); 728 + if (ret) { 729 + mem->mm_node = NULL; 730 + return (ret == -ENOSPC) ? 0 : ret; 731 + } 732 733 node->page_shift = 12; 734 if (nvbo->vma.node)
+1 -1
drivers/gpu/drm/nouveau/nouveau_mm.c
··· 123 return 0; 124 } 125 126 - return -ENOMEM; 127 } 128 129 int
··· 123 return 0; 124 } 125 126 + return -ENOSPC; 127 } 128 129 int