diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2016-09-13 17:25:28 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-12-07 18:01:14 -0500 |
commit | 05805ec65b2cd6413c9d0d711d3798fd457fed6e (patch) | |
tree | 8aacb5c36a72f86a183c0f210a2aeeac0c382ae3 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 21094783114b9314d57f412196544a34b3a40f4a (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.h | 10 |
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 */ |