summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2010-08-25 23:13:21 -0700
committerYu-Huan Hsu <yhsu@nvidia.com>2010-09-09 21:29:13 -0700
commit89079690fd134eb2cbd53b72b2f8b9cfba01ff25 (patch)
tree5accdbd6d373f5637e760acbaeb31a486d6d7005 /arch
parent9053084636be53fab6c0d9f80863b890e981096a (diff)
[ARM/tegra] RM: Set pulse mode for 3D busy hints.
Set pulse mode for 3D busy hints to speed up frequency/voltage decrease after hint is canceled. Bug 726052 (cherry picked from commit 58c01c2fc28a3e90e661954ab76cd7f65b0bd2cf) Change-Id: I77a77d9fc73b1675bdaddb08663cfed07900ffa7 Reviewed-on: http://git-master/r/6281 Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/clock_nvrm.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/clock_nvrm.c b/arch/arm/mach-tegra/clock_nvrm.c
index 598c001179a2..925c8fb6ad18 100644
--- a/arch/arm/mach-tegra/clock_nvrm.c
+++ b/arch/arm/mach-tegra/clock_nvrm.c
@@ -102,8 +102,10 @@ static int tegra_periph_clk_enable(struct clk *c)
/* max out emc when 3d is on */
if (NVRM_MODULE_ID_MODULE(c->module) == NvRmModuleID_3D) {
- NvRmPowerBusyHint(s_hRmGlobal, NvRmDfsClockId_Emc, clk_pwr_client,
- 0xffffffff, NvRmFreqMaximum);
+ NvRmDfsBusyHint hint =
+ {NvRmDfsClockId_Emc, 0xffffffff, NvRmFreqMaximum, true};
+ NvRmPowerBusyHintMulti(s_hRmGlobal, clk_pwr_client, &hint, 1,
+ NvRmDfsBusyHintSyncMode_Async);
}
return 0;
@@ -114,7 +116,9 @@ static void tegra_periph_clk_disable(struct clk *c)
NvError e;
if (NVRM_MODULE_ID_MODULE(c->module) == NvRmModuleID_3D) {
- NvRmPowerBusyHint(s_hRmGlobal, NvRmDfsClockId_Emc, clk_pwr_client, 0, 0);
+ NvRmDfsBusyHint hint = {NvRmDfsClockId_Emc, 0, 0, true};
+ NvRmPowerBusyHintMulti(s_hRmGlobal, clk_pwr_client, &hint, 1,
+ NvRmDfsBusyHintSyncMode_Async);
}
e = NvRmPowerModuleClockControl(s_hRmGlobal, c->module,