mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
amdgpu/pm: Create shared array of power profile name strings
== Description ==
All the power profile modes use the same strings (or a subset of)
Creating a public array of the strings will allow sharing rather than
duplicating for each chip
First patch only implements change for navi10, followup with other chips
== Changes ==
Create a declaration of the public array in kgd_pp_interface.h
Define the public array in amdgpu_pm.c
Modify the implementaiton of navi10_get_power_profile_mode to use new array
== Test ==
LOGFILE=pp_profile_strings.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_power_profile_mode "
for f in $FILES
do
echo === $f === >> $LOGFILE
cat $HWMON_DIR/device/$f >> $LOGFILE
done
cat $LOGFILE
Signed-off-by: Darren Powell <darren.powell@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
3c2d6ea279
commit
3867e3704f
|
|
@ -153,6 +153,10 @@ enum PP_SMC_POWER_PROFILE {
|
|||
PP_SMC_POWER_PROFILE_COUNT,
|
||||
};
|
||||
|
||||
extern const char * const amdgpu_pp_profile_name[PP_SMC_POWER_PROFILE_COUNT];
|
||||
|
||||
|
||||
|
||||
enum {
|
||||
PP_GROUP_UNKNOWN = 0,
|
||||
PP_GROUP_GFX = 1,
|
||||
|
|
|
|||
|
|
@ -82,6 +82,16 @@ static const struct hwmon_temp_label {
|
|||
{PP_TEMP_MEM, "mem"},
|
||||
};
|
||||
|
||||
const char * const amdgpu_pp_profile_name[] = {
|
||||
"BOOTUP_DEFAULT",
|
||||
"3D_FULL_SCREEN",
|
||||
"POWER_SAVING",
|
||||
"VIDEO",
|
||||
"VR",
|
||||
"COMPUTE",
|
||||
"CUSTOM"
|
||||
};
|
||||
|
||||
/**
|
||||
* DOC: power_dpm_state
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1713,14 +1713,6 @@ static int navi10_get_power_profile_mode(struct smu_context *smu, char *buf)
|
|||
DpmActivityMonitorCoeffInt_t activity_monitor;
|
||||
uint32_t i, size = 0;
|
||||
int16_t workload_type = 0;
|
||||
static const char *profile_name[] = {
|
||||
"BOOTUP_DEFAULT",
|
||||
"3D_FULL_SCREEN",
|
||||
"POWER_SAVING",
|
||||
"VIDEO",
|
||||
"VR",
|
||||
"COMPUTE",
|
||||
"CUSTOM"};
|
||||
static const char *title[] = {
|
||||
"PROFILE_INDEX(NAME)",
|
||||
"CLOCK_TYPE(NAME)",
|
||||
|
|
@ -1759,7 +1751,7 @@ static int navi10_get_power_profile_mode(struct smu_context *smu, char *buf)
|
|||
}
|
||||
|
||||
size += sysfs_emit_at(buf, size, "%2d %14s%s:\n",
|
||||
i, profile_name[i], (i == smu->power_profile_mode) ? "*" : " ");
|
||||
i, amdgpu_pp_profile_name[i], (i == smu->power_profile_mode) ? "*" : " ");
|
||||
|
||||
size += sysfs_emit_at(buf, size, "%19s %d(%13s) %7d %7d %7d %7d %7d %7d %7d %7d %7d\n",
|
||||
" ",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user