diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2023-01-13 01:25:17 +0300 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-12 22:06:00 +0300 |
commit | d8b52a02cb40fe355374e8b0b89763fefc697b53 (patch) | |
tree | e25066ce3f491d2ead799509af8799a65d8f4267 /drivers/gpu/drm/xe/xe_device.c | |
parent | 765b65e5bde79a9e8332c58f54a98e20fdb25fc7 (diff) | |
download | linux-d8b52a02cb40fe355374e8b0b89763fefc697b53.tar.xz |
drm/xe: Implement stolen memory.
This adds support for stolen memory, with the same allocator as
vram_mgr. This allows us to skip a whole lot of copy-paste,
by re-using parts of xe_ttm_vram_mgr.
The stolen memory may be bound using VM_BIND, so it performs like any
other memory region.
We should be able to map a stolen BO directly using the physical memory
location instead of through GGTT even on old platforms, but I don't know
what the effects are on coherency.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_device.c')
-rw-r--r-- | drivers/gpu/drm/xe/xe_device.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 93dea2b9c464..104ab12cc2ed 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -25,6 +25,7 @@ #include "xe_pcode.h" #include "xe_pm.h" #include "xe_query.h" +#include "xe_ttm_stolen_mgr.h" #include "xe_vm.h" #include "xe_vm_madvise.h" #include "xe_wait_user_fence.h" @@ -256,6 +257,9 @@ int xe_device_probe(struct xe_device *xe) goto err_irq_shutdown; } + /* Allocate and map stolen after potential VRAM resize */ + xe_ttm_stolen_mgr_init(xe); + for_each_gt(gt, xe, id) { err = xe_gt_init(gt); if (err) |