drm/amd/pm: Fix smuv13.0.6 current clock reporting
authorLijo Lazar <lijo.lazar@amd.com>
Thu, 11 Jan 2024 09:58:53 +0000 (15:28 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Jan 2024 23:33:08 +0000 (18:33 -0500)
When current clock is equal to max dpm level clock, the level is not
indicated correctly with *. Fix by comparing current clock against dpm
level value.

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>
Cc: stable@vger.kernel.org # 6.7.x
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c

index 7513d1cfeebd7194eae6c21d68e5bceef5902cc0..a28649f210933c03721c71e4e1fedb6935d00130 100644 (file)
@@ -970,7 +970,9 @@ static int smu_v13_0_6_print_clks(struct smu_context *smu, char *buf, int size,
                        if (i < (clocks.num_levels - 1))
                                clk2 = clocks.data[i + 1].clocks_in_khz / 1000;
 
-                       if (curr_clk >= clk1 && curr_clk < clk2) {
+                       if (curr_clk == clk1) {
+                               level = i;
+                       } else if (curr_clk >= clk1 && curr_clk < clk2) {
                                level = (curr_clk - clk1) <= (clk2 - curr_clk) ?
                                                i :
                                                i + 1;