aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorDavid Sin <davidsin@ti.com>2012-03-19 12:22:08 -0500
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:57:23 +0200
commiteb5d0d791774332c089fee66223303220f9d4984 (patch)
tree9d101577099306ec3138f05a4ba401337f599ec0 /drivers/misc
parent2e59cc5cccad381d209e2cc1a0eaf0c284c9bd84 (diff)
downloadkernel_samsung_tuna-eb5d0d791774332c089fee66223303220f9d4984.zip
kernel_samsung_tuna-eb5d0d791774332c089fee66223303220f9d4984.tar.gz
kernel_samsung_tuna-eb5d0d791774332c089fee66223303220f9d4984.tar.bz2
gccore: set min data throughput on omap pm framework
before and after issuing a BLT to the hardware, set the minimum data throughput value on the omap pm framework so that the appropriate opp will be set. Change-Id: I2c615acb772a568f66b727942f70583ade65abf5 Signed-off-by: David Sin <davidsin@ti.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/gcx/gccore/gcmain.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/gcx/gccore/gcmain.c b/drivers/misc/gcx/gccore/gcmain.c
index 0f3b799..8e59f43 100644
--- a/drivers/misc/gcx/gccore/gcmain.c
+++ b/drivers/misc/gcx/gccore/gcmain.c
@@ -635,6 +635,9 @@ static struct gctransition g_gctransition[4][4] = {
},
};
+#include <plat/omap_hwmod.h>
+#include <plat/omap-pm.h>
+
enum gcpower g_gcpower;
enum gcerror gc_set_power(enum gcpower gcpower)
@@ -754,6 +757,7 @@ enum gcerror gc_set_power(enum gcpower gcpower)
/* Enable/disable pulse skipping. */
if (gctransition->pulse) {
+ struct device *dev = omap_hwmod_name_get_dev("bb2d");
union gcclockcontrol gcclockcontrol;
gcclockcontrol.raw = 0;
@@ -761,6 +765,8 @@ enum gcerror gc_set_power(enum gcpower gcpower)
GC_PRINT(GC_INFO_MSG " PULSE SKIP ENABLE\n",
__func__, __LINE__);
+ omap_pm_set_min_bus_tput(dev, OCP_INITIATOR_AGENT, -1);
+
/* Enable loading and set to minimum value. */
gcclockcontrol.reg.pulsecount = 1;
gcclockcontrol.reg.pulseset = true;
@@ -770,6 +776,10 @@ enum gcerror gc_set_power(enum gcpower gcpower)
GC_PRINT(GC_INFO_MSG " PULSE SKIP DISABLE\n",
__func__, __LINE__);
+ /* set the min l3 data throughput to 2.5 GB */
+ omap_pm_set_min_bus_tput(dev, OCP_INITIATOR_AGENT,
+ 0xA0000000);
+
/* Enable loading and set to maximum value. */
gcclockcontrol.reg.pulsecount = 64;
gcclockcontrol.reg.pulseset = true;