diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4724-drm-amdgpu-add-condition-to-enable-baco-for-ras-reco.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4724-drm-amdgpu-add-condition-to-enable-baco-for-ras-reco.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4724-drm-amdgpu-add-condition-to-enable-baco-for-ras-reco.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4724-drm-amdgpu-add-condition-to-enable-baco-for-ras-reco.patch new file mode 100644 index 00000000..4857af18 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4724-drm-amdgpu-add-condition-to-enable-baco-for-ras-reco.patch @@ -0,0 +1,60 @@ +From 09a07770eb015b075f2f1914e972f12ccb471e3c Mon Sep 17 00:00:00 2001 +From: Le Ma <le.ma@amd.com> +Date: Tue, 26 Nov 2019 17:56:58 +0800 +Subject: [PATCH 4724/4736] drm/amdgpu: add condition to enable baco for ras + recovery + +Switch to baco reset method for ras recovery if the PMFW supported. +If not, keep the original reset method. + +v2: revise the condition + +Change-Id: I07c3e6862be03e068745c73db8ea71f428ecba6b +Signed-off-by: Le Ma <le.ma@amd.com> +Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/soc15.c | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c +index 3a2ec932c0bb..512d42b23603 100644 +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -556,7 +556,8 @@ static int soc15_mode2_reset(struct amdgpu_device *adev) + static enum amd_reset_method + soc15_asic_reset_method(struct amdgpu_device *adev) + { +- bool baco_reset; ++ bool baco_reset = false; ++ struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); + + switch (adev->asic_type) { + case CHIP_RAVEN: +@@ -570,18 +571,15 @@ soc15_asic_reset_method(struct amdgpu_device *adev) + case CHIP_VEGA20: + if (adev->psp.sos_fw_version >= 0x80067) + soc15_asic_get_baco_capability(adev, &baco_reset); +- else +- baco_reset = false; +- if (baco_reset) { +- struct amdgpu_hive_info *hive = amdgpu_get_xgmi_hive(adev, 0); +- struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); + +- if (hive || (ras && ras->supported)) +- baco_reset = false; +- } ++ /* ++ * 1. PMFW version > 0x284300: all cases use baco ++ * 2. PMFW version <= 0x284300: only sGPU w/o RAS use baco ++ */ ++ if ((ras && ras->supported) && adev->pm.fw_version <= 0x283400) ++ baco_reset = false; + break; + default: +- baco_reset = false; + break; + } + +-- +2.17.1 + |