diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3467-drm-amdgpu-gfx9-update-pg_flags-after-determining-if.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3467-drm-amdgpu-gfx9-update-pg_flags-after-determining-if.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3467-drm-amdgpu-gfx9-update-pg_flags-after-determining-if.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3467-drm-amdgpu-gfx9-update-pg_flags-after-determining-if.patch new file mode 100644 index 00000000..5d580f7c --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3467-drm-amdgpu-gfx9-update-pg_flags-after-determining-if.patch @@ -0,0 +1,56 @@ +From 0dd6f0b7dbf79233a263b6d0e2493e978cc253a7 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Thu, 15 Aug 2019 08:27:09 -0500 +Subject: [PATCH 3467/4256] drm/amdgpu/gfx9: update pg_flags after determining + if gfx off is possible + +We need to set certain power gating flags after we determine +if the firmware version is sufficient to support gfxoff. +Previously we set the pg flags in early init, but we later +we might have disabled gfxoff if the firmware versions didn't +support it. Move adding the additional pg flags after we +determine whether or not to support gfxoff. + +Fixes: 005440066f92 ("drm/amdgpu: enable gfxoff again on raven series (v2)") +Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Cc: Kai-Heng Feng <kai.heng.feng@canonical.com> +--- + drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++++ + drivers/gpu/drm/amd/amdgpu/soc15.c | 5 ----- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +index 5c8107dc8803..155a8699adb8 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +@@ -1037,6 +1037,10 @@ static void gfx_v9_0_check_if_need_gfxoff(struct amdgpu_device *adev) + (adev->gfx.rlc_feature_version < 1) || + !adev->gfx.rlc.is_rlc_v2_1) + adev->pm.pp_feature &= ~PP_GFXOFF_MASK; ++ if (adev->pm.pp_feature & PP_GFXOFF_MASK) ++ adev->pg_flags |= AMD_PG_SUPPORT_GFX_PG | ++ AMD_PG_SUPPORT_CP | ++ AMD_PG_SUPPORT_RLC_SMU_HS; + break; + default: + break; +diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c +index 77e679920c1c..2cf61946f3f1 100644 +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -1133,11 +1133,6 @@ static int soc15_common_early_init(void *handle) + + adev->pg_flags = AMD_PG_SUPPORT_SDMA | AMD_PG_SUPPORT_VCN; + } +- +- if (adev->pm.pp_feature & PP_GFXOFF_MASK) +- adev->pg_flags |= AMD_PG_SUPPORT_GFX_PG | +- AMD_PG_SUPPORT_CP | +- AMD_PG_SUPPORT_RLC_SMU_HS; + break; + case CHIP_ARCTURUS: + adev->asic_funcs = &vega20_asic_funcs; +-- +2.17.1 + |