lkml.org 
[lkml]   [2021]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.15 24/39] drm/amd/pm: Remove artificial freq level on Navi1x
    Date
    From: Lijo Lazar <lijo.lazar@amd.com>

    [ Upstream commit be83a5676767c99c2417083c29d42aa1e109a69d ]

    Print Navi1x fine grained clocks in a consistent manner with other SOCs.
    Don't show aritificial DPM level when the current clock equals min or max.

    Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 13 ++++++++-----
    1 file changed, 8 insertions(+), 5 deletions(-)

    diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
    index b1ad451af06bd..dfba0bc732073 100644
    --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
    +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
    @@ -1265,7 +1265,7 @@ static int navi10_print_clk_levels(struct smu_context *smu,
    enum smu_clk_type clk_type, char *buf)
    {
    uint16_t *curve_settings;
    - int i, size = 0, ret = 0;
    + int i, levels, size = 0, ret = 0;
    uint32_t cur_value = 0, value = 0, count = 0;
    uint32_t freq_values[3] = {0};
    uint32_t mark_index = 0;
    @@ -1319,14 +1319,17 @@ static int navi10_print_clk_levels(struct smu_context *smu,
    freq_values[1] = cur_value;
    mark_index = cur_value == freq_values[0] ? 0 :
    cur_value == freq_values[2] ? 2 : 1;
    - if (mark_index != 1)
    - freq_values[1] = (freq_values[0] + freq_values[2]) / 2;

    - for (i = 0; i < 3; i++) {
    + levels = 3;
    + if (mark_index != 1) {
    + levels = 2;
    + freq_values[1] = freq_values[2];
    + }
    +
    + for (i = 0; i < levels; i++) {
    size += sysfs_emit_at(buf, size, "%d: %uMhz %s\n", i, freq_values[i],
    i == mark_index ? "*" : "");
    }
    -
    }
    break;
    case SMU_PCIE:
    --
    2.33.0
    \
     
     \ /
      Last update: 2021-11-26 03:37    [W:4.199 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site