aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch
new file mode 100644
index 00000000..eb2d028a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1470-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch
@@ -0,0 +1,53 @@
+From 89af93e1cafc6ad063bac3710d801f44d7dbbcf8 Mon Sep 17 00:00:00 2001
+From: Huang Rui <ray.huang@amd.com>
+Date: Mon, 25 Feb 2019 14:54:20 +0800
+Subject: [PATCH 1470/2940] drm/amd/powerplay: use REG32_PCIE wrapper instead
+ for powerplay
+
+This patch uses REG32_PCIE wrapper instead of writting pci_index2 and reading
+pci_data2 for powerplay. This sequence should be protected by pcie_idx_lock.
+
+Signed-off-by: Huang Rui <ray.huang@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/smumgr/smu9_smumgr.c | 6 ++----
+ drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c | 6 ++----
+ 2 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu9_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smu9_smumgr.c
+index 079fc8e8f709..742b3dc1f6cb 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu9_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu9_smumgr.c
+@@ -40,10 +40,8 @@ bool smu9_is_smc_ram_running(struct pp_hwmgr *hwmgr)
+ struct amdgpu_device *adev = hwmgr->adev;
+ uint32_t mp1_fw_flags;
+
+- WREG32_SOC15(NBIF, 0, mmPCIE_INDEX2,
+- (MP1_Public | (smnMP1_FIRMWARE_FLAGS & 0xffffffff)));
+-
+- mp1_fw_flags = RREG32_SOC15(NBIF, 0, mmPCIE_DATA2);
++ mp1_fw_flags = RREG32_PCIE(MP1_Public |
++ (smnMP1_FIRMWARE_FLAGS & 0xffffffff));
+
+ if (mp1_fw_flags & MP1_FIRMWARE_FLAGS__INTERRUPTS_ENABLED_MASK)
+ return true;
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
+index b7ff7d4d6f44..ba00744c3413 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
+@@ -49,10 +49,8 @@ static bool vega20_is_smc_ram_running(struct pp_hwmgr *hwmgr)
+ struct amdgpu_device *adev = hwmgr->adev;
+ uint32_t mp1_fw_flags;
+
+- WREG32_SOC15(NBIF, 0, mmPCIE_INDEX2,
+- (MP1_Public | (smnMP1_FIRMWARE_FLAGS & 0xffffffff)));
+-
+- mp1_fw_flags = RREG32_SOC15(NBIF, 0, mmPCIE_DATA2);
++ mp1_fw_flags = RREG32_PCIE(MP1_Public |
++ (smnMP1_FIRMWARE_FLAGS & 0xffffffff));
+
+ if ((mp1_fw_flags & MP1_FIRMWARE_FLAGS__INTERRUPTS_ENABLED_MASK) >>
+ MP1_FIRMWARE_FLAGS__INTERRUPTS_ENABLED__SHIFT)
+--
+2.17.1
+