aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1498-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/1498-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1498-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1498-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1498-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch
new file mode 100644
index 00000000..7771a39e
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1498-drm-amd-powerplay-use-REG32_PCIE-wrapper-instead-for.patch
@@ -0,0 +1,41 @@
+From a6a09610c185e2967ff6a73b1c83fb1638b1be63 Mon Sep 17 00:00:00 2001
+From: Huang Rui <ray.huang@amd.com>
+Date: Mon, 25 Feb 2019 14:46:03 +0800
+Subject: [PATCH 1498/2940] drm/amd/powerplay: use REG32_PCIE wrapper instead
+ for sw smu
+
+This patch uses REG32_PCIE wrapper instead of writting pci_index2 and reading
+pci_data2. This sequence should be protected by pcie_idx_lock.
+
+Signed-off-by: Huang Rui <ray.huang@amd.com>
+Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+index 77c7ac8001f4..a3c7d1d5176f 100644
+--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
++++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+@@ -211,14 +211,13 @@ static int smu_v11_0_check_fw_status(struct smu_context *smu)
+ struct amdgpu_device *adev = smu->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)
+ return 0;
++
+ return -EIO;
+ }
+
+--
+2.17.1
+