summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2010-10-08 23:03:42 -0700
committerVarun Colbert <vcolbert@nvidia.com>2010-10-19 17:10:34 -0700
commitb3c5b3ae3c492dcfc49dc1a7265b801398565d3b (patch)
tree842b59141091f826fb6fb00ecea9dbb8dd0e1bad /arch
parentd4d4296df579488a0df39266ce43b5b5c61d7b5d (diff)
[ARM/tegra] clocks: Enabled clock before set rate.
Made sure graphics and sdhci clocks are enabled before the respective rate is configured. Change-Id: I2d09ad111321b296a8d8fbb2d4bff02016e12feb Reviewed-on: http://git-master/r/8272 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/nvrm/core/ap15/nvrm_clocks.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/nvrm/core/ap15/nvrm_clocks.c b/arch/arm/mach-tegra/nvrm/core/ap15/nvrm_clocks.c
index b6ab9339af28..b9c1c87f3297 100644
--- a/arch/arm/mach-tegra/nvrm/core/ap15/nvrm_clocks.c
+++ b/arch/arm/mach-tegra/nvrm/core/ap15/nvrm_clocks.c
@@ -600,6 +600,8 @@ ExecPlatform NvRmPrivGetExecPlatform(NvRmDeviceHandle hRmDeviceHandle)
/*****************************************************************************/
+#define NVRM_DEBUG_MODULE_CLOCK_SET (1)
+
/* Sets module clock source/divider register */
void NvRmPrivModuleClockSet(
NvRmDeviceHandle hDevice,
@@ -608,6 +610,16 @@ void NvRmPrivModuleClockSet(
{
NvU32 reg, divisor;
+#if NVRM_DEBUG_MODULE_CLOCK_SET
+ if(cinfo->ClkEnableOffset != 0)
+ {
+ reg = NV_REGR(hDevice,
+ NvRmPrivModuleID_ClockAndReset, 0, cinfo->ClkEnableOffset);
+ if ((reg & cinfo->ClkEnableField) != cinfo->ClkEnableField)
+ NvOsDebugPrintf("tegra: configuring disabled clock ( module %d, "
+ "instance %d )\n", cinfo->Module, cinfo->Instance);
+ }
+#endif
NV_ASSERT(cinfo->ClkSourceOffset);
reg = NV_REGR(hDevice, NvRmPrivModuleID_ClockAndReset, 0, cinfo->ClkSourceOffset);
divisor = (reg >> cinfo->DivisorFieldShift) & cinfo->DivisorFieldMask;