]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Mon, 26 Jun 2023 18:17:39 +0000 (20:17 +0200)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:04 +0000 (11:35 -0500)
commit3439cc46619a3f31780cbd4f820384f9586d5ee1
treeb7ca7cbeab9ff95b5f4bbf2e22461761a6183908
parentbc2e0215deeaa88dec44ff07e3a2b19283d53cdb
drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo

When creating a new bo, on the first move the bo->resource is typically
NULL. Our move callback rejected that instructing TTM to create a system
resource. In addition a struct ttm_tt with a page-vector was created,
although not populated with pages. Similarly when the clearing of VRAM
was complete, the system resource was put on a ghost object and freed
using the TTM delayed destroy mechanism.

This is a lot of pointless work. So avoid creating the system resource and
instead change the code to cope with a NULL bo->resource.

v2:
- Add some code comments (Matthew Brost)
v3:
- Fix a dereference of old_mem which might be NULL.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230626181741.32820-3-thomas.hellstrom@linux.intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_bo.c