Some ASICs support low-power functionality for the whole ASIC or just an IP block. When in such low-power mode, some sysfs interfaces would report a frequency of 0, e.g., $cat /sys/class/drm/card0/device/pp_dpm_sclk 0: 500Mhz 1: 0Mhz * 2: 2200Mhz $_ An operating frequency of 0 MHz doesn't make sense, and this interface is designed to report only operating clock frequencies, i.e. non-zero, and possibly the current one. When in this low-power state, round to the smallest operating frequency, for this interface, as follows, $cat /sys/class/drm/card0/device/pp_dpm_sclk 0: 500Mhz * 1: 2200Mhz $_ v2: Fix description to reflect change in patch 1--add an 's'. v3: Don't tag a current if current is 0. v4: Verbalize some subject titles. Luben Tuikov (5): drm/amd/pm: Rename a couple of functions (v3) drm/amd/pm: Rename cur_value to curr_value drm/amd/pm: Rename freq_values --> freq_value dpm/amd/pm: Sienna: Remove 0 MHz as a current clock frequency (v3) dpm/amd/pm: Navi10: Remove 0 MHz as a current clock frequency (v3) .../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 57 ++++++++------ .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 74 ++++++++++++------- 2 files changed, 83 insertions(+), 48 deletions(-) base-commit: d1065882691179f507a7c6aba0477eb7d1935ebd -- 2.33.1.558.g2bd2f258f4