aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch
new file mode 100644
index 00000000..47666b97
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4155-drm-amdgpu-powerplay-add-core-support-for-pre-SOC15-.patch
@@ -0,0 +1,83 @@
+From 57a7d38e14d4b5eda2b000265b9714fc137b83df Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Sun, 10 Feb 2019 21:57:55 -0500
+Subject: [PATCH 4155/4736] drm/amdgpu/powerplay: add core support for
+ pre-SOC15 baco
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This adds core support for BACO on pre-vega asics.
+
+Reviewed-by: Evan Quan <evan.quan@amd.com>
+Acked-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../gpu/drm/amd/powerplay/hwmgr/common_baco.c | 19 +++++++++++++++++++
+ .../gpu/drm/amd/powerplay/hwmgr/common_baco.h | 13 +++++++++++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.c b/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.c
+index 9c57c1f67749..1c73776bd606 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.c
+@@ -79,6 +79,25 @@ static bool baco_cmd_handler(struct pp_hwmgr *hwmgr, u32 command, u32 reg, u32 m
+ return ret;
+ }
+
++bool baco_program_registers(struct pp_hwmgr *hwmgr,
++ const struct baco_cmd_entry *entry,
++ const u32 array_size)
++{
++ u32 i, reg = 0;
++
++ for (i = 0; i < array_size; i++) {
++ if ((entry[i].cmd == CMD_WRITE) ||
++ (entry[i].cmd == CMD_READMODIFYWRITE) ||
++ (entry[i].cmd == CMD_WAITFOR))
++ reg = entry[i].reg_offset;
++ if (!baco_cmd_handler(hwmgr, entry[i].cmd, reg, entry[i].mask,
++ entry[i].shift, entry[i].val, entry[i].timeout))
++ return false;
++ }
++
++ return true;
++}
++
+ bool soc15_baco_program_registers(struct pp_hwmgr *hwmgr,
+ const struct soc15_baco_cmd_entry *entry,
+ const u32 array_size)
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.h b/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.h
+index 95296c916f4e..8393eb62706d 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.h
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/common_baco.h
+@@ -33,6 +33,15 @@ enum baco_cmd_type {
+ CMD_DELAY_US,
+ };
+
++struct baco_cmd_entry {
++ enum baco_cmd_type cmd;
++ uint32_t reg_offset;
++ uint32_t mask;
++ uint32_t shift;
++ uint32_t timeout;
++ uint32_t val;
++};
++
+ struct soc15_baco_cmd_entry {
+ enum baco_cmd_type cmd;
+ uint32_t hwip;
+@@ -44,6 +53,10 @@ struct soc15_baco_cmd_entry {
+ uint32_t timeout;
+ uint32_t val;
+ };
++
++extern bool baco_program_registers(struct pp_hwmgr *hwmgr,
++ const struct baco_cmd_entry *entry,
++ const u32 array_size);
+ extern bool soc15_baco_program_registers(struct pp_hwmgr *hwmgr,
+ const struct soc15_baco_cmd_entry *entry,
+ const u32 array_size);
+--
+2.17.1
+