Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/pm: Unify version check in SMUv12

Use common helper function for firmware version check and logging in
SMUv12.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Lijo Lazar and committed by
Alex Deucher
353f2008 6b0a6116

+1 -39
-2
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v12_0.h
··· 35 35 36 36 int smu_v12_0_check_fw_status(struct smu_context *smu); 37 37 38 - int smu_v12_0_check_fw_version(struct smu_context *smu); 39 - 40 38 int smu_v12_0_powergate_sdma(struct smu_context *smu, bool gate); 41 39 42 40 int smu_v12_0_powergate_vcn(struct smu_context *smu, bool gate);
+1 -1
drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
··· 1457 1457 .get_power_profile_mode = renoir_get_power_profile_mode, 1458 1458 .read_sensor = renoir_read_sensor, 1459 1459 .check_fw_status = smu_v12_0_check_fw_status, 1460 - .check_fw_version = smu_v12_0_check_fw_version, 1460 + .check_fw_version = smu_cmn_check_fw_version, 1461 1461 .powergate_sdma = smu_v12_0_powergate_sdma, 1462 1462 .set_gfx_cgpg = smu_v12_0_set_gfx_cgpg, 1463 1463 .gfx_off_control = smu_v12_0_gfx_off_control,
-36
drivers/gpu/drm/amd/pm/swsmu/smu12/smu_v12_0.c
··· 70 70 return -EIO; 71 71 } 72 72 73 - int smu_v12_0_check_fw_version(struct smu_context *smu) 74 - { 75 - struct amdgpu_device *adev = smu->adev; 76 - uint32_t if_version = 0xff, smu_version = 0xff; 77 - uint8_t smu_program, smu_major, smu_minor, smu_debug; 78 - int ret = 0; 79 - 80 - ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version); 81 - if (ret) 82 - return ret; 83 - 84 - smu_program = (smu_version >> 24) & 0xff; 85 - smu_major = (smu_version >> 16) & 0xff; 86 - smu_minor = (smu_version >> 8) & 0xff; 87 - smu_debug = (smu_version >> 0) & 0xff; 88 - if (smu->is_apu) 89 - adev->pm.fw_version = smu_version; 90 - 91 - /* 92 - * 1. if_version mismatch is not critical as our fw is designed 93 - * to be backward compatible. 94 - * 2. New fw usually brings some optimizations. But that's visible 95 - * only on the paired driver. 96 - * Considering above, we just leave user a verbal message instead 97 - * of halt driver loading. 98 - */ 99 - if (if_version != smu->smc_driver_if_version) { 100 - dev_info(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, " 101 - "smu fw program = %d, smu fw version = 0x%08x (%d.%d.%d)\n", 102 - smu->smc_driver_if_version, if_version, 103 - smu_program, smu_version, smu_major, smu_minor, smu_debug); 104 - } 105 - 106 - return ret; 107 - } 108 - 109 73 int smu_v12_0_powergate_sdma(struct smu_context *smu, bool gate) 110 74 { 111 75 if (!smu->is_apu)