aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4539-drm-amdgpu-add-supports_baco-callback-for-soc15-asic.patch
diff options
context:
space:
mode:
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.patch70
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
+