diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c b/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c index 52eea83f..b8b95fd7 100644 --- a/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c +++ b/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/seq_file.h> | 17 | #include <linux/seq_file.h> |
18 | 18 | ||
19 | #include <nvgpu/io.h> | 19 | #include <nvgpu/io.h> |
20 | #include <nvgpu/clk_arb.h> | ||
20 | 21 | ||
21 | #include "gm20b/clk_gm20b.h" | 22 | #include "gm20b/clk_gm20b.h" |
22 | #include "os_linux.h" | 23 | #include "os_linux.h" |
@@ -33,6 +34,8 @@ static int rate_get(void *data, u64 *val) | |||
33 | static int rate_set(void *data, u64 val) | 34 | static int rate_set(void *data, u64 val) |
34 | { | 35 | { |
35 | struct gk20a *g = (struct gk20a *)data; | 36 | struct gk20a *g = (struct gk20a *)data; |
37 | if (nvgpu_clk_arb_has_active_req(g)) | ||
38 | return 0; | ||
36 | return g->ops.clk.set_rate(g, CTRL_CLK_DOMAIN_GPCCLK, (u32)val); | 39 | return g->ops.clk.set_rate(g, CTRL_CLK_DOMAIN_GPCCLK, (u32)val); |
37 | } | 40 | } |
38 | DEFINE_SIMPLE_ATTRIBUTE(rate_fops, rate_get, rate_set, "%llu\n"); | 41 | DEFINE_SIMPLE_ATTRIBUTE(rate_fops, rate_get, rate_set, "%llu\n"); |