[PATCH] drm/amd/pm: Fix DPM level count on aldebaran

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

 



[AMD Public Use]


Firmware returns zero-based max level, increment by one to get

total levels. This fixes the issue of not showing all levels and current

frequency when frequency is at max DPM level.

 

Signed-off-by: Lijo Lazar lijo.lazar@xxxxxxx

---

drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 12 ++++++++----

1 file changed, 8 insertions(+), 4 deletions(-)

 

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 1f860969ea1c..30c9ac635105 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

@@ -1710,10 +1710,14 @@ int smu_v13_0_get_dpm_level_count(struct smu_context *smu,

                                                                 enum smu_clk_type clk_type,

                                                                 uint32_t *value)

{

-              return smu_v13_0_get_dpm_freq_by_index(smu,

-                                                                                     clk_type,

-                                                                                     0xff,

-                                                                                     value);

+             int ret;

+

+             ret = smu_v13_0_get_dpm_freq_by_index(smu, clk_type, 0xff, value);

+             /* FW returns 0 based max level, increment by one */

+             if (!ret && value)

+                             ++(*value);

+

+             return ret;

}

 int smu_v13_0_set_single_dpm_table(struct smu_context *smu,

--

2.17.1

 

_______________________________________________
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