diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index 933fe2d8..40e7cead 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | |||
@@ -492,6 +492,8 @@ static int gm20b_tegra_railgate(struct device *dev) | |||
492 | clk_disable_unprepare(platform->clk_reset); | 492 | clk_disable_unprepare(platform->clk_reset); |
493 | clk_disable_unprepare(platform->clk[0]); | 493 | clk_disable_unprepare(platform->clk[0]); |
494 | clk_disable_unprepare(platform->clk[1]); | 494 | clk_disable_unprepare(platform->clk[1]); |
495 | if (platform->clk[3]) | ||
496 | clk_disable_unprepare(platform->clk[3]); | ||
495 | 497 | ||
496 | udelay(10); | 498 | udelay(10); |
497 | 499 | ||
@@ -569,6 +571,14 @@ static int gm20b_tegra_unrailgate(struct device *dev) | |||
569 | gk20a_err(dev, "could not turn on pwr clock"); | 571 | gk20a_err(dev, "could not turn on pwr clock"); |
570 | goto err_clk_on; | 572 | goto err_clk_on; |
571 | } | 573 | } |
574 | |||
575 | if (platform->clk[3]) { | ||
576 | ret = clk_prepare_enable(platform->clk[3]); | ||
577 | if (ret) { | ||
578 | gk20a_err(dev, "could not turn on fuse clock"); | ||
579 | goto err_clk_on; | ||
580 | } | ||
581 | } | ||
572 | } | 582 | } |
573 | 583 | ||
574 | udelay(10); | 584 | udelay(10); |
@@ -617,6 +627,7 @@ static struct { | |||
617 | {"gpu_ref", UINT_MAX}, | 627 | {"gpu_ref", UINT_MAX}, |
618 | {"pll_p_out5", 204000000}, | 628 | {"pll_p_out5", 204000000}, |
619 | {"emc", UINT_MAX}, | 629 | {"emc", UINT_MAX}, |
630 | {"fuse", UINT_MAX}, | ||
620 | #endif | 631 | #endif |
621 | }; | 632 | }; |
622 | 633 | ||
@@ -636,6 +647,8 @@ static int gk20a_tegra_get_clocks(struct device *dev) | |||
636 | int i; | 647 | int i; |
637 | int ret = 0; | 648 | int ret = 0; |
638 | 649 | ||
650 | BUG_ON(GK20A_CLKS_MAX < ARRAY_SIZE(tegra_gk20a_clocks)); | ||
651 | |||
639 | snprintf(devname, sizeof(devname), "tegra_%s", dev_name(dev)); | 652 | snprintf(devname, sizeof(devname), "tegra_%s", dev_name(dev)); |
640 | 653 | ||
641 | platform->num_clks = 0; | 654 | platform->num_clks = 0; |