aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch
new file mode 100644
index 00000000..b2442824
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0948-drm-amd-powerplay-Tidy-up-smu7_enable_didt.patch
@@ -0,0 +1,76 @@
+From bb94b96a9e0fe0f1d6b39a9c4d351c63def21242 Mon Sep 17 00:00:00 2001
+From: Tom St Denis <tom.stdenis@amd.com>
+Date: Tue, 12 Sep 2017 10:05:48 -0400
+Subject: [PATCH 0948/4131] drm/amd/powerplay: Tidy up smu7_enable_didt()
+
+Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c | 29 ++++++----------------
+ 1 file changed, 8 insertions(+), 21 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
+index 25c302a..d1000d2 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c
+@@ -672,7 +672,6 @@ static int smu7_enable_didt(struct pp_hwmgr *hwmgr, const bool enable)
+ uint32_t block_en = 0;
+ int32_t result = 0;
+ uint32_t didt_block;
+- uint32_t data;
+
+ if (hwmgr->chip_id == CHIP_POLARIS11)
+ didt_block = Polaris11_DIDTBlock_Info;
+@@ -680,41 +679,29 @@ static int smu7_enable_didt(struct pp_hwmgr *hwmgr, const bool enable)
+ didt_block = DIDTBlock_Info;
+
+ block_en = PP_CAP(PHM_PlatformCaps_SQRamping) ? en : 0;
+-
+- data = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_SQ_CTRL0);
+- data &= ~DIDT_SQ_CTRL0__DIDT_CTRL_EN_MASK;
+- data |= ((block_en << DIDT_SQ_CTRL0__DIDT_CTRL_EN__SHIFT) & DIDT_SQ_CTRL0__DIDT_CTRL_EN_MASK);
+- cgs_write_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_SQ_CTRL0, data);
++ CGS_WREG32_FIELD_IND(hwmgr->device, CGS_IND_REG__DIDT,
++ DIDT_SQ_CTRL0, DIDT_CTRL_EN, block_en);
+ didt_block &= ~SQ_Enable_MASK;
+ didt_block |= block_en << SQ_Enable_SHIFT;
+
+ block_en = PP_CAP(PHM_PlatformCaps_DBRamping) ? en : 0;
+-
+- data = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_DB_CTRL0);
+- data &= ~DIDT_DB_CTRL0__DIDT_CTRL_EN_MASK;
+- data |= ((block_en << DIDT_DB_CTRL0__DIDT_CTRL_EN__SHIFT) & DIDT_DB_CTRL0__DIDT_CTRL_EN_MASK);
+- cgs_write_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_DB_CTRL0, data);
++ CGS_WREG32_FIELD_IND(hwmgr->device, CGS_IND_REG__DIDT,
++ DIDT_DB_CTRL0, DIDT_CTRL_EN, block_en);
+ didt_block &= ~DB_Enable_MASK;
+ didt_block |= block_en << DB_Enable_SHIFT;
+
+ block_en = PP_CAP(PHM_PlatformCaps_TDRamping) ? en : 0;
+- data = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_TD_CTRL0);
+- data &= ~DIDT_TD_CTRL0__DIDT_CTRL_EN_MASK;
+- data |= ((block_en << DIDT_TD_CTRL0__DIDT_CTRL_EN__SHIFT) & DIDT_TD_CTRL0__DIDT_CTRL_EN_MASK);
+- cgs_write_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_TD_CTRL0, data);
++ CGS_WREG32_FIELD_IND(hwmgr->device, CGS_IND_REG__DIDT,
++ DIDT_TD_CTRL0, DIDT_CTRL_EN, block_en);
+ didt_block &= ~TD_Enable_MASK;
+ didt_block |= block_en << TD_Enable_SHIFT;
+
+ block_en = PP_CAP(PHM_PlatformCaps_TCPRamping) ? en : 0;
+-
+- data = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_TCP_CTRL0);
+- data &= ~DIDT_TCP_CTRL0__DIDT_CTRL_EN_MASK;
+- data |= ((block_en << DIDT_TCP_CTRL0__DIDT_CTRL_EN__SHIFT) & DIDT_TCP_CTRL0__DIDT_CTRL_EN_MASK);
+- cgs_write_ind_register(hwmgr->device, CGS_IND_REG__DIDT, ixDIDT_TCP_CTRL0, data);
++ CGS_WREG32_FIELD_IND(hwmgr->device, CGS_IND_REG__DIDT,
++ DIDT_TCP_CTRL0, DIDT_CTRL_EN, block_en);
+ didt_block &= ~TCP_Enable_MASK;
+ didt_block |= block_en << TCP_Enable_SHIFT;
+
+-
+ if (enable)
+ result = smum_send_msg_to_smc_with_parameter(hwmgr->smumgr, PPSMC_MSG_Didt_Block_Function, didt_block);
+
+--
+2.7.4
+