aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch
new file mode 100644
index 00000000..89fad3f5
--- /dev/null
+++ b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1672-drm-amdkfd-Add-noretry-option-for-Vega10.patch
@@ -0,0 +1,65 @@
+From 7bd15b7cf7abae75f2e67ceeb64026ca0c34ecff Mon Sep 17 00:00:00 2001
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+Date: Fri, 28 Apr 2017 17:57:47 -0400
+Subject: [PATCH 1672/4131] drm/amdkfd: Add noretry option for Vega10
+
+Option to set sh_mem_config.retry_disable to help measure performance
+impact.
+
+Change-Id: I47324e7367f89f9d7228bd2fee503a823150dbc7
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c | 3 +++
+ drivers/gpu/drm/amd/amdkfd/kfd_module.c | 5 +++++
+ drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 5 +++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c
+index 2d81e2b..786ea88 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c
+@@ -62,6 +62,9 @@ static int update_qpd_v9(struct device_queue_manager *dqm,
+ qpd->sh_mem_config =
+ SH_MEM_ALIGNMENT_MODE_UNALIGNED <<
+ SH_MEM_CONFIG__ALIGNMENT_MODE__SHIFT;
++ if (vega10_noretry)
++ qpd->sh_mem_config |=
++ 1 << SH_MEM_CONFIG__RETRY_DISABLE__SHIFT;
+
+ qpd->sh_mem_ape1_limit = 0;
+ qpd->sh_mem_ape1_base = 0;
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
+index a529fe1..e6876f6 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
+@@ -85,6 +85,11 @@ module_param(ignore_crat, int, 0444);
+ MODULE_PARM_DESC(ignore_crat,
+ "Ignore CRAT table during KFD initialization (0 = use CRAT (default), 1 = ignore CRAT)");
+
++int vega10_noretry;
++module_param_named(noretry, vega10_noretry, int, 0644);
++MODULE_PARM_DESC(noretry,
++ "Set sh_mem_config.retry_disable on Vega10 (0 = retry enabled (default), 1 = retry disabled)");
++
+ int kgd2kfd_init(unsigned interface_version, const struct kgd2kfd_calls **g2f)
+ {
+ if (!amdkfd_init_completed)
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+index 66d1c1b..798919b 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+@@ -133,6 +133,11 @@ extern int debug_largebar;
+ */
+ extern int ignore_crat;
+
++/*
++ * Set sh_mem_config.retry_disable on Vega10
++ */
++extern int vega10_noretry;
++
+ /**
+ * enum kfd_sched_policy
+ *
+--
+2.7.4
+