diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch new file mode 100644 index 00000000..aae0cba9 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch @@ -0,0 +1,70 @@ +From 72042998f27c98580d9b30c17eab504fad1389dc Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Tue, 15 Oct 2019 16:23:31 -0400 +Subject: [PATCH 4539/4736] drm/amdgpu: add supports_baco callback for soc15 + asics. (v2) + +BACO - Bus Active, Chip Off + +Check the BACO capabilities from the powerplay table. + +v2: drop unrelated struct cleanup + +Reviewed-by: Evan Quan <evan.quan@amd.com> (v1) +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/soc15.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c +index 41724a368d76..92230f1af2dd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -601,6 +601,28 @@ static int soc15_asic_reset(struct amdgpu_device *adev) + } + } + ++static bool soc15_supports_baco(struct amdgpu_device *adev) ++{ ++ bool baco_support; ++ ++ switch (adev->asic_type) { ++ case CHIP_VEGA10: ++ case CHIP_VEGA12: ++ soc15_asic_get_baco_capability(adev, &baco_support); ++ break; ++ case CHIP_VEGA20: ++ if (adev->psp.sos_fw_version >= 0x80067) ++ soc15_asic_get_baco_capability(adev, &baco_support); ++ else ++ baco_support = false; ++ break; ++ default: ++ return false; ++ } ++ ++ return baco_support; ++} ++ + /*static int soc15_set_uvd_clock(struct amdgpu_device *adev, u32 clock, + u32 cntl_reg, u32 status_reg) + { +@@ -1003,6 +1025,7 @@ static const struct amdgpu_asic_funcs soc15_asic_funcs = + .get_pcie_usage = &soc15_get_pcie_usage, + .need_reset_on_init = &soc15_need_reset_on_init, + .get_pcie_replay_count = &soc15_get_pcie_replay_count, ++ .supports_baco = &soc15_supports_baco, + }; + + static const struct amdgpu_asic_funcs vega20_asic_funcs = +@@ -1024,6 +1047,7 @@ static const struct amdgpu_asic_funcs vega20_asic_funcs = + .get_pcie_usage = &vega20_get_pcie_usage, + .need_reset_on_init = &soc15_need_reset_on_init, + .get_pcie_replay_count = &soc15_get_pcie_replay_count, ++ .supports_baco = &soc15_supports_baco, + }; + + static int soc15_common_early_init(void *handle) +-- +2.17.1 + |