Re: [PATCH 3/3] drm/amd: Read IMU FW version from scratch register during hw_init

2023-10-13 Thread Deucher, Alexander
[AMD Official Use Only - General]

Series is:
Reviewed-by: Alex Deucher 

From: amd-gfx  on behalf of Mario 
Limonciello 
Sent: Friday, October 13, 2023 3:26 PM
To: amd-gfx@lists.freedesktop.org 
Cc: Limonciello, Mario 
Subject: [PATCH 3/3] drm/amd: Read IMU FW version from scratch register during 
hw_init

If the IMU version wasn't discovered from the header, such as when
the firmware was directly loaded by PSP then there is no firmware
version to show to userspace from sysfs or IOCTL.

The IMU F/W stores the version in the first scratch register though,
so fetch it in these cases to let the driver export.

Signed-off-by: Mario Limonciello 
---
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index f0957d060750..154b20492123 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -4373,6 +4373,10 @@ static int gfx_v11_0_hw_init(void *handle)
 if (r)
 return r;

+   /* get IMU version from HW if it's not set */
+   if (!adev->gfx.imu_fw_version)
+   adev->gfx.imu_fw_version = RREG32_SOC15(GC, 0, 
regGFX_IMU_SCRATCH_0);
+
 return r;
 }

--
2.34.1



[PATCH 3/3] drm/amd: Read IMU FW version from scratch register during hw_init

2023-10-13 Thread Mario Limonciello
If the IMU version wasn't discovered from the header, such as when
the firmware was directly loaded by PSP then there is no firmware
version to show to userspace from sysfs or IOCTL.

The IMU F/W stores the version in the first scratch register though,
so fetch it in these cases to let the driver export.

Signed-off-by: Mario Limonciello 
---
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index f0957d060750..154b20492123 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -4373,6 +4373,10 @@ static int gfx_v11_0_hw_init(void *handle)
if (r)
return r;
 
+   /* get IMU version from HW if it's not set */
+   if (!adev->gfx.imu_fw_version)
+   adev->gfx.imu_fw_version = RREG32_SOC15(GC, 0, 
regGFX_IMU_SCRATCH_0);
+
return r;
 }
 
-- 
2.34.1