diff options
author | David Sin <davidsin@ti.com> | 2012-03-19 12:22:08 -0500 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:57:23 +0200 |
commit | eb5d0d791774332c089fee66223303220f9d4984 (patch) | |
tree | 9d101577099306ec3138f05a4ba401337f599ec0 /drivers/misc | |
parent | 2e59cc5cccad381d209e2cc1a0eaf0c284c9bd84 (diff) | |
download | kernel_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.c | 10 |
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; |