summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2016-09-13 17:25:28 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-12-07 18:01:14 -0500
commit05805ec65b2cd6413c9d0d711d3798fd457fed6e (patch)
tree8aacb5c36a72f86a183c0f210a2aeeac0c382ae3 /drivers/gpu/nvgpu/gk20a/gk20a.h
parent21094783114b9314d57f412196544a34b3a40f4a (diff)
gpu: nvgpu: ioctls for clock controls
Add ioctls for clock range and VF points query. Add ioctls to set target mhz, and get actual mhz. Jira DNVGPU-125 Change-Id: I7639789bb15eabd8c98adc468201dba3a6e19ade Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: http://git-master/r/1223473 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> (cherry picked from commit 5e635ae34221c99a739321bcfc1418db56c1051d) Reviewed-on: http://git-master/r/1243107 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 024be4db..564026a4 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -56,6 +56,7 @@ struct acr_desc;
56#include "gm206/bios_gm206.h" 56#include "gm206/bios_gm206.h"
57#ifdef CONFIG_ARCH_TEGRA_18x_SOC 57#ifdef CONFIG_ARCH_TEGRA_18x_SOC
58#include "clk/clk.h" 58#include "clk/clk.h"
59#include "clk/clk_arb.h"
59#include "perf/perf.h" 60#include "perf/perf.h"
60#include "pmgr/pmgr.h" 61#include "pmgr/pmgr.h"
61#include "therm/thrm.h" 62#include "therm/thrm.h"
@@ -632,6 +633,13 @@ struct gpu_ops {
632 int (*suspend_clk_support)(struct gk20a *g); 633 int (*suspend_clk_support)(struct gk20a *g);
633 u32 (*get_crystal_clk_hz)(struct gk20a *g); 634 u32 (*get_crystal_clk_hz)(struct gk20a *g);
634 } clk; 635 } clk;
636 struct {
637 u32 (*get_arbiter_clk_domains)(struct gk20a *g);
638 int (*get_arbiter_clk_range)(struct gk20a *g, u32 api_domain,
639 u16 *min_mhz, u16 *max_mhz);
640 int (*get_arbiter_clk_default)(struct gk20a *g, u32 api_domain,
641 u16 *default_mhz);
642 } clk_arb;
635 bool privsecurity; 643 bool privsecurity;
636 bool securegpccs; 644 bool securegpccs;
637 bool pmupstate; 645 bool pmupstate;
@@ -956,6 +964,8 @@ struct gk20a {
956 struct nvgpu_bios bios; 964 struct nvgpu_bios bios;
957 struct debugfs_blob_wrapper bios_blob; 965 struct debugfs_blob_wrapper bios_blob;
958 966
967 struct nvgpu_clk_arb *clk_arb;
968
959 struct gk20a_ce_app ce_app; 969 struct gk20a_ce_app ce_app;
960 970
961 /* PCI device identifier */ 971 /* PCI device identifier */