drm/amd/powerplay: implement sysfs of get num states function
add function smu_get_power_num_state function for sw-smu. it's only for sysfs interface, the power state feature is not ready for sw-smu. Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
143c75d651
commit
0989532330
|
@ -350,9 +350,13 @@ static ssize_t amdgpu_get_pp_num_states(struct device *dev,
|
|||
struct drm_device *ddev = dev_get_drvdata(dev);
|
||||
struct amdgpu_device *adev = ddev->dev_private;
|
||||
struct pp_states_info data;
|
||||
int i, buf_len;
|
||||
int i, buf_len, ret;
|
||||
|
||||
if (adev->powerplay.pp_funcs->get_pp_num_states)
|
||||
if (is_support_sw_smu(adev)) {
|
||||
ret = smu_get_power_num_states(&adev->smu, &data);
|
||||
if (ret)
|
||||
return ret;
|
||||
} else if (adev->powerplay.pp_funcs->get_pp_num_states)
|
||||
amdgpu_dpm_get_pp_num_states(adev, &data);
|
||||
|
||||
buf_len = snprintf(buf, PAGE_SIZE, "states: %d\n", data.nums);
|
||||
|
|
|
@ -29,6 +29,19 @@
|
|||
#include "smu_v11_0.h"
|
||||
#include "atom.h"
|
||||
|
||||
int smu_get_power_num_states(struct smu_context *smu,
|
||||
struct pp_states_info *state_info)
|
||||
{
|
||||
if (!state_info)
|
||||
return -EINVAL;
|
||||
|
||||
/* not support power state */
|
||||
memset(state_info, 0, sizeof(struct pp_states_info));
|
||||
state_info->nums = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor,
|
||||
void *data, uint32_t *size)
|
||||
{
|
||||
|
|
|
@ -381,5 +381,6 @@ int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor,
|
|||
void *data, uint32_t *size);
|
||||
int smu_sys_get_pp_table(struct smu_context *smu, void **table);
|
||||
int smu_sys_set_pp_table(struct smu_context *smu, void *buf, size_t size);
|
||||
int smu_get_power_num_states(struct smu_context *smu, struct pp_states_info *state_info);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue