drm/ttm: add TTM_TT_FLAG_EXTERNAL_MAPPABLE
authorMatthew Auld <matthew.auld@intel.com>
Wed, 29 Sep 2021 13:26:29 +0000 (14:26 +0100)
committerChristian König <christian.koenig@amd.com>
Wed, 29 Sep 2021 14:18:43 +0000 (16:18 +0200)
commit49e7f76fc514cecf2cad1303fa74d99be7e5d9a6
treea6d3bbef93cab42511fc29f9fb9b4b86301d74e4
parenta5a3dd42fe1314a77972d8682156078de3d0410d
drm/ttm: add TTM_TT_FLAG_EXTERNAL_MAPPABLE

In commit:

commit 667a50db0477d47fdff01c666f5ee1ce26b5264c
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Fri Jan 3 11:17:18 2014 +0100

    drm/ttm: Refuse to fault (prime-) imported pages

we introduced the restriction that imported pages should not be directly
mappable through TTM(this also extends to userptr). In the next patch we
want to introduce a shmem_tt backend, which should follow all the
existing rules with TTM_PAGE_FLAG_EXTERNAL, since it will need to handle
swapping itself, but with the above mapping restriction lifted.

v2(Christian):
  - Don't OR together EXTERNAL and EXTERNAL_MAPPABLE in the definition
    of EXTERNAL_MAPPABLE, just leave it the caller to handle this
    correctly, otherwise we might encounter subtle issues.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210929132629.353541-3-matthew.auld@intel.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/ttm/ttm_bo_vm.c
drivers/gpu/drm/ttm/ttm_tt.c
include/drm/ttm/ttm_tt.h