Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/nouveau: switch the TTM backends to self alloc

Similar to the TTM range manager.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210602100914.46246-8-christian.koenig@amd.com

+5
+1
drivers/gpu/drm/nouveau/nouveau_mem.h
··· 13 13 } 14 14 15 15 struct nouveau_mem { 16 + struct ttm_resource base; 16 17 struct nouveau_cli *cli; 17 18 u8 kind; 18 19 u8 comp;
+4
drivers/gpu/drm/nouveau/nouveau_ttm.c
··· 58 58 if (ret) 59 59 return ret; 60 60 61 + ttm_resource_init(bo, place, reg->mm_node); 62 + 61 63 ret = nouveau_mem_vram(reg, nvbo->contig, nvbo->page); 62 64 if (ret) { 63 65 nouveau_mem_del(reg); ··· 88 86 if (ret) 89 87 return ret; 90 88 89 + ttm_resource_init(bo, place, reg->mm_node); 91 90 reg->start = 0; 92 91 return 0; 93 92 } ··· 114 111 if (ret) 115 112 return ret; 116 113 114 + ttm_resource_init(bo, place, reg->mm_node); 117 115 ret = nvif_vmm_get(&mem->cli->vmm.vmm, PTES, false, 12, 0, 118 116 (long)reg->num_pages << PAGE_SHIFT, &mem->vma[0]); 119 117 if (ret) {