Re: [PATCH 3/3] drm/amd/pm: Downgrade SMU mismatch information messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 7/30/2021 8:10 AM, Mario Limonciello wrote:
The SMU driver interface and firmware interface messages have comments
indicating that they are backwards compatible.  Don't output at WARN
level and scare people there is a problem.  Instead bring it down to
INFO level and the details about the mismatch into DEBUG levels.


That comment is misleading. We are more lenient on Linux that at least we consider it as warning. On a Windows driver this mismatch is treated as error. We need to keep the warn level.

Thanks,
Lijo

Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
  drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 15 ++++++++-------
  drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c | 15 ++++++++-------
  drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 17 +++++++++--------
  3 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index b5419e8eba89..1fb2129899e5 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -224,17 +224,12 @@ int smu_v11_0_check_fw_version(struct smu_context *smu)
  {
  	struct amdgpu_device *adev = smu->adev;
  	uint32_t if_version = 0xff, smu_version = 0xff;
-	uint16_t smu_major;
-	uint8_t smu_minor, smu_debug;
  	int ret = 0;
ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version);
  	if (ret)
  		return ret;
- smu_major = (smu_version >> 16) & 0xffff;
-	smu_minor = (smu_version >> 8) & 0xff;
-	smu_debug = (smu_version >> 0) & 0xff;
  	if (smu->is_apu)
  		adev->pm.fw_version = smu_version;
@@ -284,11 +279,17 @@ int smu_v11_0_check_fw_version(struct smu_context *smu)
  	 * of halt driver loading.
  	 */
  	if (if_version != smu->smc_driver_if_version) {
-		dev_info(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
+		uint8_t smu_minor, smu_debug;
+		uint16_t smu_major;
+
+		smu_major = (smu_version >> 16) & 0xffff;
+		smu_minor = (smu_version >> 8) & 0xff;
+		smu_debug = (smu_version >> 0) & 0xff;
+		dev_dbg(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
  			"smu fw version = 0x%08x (%d.%d.%d)\n",
  			smu->smc_driver_if_version, if_version,
  			smu_version, smu_major, smu_minor, smu_debug);
-		dev_warn(smu->adev->dev, "SMU driver if version not matched\n");
+		dev_info(smu->adev->dev, "SMU driver if version not matched\n");
  	}
return ret;
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c
index d60b8c5e8715..ddd6bd5c78d7 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c
@@ -74,17 +74,12 @@ int smu_v12_0_check_fw_version(struct smu_context *smu)
  {
  	struct amdgpu_device *adev = smu->adev;
  	uint32_t if_version = 0xff, smu_version = 0xff;
-	uint16_t smu_major;
-	uint8_t smu_minor, smu_debug;
  	int ret = 0;
ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version);
  	if (ret)
  		return ret;
- smu_major = (smu_version >> 16) & 0xffff;
-	smu_minor = (smu_version >> 8) & 0xff;
-	smu_debug = (smu_version >> 0) & 0xff;
  	if (smu->is_apu)
  		adev->pm.fw_version = smu_version;
@@ -97,11 +92,17 @@ int smu_v12_0_check_fw_version(struct smu_context *smu)
  	 * of halt driver loading.
  	 */
  	if (if_version != smu->smc_driver_if_version) {
-		dev_info(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
+		uint8_t smu_minor, smu_debug;
+		uint16_t smu_major;
+
+		smu_major = (smu_version >> 16) & 0xffff;
+		smu_minor = (smu_version >> 8) & 0xff;
+		smu_debug = (smu_version >> 0) & 0xff;
+		dev_dbg(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
  			"smu fw version = 0x%08x (%d.%d.%d)\n",
  			smu->smc_driver_if_version, if_version,
  			smu_version, smu_major, smu_minor, smu_debug);
-		dev_warn(smu->adev->dev, "SMU driver if version not matched\n");
+		dev_info(smu->adev->dev, "SMU driver if version not matched\n");
  	}
return ret;
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
index 9c99c51740a1..242d3cc6a79b 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
@@ -194,18 +194,12 @@ int smu_v13_0_check_fw_status(struct smu_context *smu)
  int smu_v13_0_check_fw_version(struct smu_context *smu)
  {
  	uint32_t if_version = 0xff, smu_version = 0xff;
-	uint16_t smu_major;
-	uint8_t smu_minor, smu_debug;
  	int ret = 0;
ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version);
  	if (ret)
  		return ret;
- smu_major = (smu_version >> 16) & 0xffff;
-	smu_minor = (smu_version >> 8) & 0xff;
-	smu_debug = (smu_version >> 0) & 0xff;
-
  	switch (smu->adev->asic_type) {
  	case CHIP_ALDEBARAN:
  		smu->smc_driver_if_version = SMU13_DRIVER_IF_VERSION_ALDE;
@@ -228,11 +222,18 @@ int smu_v13_0_check_fw_version(struct smu_context *smu)
  	 * of halt driver loading.
  	 */
  	if (if_version != smu->smc_driver_if_version) {
-		dev_info(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
+		uint8_t smu_minor, smu_debug;
+		uint16_t smu_major;
+
+		smu_major = (smu_version >> 16) & 0xffff;
+		smu_minor = (smu_version >> 8) & 0xff;
+		smu_debug = (smu_version >> 0) & 0xff;
+
+		dev_dbg(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
  			 "smu fw version = 0x%08x (%d.%d.%d)\n",
  			 smu->smc_driver_if_version, if_version,
  			 smu_version, smu_major, smu_minor, smu_debug);
-		dev_warn(smu->adev->dev, "SMU driver if version not matched\n");
+		dev_info(smu->adev->dev, "SMU driver if version not matched\n");
  	}
return ret;

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux