summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2023-06-19 00:47:32 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2023-06-19 00:47:32 +0000
commitaf461716882d2148083ad4977d222a769209c81b (patch)
treedbda4f9e9f378f2285b34645b8a1086aa504f0f5 /sys
parent47c78ead50a00c62a9925d971eb7b2eaa1eae925 (diff)
drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp
From Tim Huang f05f3fcc782445b707b998859d9a03410ecbdb73 in linux-6.1.y/6.1.33 f1373a97a41f429e0095d4be388092ffa3c1a157 in mainline linux
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c b/sys/dev/pci/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c
index 04e56b0b303..798f36cfceb 100644
--- a/sys/dev/pci/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c
+++ b/sys/dev/pci/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c
@@ -1000,7 +1000,7 @@ out:
static int yellow_carp_print_clk_levels(struct smu_context *smu,
enum smu_clk_type clk_type, char *buf)
{
- int i, size = 0, ret = 0;
+ int i, idx, size = 0, ret = 0;
uint32_t cur_value = 0, value = 0, count = 0;
uint32_t min, max;
@@ -1033,7 +1033,8 @@ static int yellow_carp_print_clk_levels(struct smu_context *smu,
goto print_clk_out;
for (i = 0; i < count; i++) {
- ret = yellow_carp_get_dpm_freq_by_index(smu, clk_type, i, &value);
+ idx = (clk_type == SMU_FCLK || clk_type == SMU_MCLK) ? (count - i - 1) : i;
+ ret = yellow_carp_get_dpm_freq_by_index(smu, clk_type, idx, &value);
if (ret)
goto print_clk_out;