aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch
new file mode 100644
index 00000000..803f26ae
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4732-drm-amdgpu-enable-gfxoff-feature-for-navi10-asic.patch
@@ -0,0 +1,51 @@
+From 632865701bdeaa26154bbd51bb351d73e7df5370 Mon Sep 17 00:00:00 2001
+From: Kevin Wang <kevin1.wang@amd.com>
+Date: Wed, 11 Dec 2019 17:30:26 +0800
+Subject: [PATCH 4732/4736] drm/amdgpu: enable gfxoff feature for navi10 asic
+
+enable gfxoff feature for some navi10 asics
+
+Signed-off-by: Kevin Wang <kevin1.wang@amd.com>
+Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+index ed630d37c32c..6b8f21574c7c 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+@@ -605,11 +605,29 @@ static void gfx_v10_0_init_rlc_ext_microcode(struct amdgpu_device *adev)
+ le32_to_cpu(rlc_hdr->reg_list_format_direct_reg_list_length);
+ }
+
++static bool gfx_v10_0_navi10_gfxoff_should_enable(struct amdgpu_device *adev)
++{
++ bool ret = false;
++
++ switch (adev->pdev->revision) {
++ case 0xc2:
++ case 0xc3:
++ ret = true;
++ break;
++ default:
++ ret = false;
++ break;
++ }
++
++ return ret ;
++}
++
+ static void gfx_v10_0_check_gfxoff_flag(struct amdgpu_device *adev)
+ {
+ switch (adev->asic_type) {
+ case CHIP_NAVI10:
+- adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
++ if (!gfx_v10_0_navi10_gfxoff_should_enable(adev))
++ adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
+ break;
+ default:
+ break;
+--
+2.17.1
+