[PATCH] drm/amdgpu/soc15: fix using ip discovery tables on renoir (v2)

Alex Deucher alexdeucher at gmail.com
Fri Jun 5 15:40:29 UTC 2020

The PWR block moved into SMUIO, so the ip discovery table
doesn't have an entry for PWR, but the register has the
same absolute offset, so just patch up the offsets after
updating the offsets from the IP discovery table.

v2: PWR became SMUIO block 1.  fix the mapping.

Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
 drivers/gpu/drm/amd/amdgpu/soc15.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
index 623745b2d8b3..dd17a8422111 100644
--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
+++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
@@ -686,6 +686,9 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
 				DRM_WARN("failed to init reg base from ip discovery table, "
 					 "fallback to legacy init method\n");
+			} else {
+				/* PWR block was merged into SMUIO on renoir and became SMUIO block 1 */
+				adev->reg_offset[PWR_HWIP][0] = adev->reg_offset[SMUIO_HWIP][1];

More information about the amd-gfx mailing list