Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

+18
+18
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
··· 524 524 return copy_to_user(out, &dev_info, 525 525 min((size_t)size, sizeof(dev_info))) ? -EFAULT : 0; 526 526 } 527 + case AMDGPU_INFO_VCE_CLOCK_TABLE: { 528 + unsigned i; 529 + struct drm_amdgpu_info_vce_clock_table vce_clk_table = {}; 530 + struct amd_vce_state *vce_state; 531 + 532 + for (i = 0; i < AMDGPU_VCE_CLOCK_TABLE_ENTRIES; i++) { 533 + vce_state = amdgpu_dpm_get_vce_clock_state(adev, i); 534 + if (vce_state) { 535 + vce_clk_table.entries[i].sclk = vce_state->sclk; 536 + vce_clk_table.entries[i].mclk = vce_state->mclk; 537 + vce_clk_table.entries[i].eclk = vce_state->evclk; 538 + vce_clk_table.num_valid_entries++; 539 + } 540 + } 541 + 542 + return copy_to_user(out, &vce_clk_table, 543 + min((size_t)size, sizeof(vce_clk_table))) ? -EFAULT : 0; 544 + } 527 545 default: 528 546 DRM_DEBUG_KMS("Invalid request %d\n", info->query); 529 547 return -EINVAL;