ARM: tegra12: clock: Add API to enable/disable gpu round pass-thru option
Hoang Pham [Tue, 26 Nov 2013 06:24:45 +0000 (22:24 -0800)]
Add an API to enable/disable gpu round pass-thru option
when CONFIG_TEGRA_CLOCK_DEBUG_FUNC set

Bug 1409249

Change-Id: Ie9ddd6ce27ab677c56ee378dd867913e05cc1ea1
Signed-off-by: Hoang Pham <hopham@nvidia.com>
Reviewed-on: http://git-master/r/334840
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>

arch/arm/mach-tegra/tegra12_clocks.c
include/linux/clk/tegra.h

index 00d463c..b3ce5c3 100644 (file)
@@ -7612,7 +7612,19 @@ static struct clk tegra_clk_gpu = {
 };
 
 #define RATE_GRANULARITY       100000 /* 0.1 MHz */
+#if defined(CONFIG_TEGRA_CLOCK_DEBUG_FUNC)
+static int gbus_round_pass_thru;
+void tegra_gbus_round_pass_thru_enable(bool enable)
+{
+       if (enable)
+               gbus_round_pass_thru = 1;
+       else
+               gbus_round_pass_thru = 0;
+}
+EXPORT_SYMBOL(tegra_gbus_round_pass_thru_enable);
+#else
 #define gbus_round_pass_thru   0
+#endif
 
 static void tegra12_clk_gbus_init(struct clk *c)
 {
index d621166..1c96ee5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2012-2014, NVIDIA CORPORATION.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -191,10 +191,18 @@ int tegra_clk_register_export_ops(struct clk *c,
 
 #ifdef CONFIG_TEGRA_CLOCK_DEBUG_FUNC
 int tegra_clk_set_max(struct clk *c, unsigned long rate);
+#ifdef CONFIG_ARCH_TEGRA_12x_SOC
+void tegra_gbus_round_pass_thru_enable(bool enable);
+#else
+static inline void tegra_gbus_round_pass_thru_enable(bool enable)
+{}
+#endif
 #else
 static inline int tegra_clk_set_max(struct clk *c, unsigned long rate) {
        return -ENOSYS;
 }
+static inline void tegra_gbus_round_pass_thru_enable(bool enable)
+{}
 #endif
 
 #endif