]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: Add always_migrate_to_vram modparam
authorMatthew Brost <matthew.brost@intel.com>
Thu, 6 Mar 2025 01:26:56 +0000 (17:26 -0800)
committerMatthew Brost <matthew.brost@intel.com>
Thu, 6 Mar 2025 19:36:57 +0000 (11:36 -0800)
Used to show we can bounce memory multiple times which will happen once
a real migration policy is implemented. Can be removed once migration
policy is implemented.

v3:
 - Pull some changes into the previous patch (Thomas)
 - Better commit message (Thomas)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250306012657.3505757-32-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_module.c
drivers/gpu/drm/xe/xe_module.h
drivers/gpu/drm/xe/xe_svm.c

index e861c694f3361bf0de4161c8ae7a065d2edaf94b..9f4632e39a1ad5776557633af06749c0c5606e78 100644 (file)
@@ -29,6 +29,9 @@ struct xe_modparam xe_modparam = {
 module_param_named(svm_notifier_size, xe_modparam.svm_notifier_size, uint, 0600);
 MODULE_PARM_DESC(svm_notifier_size, "Set the svm notifier size(in MiB), must be power of 2");
 
+module_param_named(always_migrate_to_vram, xe_modparam.always_migrate_to_vram, bool, 0444);
+MODULE_PARM_DESC(always_migrate_to_vram, "Always migrate to VRAM on GPU fault");
+
 module_param_named_unsafe(force_execlist, xe_modparam.force_execlist, bool, 0444);
 MODULE_PARM_DESC(force_execlist, "Force Execlist submission");
 
index 5a3bfea8b7b4c4b2cdbad318670ea7ebd4346697..84339e509c80d634f1365748f832c1d78ff70b56 100644 (file)
@@ -12,6 +12,7 @@
 struct xe_modparam {
        bool force_execlist;
        bool probe_display;
+       bool always_migrate_to_vram;
        u32 force_vram_bar_size;
        int guc_log_level;
        char *guc_firmware_path;
index d83fb694c5ebdcc0514b037384825318854bce00..516898e99b26ff409be8eb9bf1380f44b7c08e35 100644 (file)
@@ -822,6 +822,9 @@ retry_bind:
        }
        drm_exec_fini(&exec);
 
+       if (xe_modparam.always_migrate_to_vram)
+               range->skip_migrate = false;
+
        dma_fence_wait(fence, false);
        dma_fence_put(fence);