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 --- drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c') diff --git a/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c index e33fc29f..f2c877f9 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_vgpu_tegra.c @@ -16,6 +16,7 @@ #include "gk20a.h" #include "hal_gk20a.h" #include "platform_gk20a.h" +#include "vgpu/clk_vgpu.h" #include @@ -23,7 +24,14 @@ static int gk20a_tegra_probe(struct device *dev) { #ifdef CONFIG_TEGRA_GK20A_NVHOST struct gk20a_platform *platform = dev_get_drvdata(dev); - return nvgpu_get_nvhost_dev(platform->g); + int ret; + + ret = nvgpu_get_nvhost_dev(platform->g); + if (ret) + return ret; + + vgpu_init_clk_support(platform->g); + return 0; #else return 0; #endif @@ -47,5 +55,11 @@ struct gk20a_platform vgpu_tegra_platform = { .probe = gk20a_tegra_probe, .default_big_page_size = SZ_128K, + .clk_round_rate = vgpu_clk_round_rate, + .get_clk_freqs = vgpu_clk_get_freqs, + + /* frequency scaling configuration */ + .devfreq_governor = "userspace", + .virtual_dev = true, }; -- cgit v1.2.2