aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch
new file mode 100644
index 00000000..17b5cc90
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3984-drm-amdgpu-vi-implement-asic-need_full_reset-callbac.patch
@@ -0,0 +1,58 @@
+From 14bbd19d285b6c8f5284e7c2945965c383801730 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 29 Mar 2018 14:39:28 -0500
+Subject: [PATCH 3984/4131] drm/amdgpu/vi: implement asic need_full_reset
+ callback
+
+Used to check on a per SoC basis whether the SoC needs
+a full reset of a per IP soft reset.
+
+Reviewed-by: Huang Rui <ray.huang@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/vi.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
+index ba2a06c..789ffd2 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vi.c
++++ b/drivers/gpu/drm/amd/amdgpu/vi.c
+@@ -919,6 +919,27 @@ static void vi_invalidate_hdp(struct amdgpu_device *adev,
+ }
+ }
+
++static bool vi_need_full_reset(struct amdgpu_device *adev)
++{
++ switch (adev->asic_type) {
++ case CHIP_CARRIZO:
++ case CHIP_STONEY:
++ /* CZ has hang issues with full reset at the moment */
++ return false;
++ case CHIP_FIJI:
++ case CHIP_TONGA:
++ /* XXX: soft reset should work on fiji and tonga */
++ return true;
++ case CHIP_POLARIS10:
++ case CHIP_POLARIS11:
++ case CHIP_POLARIS12:
++ case CHIP_TOPAZ:
++ default:
++ /* change this when we support soft reset */
++ return true;
++ }
++}
++
+ static const struct amdgpu_asic_funcs vi_asic_funcs =
+ {
+ .read_disabled_bios = &vi_read_disabled_bios,
+@@ -932,6 +953,7 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =
+ .get_config_memsize = &vi_get_config_memsize,
+ .flush_hdp = &vi_flush_hdp,
+ .invalidate_hdp = &vi_invalidate_hdp,
++ .need_full_reset = &vi_need_full_reset,
+ };
+
+ #define CZ_REV_BRISTOL(rev) \
+--
+2.7.4
+