mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: fill in vce clock info ioctl query (v2)
Returns the vce clock table for the user mode driver. The user mode driver can fill this data into vce clock data packet for optimal VCE DPM. v2: update to the new API Reviewed-by: Rex Zhu <Rex.Zhu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
597be302f1
commit
07fecde5d3
|
@ -524,6 +524,24 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||
return copy_to_user(out, &dev_info,
|
||||
min((size_t)size, sizeof(dev_info))) ? -EFAULT : 0;
|
||||
}
|
||||
case AMDGPU_INFO_VCE_CLOCK_TABLE: {
|
||||
unsigned i;
|
||||
struct drm_amdgpu_info_vce_clock_table vce_clk_table = {};
|
||||
struct amd_vce_state *vce_state;
|
||||
|
||||
for (i = 0; i < AMDGPU_VCE_CLOCK_TABLE_ENTRIES; i++) {
|
||||
vce_state = amdgpu_dpm_get_vce_clock_state(adev, i);
|
||||
if (vce_state) {
|
||||
vce_clk_table.entries[i].sclk = vce_state->sclk;
|
||||
vce_clk_table.entries[i].mclk = vce_state->mclk;
|
||||
vce_clk_table.entries[i].eclk = vce_state->evclk;
|
||||
vce_clk_table.num_valid_entries++;
|
||||
}
|
||||
}
|
||||
|
||||
return copy_to_user(out, &vce_clk_table,
|
||||
min((size_t)size, sizeof(vce_clk_table))) ? -EFAULT : 0;
|
||||
}
|
||||
default:
|
||||
DRM_DEBUG_KMS("Invalid request %d\n", info->query);
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue