diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c index 6a453096..0977e63a 100644 --- a/drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/os/linux/platform_gk20a_tegra.c | |||
@@ -649,7 +649,7 @@ int gk20a_tegra_init_secure_alloc(struct gk20a_platform *platform) | |||
649 | static struct clk *gk20a_clk_get(struct gk20a *g) | 649 | static struct clk *gk20a_clk_get(struct gk20a *g) |
650 | { | 650 | { |
651 | if (!g->clk.tegra_clk) { | 651 | if (!g->clk.tegra_clk) { |
652 | struct clk *clk; | 652 | struct clk *clk, *clk_parent; |
653 | char clk_dev_id[32]; | 653 | char clk_dev_id[32]; |
654 | struct device *dev = dev_from_gk20a(g); | 654 | struct device *dev = dev_from_gk20a(g); |
655 | 655 | ||
@@ -661,7 +661,16 @@ static struct clk *gk20a_clk_get(struct gk20a *g) | |||
661 | clk_dev_id); | 661 | clk_dev_id); |
662 | return NULL; | 662 | return NULL; |
663 | } | 663 | } |
664 | |||
665 | clk_parent = clk_get_parent(clk); | ||
666 | if (IS_ERR_OR_NULL(clk_parent)) { | ||
667 | nvgpu_err(g, "fail to get tegra gpu clk parent%s/gpu\n", | ||
668 | clk_dev_id); | ||
669 | return NULL; | ||
670 | } | ||
671 | |||
664 | g->clk.tegra_clk = clk; | 672 | g->clk.tegra_clk = clk; |
673 | g->clk.tegra_clk_parent = clk_parent; | ||
665 | } | 674 | } |
666 | 675 | ||
667 | return g->clk.tegra_clk; | 676 | return g->clk.tegra_clk; |