diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1269-drm-amdkfd-Add-noretry-option-for-Vega10.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1269-drm-amdkfd-Add-noretry-option-for-Vega10.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1269-drm-amdkfd-Add-noretry-option-for-Vega10.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1269-drm-amdkfd-Add-noretry-option-for-Vega10.patch new file mode 100644 index 00000000..b76f3347 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1269-drm-amdkfd-Add-noretry-option-for-Vega10.patch @@ -0,0 +1,65 @@ +From 39465af9c9beb9b3be2bbd3b26e6028c0bf449ed 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 1269/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 317db15..7d37b9c 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 + |