mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
drm/amd/powerplay: add power consumption display support in debugfs
The additional output are: vddc power in Watt; vddci power in Watt; max gpu power in Watt; average gpu power in Watt. Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cd7b0c66ce
commit
4f9afc9bd2
2 changed files with 19 additions and 0 deletions
|
@ -1533,6 +1533,7 @@ void amdgpu_pm_compute_clocks(struct amdgpu_device *adev)
|
|||
static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *adev)
|
||||
{
|
||||
uint32_t value;
|
||||
struct pp_gpu_power query = {0};
|
||||
|
||||
/* sanity check PP is enabled */
|
||||
if (!(adev->powerplay.pp_funcs &&
|
||||
|
@ -1549,6 +1550,16 @@ static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *a
|
|||
seq_printf(m, "\t%u mV (VDDGFX)\n", value);
|
||||
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDNB, (void *)&value))
|
||||
seq_printf(m, "\t%u mV (VDDNB)\n", value);
|
||||
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_POWER, (void *)&query)) {
|
||||
seq_printf(m, "\t%u.%u W (VDDC)\n", query.vddc_power >> 8,
|
||||
query.vddc_power & 0xff);
|
||||
seq_printf(m, "\t%u.%u W (VDDCI)\n", query.vddci_power >> 8,
|
||||
query.vddci_power & 0xff);
|
||||
seq_printf(m, "\t%u.%u W (max GPU)\n", query.max_gpu_power >> 8,
|
||||
query.max_gpu_power & 0xff);
|
||||
seq_printf(m, "\t%u.%u W (average GPU)\n", query.average_gpu_power >> 8,
|
||||
query.average_gpu_power & 0xff);
|
||||
}
|
||||
seq_printf(m, "\n");
|
||||
|
||||
/* GPU Temp */
|
||||
|
|
|
@ -46,6 +46,7 @@ enum amd_pp_sensors {
|
|||
AMDGPU_PP_SENSOR_GPU_TEMP,
|
||||
AMDGPU_PP_SENSOR_VCE_POWER,
|
||||
AMDGPU_PP_SENSOR_UVD_POWER,
|
||||
AMDGPU_PP_SENSOR_GPU_POWER,
|
||||
};
|
||||
|
||||
enum amd_pp_event {
|
||||
|
@ -295,6 +296,13 @@ struct pp_states_info {
|
|||
uint32_t states[16];
|
||||
};
|
||||
|
||||
struct pp_gpu_power {
|
||||
uint32_t vddc_power;
|
||||
uint32_t vddci_power;
|
||||
uint32_t max_gpu_power;
|
||||
uint32_t average_gpu_power;
|
||||
};
|
||||
|
||||
#define PP_GROUP_MASK 0xF0000000
|
||||
#define PP_GROUP_SHIFT 28
|
||||
|
||||
|
|
Loading…
Reference in a new issue