Skip to content

Commit b485b89

Browse files
Asad Kamalalexdeucher
authored andcommitted
drm/amd/pm: Fix esm reg mask use to get pcie speed
Fix mask used for esm ctrl register to get pcie link speed on smu_v11_0_3, smu_v13_0_2 & smu_v13_0_6 Fixes: 511a955 ("drm/amd/pm: Add SMU 13.0.6 support") Fixes: c05d1c4 ("drm/amd/swsmu: add aldebaran smu13 ip support (v3)") Fixes: f1c3785 ("drm/amd/powerplay: add Arcturus support for gpu metrics export") Signed-off-by: Asad Kamal <asad.kamal@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Le Ma <le.ma@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent a3c4581 commit b485b89

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2272,8 +2272,8 @@ static uint16_t arcturus_get_current_pcie_link_speed(struct smu_context *smu)
22722272

22732273
/* TODO: confirm this on real target */
22742274
esm_ctrl = RREG32_PCIE(smnPCIE_ESM_CTRL);
2275-
if ((esm_ctrl >> 15) & 0x1FFFF)
2276-
return (uint16_t)(((esm_ctrl >> 8) & 0x3F) + 128);
2275+
if ((esm_ctrl >> 15) & 0x1)
2276+
return (uint16_t)(((esm_ctrl >> 8) & 0x7F) + 128);
22772277

22782278
return smu_v11_0_get_current_pcie_link_speed(smu);
22792279
}

drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1683,8 +1683,8 @@ static int aldebaran_get_current_pcie_link_speed(struct smu_context *smu)
16831683

16841684
/* TODO: confirm this on real target */
16851685
esm_ctrl = RREG32_PCIE(smnPCIE_ESM_CTRL);
1686-
if ((esm_ctrl >> 15) & 0x1FFFF)
1687-
return (((esm_ctrl >> 8) & 0x3F) + 128);
1686+
if ((esm_ctrl >> 15) & 0x1)
1687+
return (((esm_ctrl >> 8) & 0x7F) + 128);
16881688

16891689
return smu_v13_0_get_current_pcie_link_speed(smu);
16901690
}

drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2148,8 +2148,8 @@ static int smu_v13_0_6_get_current_pcie_link_speed(struct smu_context *smu)
21482148

21492149
/* TODO: confirm this on real target */
21502150
esm_ctrl = RREG32_PCIE(smnPCIE_ESM_CTRL);
2151-
if ((esm_ctrl >> 15) & 0x1FFFF)
2152-
return (((esm_ctrl >> 8) & 0x3F) + 128);
2151+
if ((esm_ctrl >> 15) & 0x1)
2152+
return (((esm_ctrl >> 8) & 0x7F) + 128);
21532153

21542154
speed_level = (RREG32_PCIE(smnPCIE_LC_SPEED_CNTL) &
21552155
PCIE_LC_SPEED_CNTL__LC_CURRENT_DATA_RATE_MASK)

0 commit comments

Comments
 (0)