diff options
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.patch | 53 |
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 + |