[PATCH] drm/amd/pp: Print out voltage/clock range in sysfs
Alex Deucher
alexdeucher at gmail.com
Thu Apr 19 03:14:39 UTC 2018
On Wed, Apr 18, 2018 at 10:50 PM, Rex Zhu <Rex.Zhu at amd.com> wrote:
> when user cat pp_od_clk_voltage
> add display info about the sclk/mclk/vddc range that user can overdrive
> as:
> OD_SCLK:
> 0: 300MHz 900 mV
> 1: 400MHz 912 mV
> 2: 500MHz 925 mV
> 3: 600MHz 937 mV
> 4: 700MHz 950 mV
> 5: 800MHz 975 mV
> 6: 900MHz 987 mV
> 7: 1000MHz 1000 mV
> OD_MCLK:
> 0: 300MHz 900 mV
> 1: 1500MHz 912 mV
> OD_RANGE:
> SCLK: 300MHz 1200MHz
> MCLK: 300MHz 1500MHz
> VDDC: 700mV 1200mV
>
> also
> 1. remove unnecessary whitespace before a quoted newline
> 2. change unit of frequency Mhz to MHz
While you are here, you could also make the spacing consistent between
the values and the units. e.g.,
300MHz vs 300 MHz
or
700mV vs 700 mV
Either way:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 1 +
> drivers/gpu/drm/amd/include/kgd_pp_interface.h | 1 +
> drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 22 ++++++++++++++++++----
> 3 files changed, 20 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> index 744f105..8f968bc 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
> @@ -437,6 +437,7 @@ static ssize_t amdgpu_get_pp_od_clk_voltage(struct device *dev,
> if (adev->powerplay.pp_funcs->print_clock_levels) {
> size = amdgpu_dpm_print_clock_levels(adev, OD_SCLK, buf);
> size += amdgpu_dpm_print_clock_levels(adev, OD_MCLK, buf+size);
> + size += amdgpu_dpm_print_clock_levels(adev, OD_RANGE, buf+size);
> return size;
> } else {
> return snprintf(buf, PAGE_SIZE, "\n");
> diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> index 01969b1..06f08f3 100644
> --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> @@ -94,6 +94,7 @@ enum pp_clock_type {
> PP_PCIE,
> OD_SCLK,
> OD_MCLK,
> + OD_RANGE,
> };
>
> enum amd_pp_sensors {
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> index 966b5b1..df8fa99 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> @@ -4335,22 +4335,36 @@ static int smu7_print_clock_levels(struct pp_hwmgr *hwmgr,
> break;
> case OD_SCLK:
> if (hwmgr->od_enabled) {
> - size = sprintf(buf, "%s: \n", "OD_SCLK");
> + size = sprintf(buf, "%s:\n", "OD_SCLK");
> for (i = 0; i < odn_sclk_table->num_of_pl; i++)
> - size += sprintf(buf + size, "%d: %10uMhz %10u mV\n",
> + size += sprintf(buf + size, "%d: %10uMHz %10u mV\n",
> i, odn_sclk_table->entries[i].clock / 100,
> odn_sclk_table->entries[i].vddc);
> }
> break;
> case OD_MCLK:
> if (hwmgr->od_enabled) {
> - size = sprintf(buf, "%s: \n", "OD_MCLK");
> + size = sprintf(buf, "%s:\n", "OD_MCLK");
> for (i = 0; i < odn_mclk_table->num_of_pl; i++)
> - size += sprintf(buf + size, "%d: %10uMhz %10u mV\n",
> + size += sprintf(buf + size, "%d: %10uMHz %10u mV\n",
> i, odn_mclk_table->entries[i].clock / 100,
> odn_mclk_table->entries[i].vddc);
> }
> break;
> + case OD_RANGE:
> + if (hwmgr->od_enabled) {
> + size = sprintf(buf, "%s:\n", "OD_RANGE");
> + size += sprintf(buf + size, "SCLK: %7uMHz %10uMHz\n",
> + data->golden_dpm_table.sclk_table.dpm_levels[0].value / 100,
> + hwmgr->platform_descriptor.overdriveLimit.engineClock / 100);
> + size += sprintf(buf + size, "MCLK: %7uMHz %10uMHz\n",
> + data->golden_dpm_table.mclk_table.dpm_levels[0].value / 100,
> + hwmgr->platform_descriptor.overdriveLimit.memoryClock / 100);
> + size += sprintf(buf + size, "VDDC: %7umV %11umV\n",
> + data->odn_dpm_table.min_vddc,
> + data->odn_dpm_table.max_vddc);
> + }
> + break;
> default:
> break;
> }
> --
> 1.9.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list