From b3a7c2b305ec6f895dc236f0c5f163bd4cbeb248 Mon Sep 17 00:00:00 2001 From: Sachit Kadle Date: Tue, 24 Jan 2017 10:22:13 -0800 Subject: gpu: nvgpu: vgpu: add devfreq support Add devfreq governor support in order to allow frequency scaling in virtualization config. GPU clock frequency operations are re-directed to the server over RPC. Bug 200237433 Change-Id: I1c8e565a4fff36d3456dc72ebb20795b7822650e Signed-off-by: Sachit Kadle Reviewed-on: http://git-master/r/1295542 (cherry picked from commit d5c956fc06697eda3829c67cb22987e538213b29) Reviewed-on: http://git-master/r/1280968 (cherry picked from commit 25e2b3cf7cb5559a6849c0024d42c157564a9be2) Reviewed-on: http://git-master/r/1321835 (cherry picked from commit f871b52fd3f553d6b6375a3c848fbca272ed8e29) Reviewed-on: http://git-master/r/1313468 Tested-by: Aparna Das Reviewed-by: Terje Bergstrom Reviewed-by: Richard Zhao GVS: Gerrit_Virtual_Submit --- include/linux/tegra_vgpu.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include') diff --git a/include/linux/tegra_vgpu.h b/include/linux/tegra_vgpu.h index 67f51806..4d1e1ac9 100644 --- a/include/linux/tegra_vgpu.h +++ b/include/linux/tegra_vgpu.h @@ -100,6 +100,8 @@ enum { TEGRA_VGPU_CMD_SUSPEND_CONTEXTS = 66, TEGRA_VGPU_CMD_RESUME_CONTEXTS = 67, TEGRA_VGPU_CMD_CLEAR_SM_ERROR_STATE = 68, + TEGRA_VGPU_CMD_GET_GPU_CLK_RATE = 69, + TEGRA_VGPU_CMD_GET_GPU_FREQ_TABLE = 70, TEGRA_VGPU_CMD_PROF_MGT = 72, TEGRA_VGPU_CMD_GET_TIMESTAMPS_ZIPPER = 74, }; @@ -485,6 +487,13 @@ struct tegra_vgpu_prof_mgt_params { u32 mode; }; +#define TEGRA_VGPU_GPU_FREQ_TABLE_SIZE 25 + +struct tegra_vgpu_get_gpu_freq_table_params { + u32 num_freqs; + u32 freqs[TEGRA_VGPU_GPU_FREQ_TABLE_SIZE]; /* in kHz */ +}; + struct tegra_vgpu_cmd_msg { u32 cmd; int ret; @@ -536,6 +545,7 @@ struct tegra_vgpu_cmd_msg { struct tegra_vgpu_clear_sm_error_state clear_sm_error_state; struct tegra_vgpu_prof_mgt_params prof_management; struct tegra_vgpu_get_timestamps_zipper_params get_timestamps_zipper; + struct tegra_vgpu_get_gpu_freq_table_params get_gpu_freq_table; char padding[192]; } params; }; -- cgit v1.2.2