[PATCH v2 0/3] Implement parallel sysfs_emit solution for navi10

Quan, Evan Evan.Quan at amd.com
Mon Jan 24 03:01:52 UTC 2022


[AMD Official Use Only]

The whole idea seems fine to me. Just some nitpicks for patch1 and patch3.

BR
Evan
> -----Original Message-----
> From: Powell, Darren <Darren.Powell at amd.com>
> Sent: Saturday, January 22, 2022 11:47 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Powell, Darren <Darren.Powell at amd.com>
> Subject: [PATCH v2 0/3] Implement parallel sysfs_emit solution for navi10
> 
> == Description ==
> Scnprintf use within the kernel is not recommended, but simple sysfs_emit
> replacement has not been successful due to the page alignment
> requirement of the function. This patch set implements a new api
> "emit_clock_levels" to facilitate passing both the base and offset to the
> device rather than just the write pointer.
> This patch is only implemented for navi10 for some clocks to seek comment
> on the implementation before extending the implementation to other clock
> values and devices.
> 
> Needs to be verified on a platform that supports the overclocking
> 
>    (v2)
>       Update to apply on commit 801771de03
>       adjust printing of empty carriage return only if size == 0
>       change return from amdgpu_dpm_emit_clock_levels if emit_clock_levels
> not found
> 
> == Patch Summary ==
>    linux: (git at gitlab.freedesktop.org:agd5f) origin/amd-staging-drm-next @
> 28907fd9e048
>     + f83a3144ede4 amdgpu/pm: Implement new API function "emit" that
> accepts buffer base and write offset
>     + 82de36426a1f amdgpu/pm: insert attempt to call emit_clock_levels into
> amdgpu_get_pp_od_clk_voltage
>     + 32f0fcf45dd8 amdgpu/pm: Add Error Handling to emit_clocks stack
> 
> == System Summary ==
>  * DESKTOP(AMD FX-8350 + NAVI10(731F/ca), BIOS: F2)
>   + ISO(Ubuntu 20.04.3 LTS)
>   + Kernel(5.13.0-fdoagd5f-20220112-g28907fd9e0)
> 
> == Test ==
> LOGFILE=pp_clk.test.log
> AMDGPU_PCI_ADDR=`lspci -nn | grep "VGA\|Display" | cut -d " " -f 1`
> AMDGPU_HWMON=`ls -la /sys/class/hwmon | grep $AMDGPU_PCI_ADDR |
> awk '{print $9}'` HWMON_DIR=/sys/class/hwmon/${AMDGPU_HWMON}
> 
> lspci -nn | grep "VGA\|Display"  > $LOGFILE FILES="pp_od_clk_voltage
> pp_dpm_sclk pp_dpm_mclk pp_dpm_pcie pp_dpm_socclk pp_dpm_fclk
> pp_dpm_dcefclk pp_dpm_vclk pp_dpm_dclk "
> 
> for f in $FILES
> do
>   echo === $f === >> $LOGFILE
>   cat $HWMON_DIR/device/$f >> $LOGFILE
> done
> cat $LOGFILE
> 
> Darren Powell (3):
>   amdgpu/pm: Implement new API function "emit" that accepts buffer base
>     and write offset
>   amdgpu/pm: insert attempt to call emit_clock_levels into
>     amdgpu_get_pp_od_clk_voltage
>   amdgpu/pm: Add Error Handling to emit_clocks stack
> 
>  .../gpu/drm/amd/include/kgd_pp_interface.h    |   1 +
>  drivers/gpu/drm/amd/pm/amdgpu_dpm.c           |  21 ++
>  drivers/gpu/drm/amd/pm/amdgpu_pm.c            |  49 +++--
>  drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h       |   4 +
>  drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c     |  44 +++-
>  drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h |  14 ++
>  .../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c   | 188
> ++++++++++++++++++
>  7 files changed, 302 insertions(+), 19 deletions(-)
> 
> 
> base-commit: 28907fd9e04859fab86a143271d29ff0ff043154
> --
> 2.34.1


More information about the amd-gfx mailing list