Age | Commit message (Collapse) | Author |
|
Change-Id: I2fcf46d1fc4b0cd4c61e5be3654c43b80db86015
|
|
The interactive governor relies on quirks of the Tegra 2 cpufreq
implementation for handling SMP systems where the CPUs do not have
separate rate controls. It needs to determine the maximum rate
for all CPUs covered by the policy and set that speed.
ST-Ericsson ID: 365995
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I1ed9fa171e5a9c45a1fa5944e3fa823eb157e81f
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34425
Tested-by: Venkata Biswanath DEVARASETTY <venkata.biswanath@stericsson.com>
Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
|
|
Removing U8400 legacy from PRCMU and cpufreq drivers
ST-Ericsson ID: 364381
ST-Ericsson FOSS-OUT ID: Trivial
ST-Ericsson Linux next: NA
Depends-On: Idcc4acd8ed9a319a52cfaa6c603e346cae965148
Depends-On: Id4f13fece9ad0769ae77366e62e3bad86d718b3a
Change-Id: I694b5c08df05f3f09b188730141d0487b404bd45
Signed-off-by: Daniel Willerud <daniel.willerud@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33910
Reviewed-by: Mattias NILSSON <mattias.i.nilsson@stericsson.com>
Reviewed-by: QATOOLS
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Add a smp_twd clock with an appropriate get_rate() implementation so that
localtimers scale correctly with cpufreq changes.
ST-Ericsson ID: 361450
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I492af8efe1c8c081f6079e538f6edf296eca3a02
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33277
Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
|
|
The same clock is used for all cpus so we must notify the frequency change
for each one in order to update the configuration of all twd clockevents.
change since V1:
* use policy->cpus instead of cpu_online_mask
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Change-Id: Ib05cc1bb37a1a1dc740257c6f24dd2f3c53f8261
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33276
Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com>
|
|
Change-Id: If41bdc4356b066b20c682b683a90cfd7bfd16bb1
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32066
|
|
Change-Id: I40a7771d452da56c28c0f976df81aac7362d2d72
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32065
|
|
Change-Id: Ief4e698b114917dae1ba40e82e0ed4b529d37846
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32064
|
|
Change-Id: Iaad284680b3ea91b10134138f57f64ff5fbaaf6d
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32063
|
|
Change-Id: I29a6895fa7d61bce44fb0492edd358eee9f5f3fa
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32062
|
|
Since we don't know really the status of powersave related
feature on this development track, let's remove everything,
except:
- prcmu driver: New location, which is the same as linux-next
- cpufreq: new location, same as linux-next
- regulator: keep as is for the moment, needed for the system to work.
- clocks: same as for regulator.
- pm-runtime: keep it as is.
Later patches will re-add powersave, based upon what exists on SI
u8500-android-2.3_v3.15
MTU from plat-nomadik is now used instead of own copy in mach.
Change-Id: I8ceaa65e5e0905fcd85bf8e793b4a5ab2d2df64c
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32048
|
|
Instead of fiddling with the ondemand governor, use proper
pm-qos interface.
ST-Ericsson ID: -
ST-Ericsson Linux next: Not tested
ST-Ericsson FOSS-OUT ID: Trivial
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Change-Id: Ide38bbd00833f70e73b4da05c55a84febc43b9f5
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29536
Reviewed-by: QABUILD
Reviewed-by: Mian Yousaf KAUKAB <mian.yousaf.kaukab@stericsson.com>
|
|
Change-Id: I0ebddd350374a079d9862b4cb8c55fd9cfa2cc91
|
|
commit 1d3e28fa4e85d54434614575f37a4171e32dfe0c
Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Date: Tue Aug 23 12:28:26 2011 +0200
[Android]: pm: usecase: limit cpu frequency to 400MHz during voice-call
ST Ericsson ID: 357594
commit 70f52392190a111758836d5fca7fb533ad8b4453
Author: Rickard Andersson <rickard.andersson@stericsson.com>
Date: Tue Aug 23 11:05:58 2011 +0200
ux500: cpuidle: Correct PRCMU error messages
Show correct error messages when PRCMU requested
sleep fails.
ST-Ericsson ID: -
commit 912e987c1e46815c8cf128bce3d7077d3b05e7d6
Author: Rickard Andersson <rickard.andersson@stericsson.com>
Date: Tue Aug 23 11:00:01 2011 +0200
ux500: cpuidle: Optimize stack sizes
Optimze the stack sizes for arm registers and
CP15 registers
ST-Ericsson ID: -
commit df0c08abadbdbe19c8c00ca09c3197f3fb0ead29
Author: Rickard Andersson <rickard.andersson@stericsson.com>
Date: Mon Aug 22 11:19:13 2011 +0200
ux500: cpuidle: GIC freeze delay optimized
GIC freeze delay was previously unnecessary long.
ST-Ericsson ID: -
commit a28fec98e99d5115b62d3d704452f427ca2a20ac
Author: Rajagopala V <rajagopala.v@stericsson.com>
Date: Wed Aug 24 13:16:39 2011 +0530
u5500: cpuidle: fix coverity warning
check for clockevents_program_event return value in
cpuidle driver during wakeup
ST-Ericsson ID: ER356883
commit b716ed3140664c6b4b80381b18945032b792b853
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Fri Aug 19 14:32:29 2011 +0530
u5500: enable PRCMU QoS and debugging
Dummy implementations are provided to get it to build.
ST-Ericsson ID: 348762
commit 34cd29c2f8cd1ce8fa51be6d33624b441416d478
Author: om prakash <omprakash.pal@stericsson.com>
Date: Tue Aug 23 14:08:52 2011 +0530
cpuidle:Removed the CHECKED_RETURN error
Removed the CHECKED_RETURN coverity error in cpuidle.
ST-Ericsson ID: 354434
commit d9d500b6742ff1fcb12747cb55d7f26c89ef5c96
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Mon Aug 22 10:23:36 2011 +0530
u5500: support cpufreq only on v2
Support cpufreq only on 5500v2+ only, since that is where
the other power management features will be enabled.
ST-Ericsson ID: 355981
commit 74cf0e658bb9abe240d04427d9043f145dd0505b
Author: Hemanth Puranik <hemanth.puranik@stericsson.com>
Date: Wed Aug 3 10:29:10 2011 +0530
U5500: Print PRCMU firware version
ST-Ericsson ID: WP332193
commit bb04cadb6948a3a68f409fa7828457ce64540172
Author: Vijaya Kumar Kilari <vijay.kilari@stericsson.com>
Date: Thu Aug 11 11:49:27 2011 +0530
U5500: Add MSP1 and Cable detect clock support
MSP1 and CD clocks are managed by PRCMU FW
so special handling for these clocks are required
ST-Ericsson ID: 332193
commit 0d9b20560a729b4674d9f55c77572db04272edbd
Author: Rajagopala V <rajagopala.v@stericsson.com>
Date: Fri Aug 5 16:52:41 2011 +0530
u5500: prcmu: add irqs for db5500 temperature sensor
add irqs to support db5500 temp sensor high and low
interrupts so as to clearly distinguish whether sensor
temperature has crossed min/max values
ST-Ericsson ID: WP257616
commit 63877225cb09c38d0fbea2dcf01eb6670eb05549
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Wed Jul 13 09:01:22 2011 +0200
ARM: u8500: pm: Do not touch TPIU registers if JTAG disabled
If JTAG is disabled, the Linux cannot touch the TPIU registers.
ST-Ericsson ID: 349265
commit 9fcee5876ff138e85356b63d392b2a050a68601e
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Mon Jul 11 15:27:49 2011 +0200
ARM: ux500: prcmu-debug: Add ARM opp to debugfs
Add arm opp to debugfs interface, plus some code clean-up/simplification.
ST-Ericsson ID: -
commit 0e1f18385d2416e03af308cac1e38997f6bbf044
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Thu Jul 14 12:49:30 2011 +0200
ARM: ux500: context: Do not touch TPIU when not clocked
ST-Ericsson ID: 352300
commit 0ebdb6b6b2a7f9924bd2785654f0abfb1473dda0
Author: Jayarami Reddy <jayarami.reddy@stericsson.com>
Date: Thu Jul 14 14:39:07 2011 +0530
u5500: fix to boot the kernel in DB5500
commit a20f6a9088ac5d34634cd26207dd5a072f04c37b
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Mon Jul 11 15:26:40 2011 +0200
ARM: ux500: prcmu-qos: Add ARM OPP qos
Make it possible to request lowest ARM OPP. Must
be bound to cpufreq to actually do something.
ST-Ericsson ID: -
commit be6842df3ee21a9aa00216c84e93a643b4ddeabe
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Wed Jul 13 09:00:30 2011 +0200
ARM: ux500: Read product settings at boot
ST-Ericsson ID: 349265
commit 94843c6131bac39aa8e7d0ec4c9c2b34e2819c92
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Wed Jul 13 08:56:38 2011 +0200
drivers: tee: Update with product id configuration
Add structs and defines needed to detect product settings.
ST-Ericsson ID: 349265
commit 4c70d615b782965c064b3f97963eff5a290acf68
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Wed Jul 6 08:26:41 2011 +0200
ARM: ux500: prcmu-wdog: Remove check for fw bug
In prcmu fw version 3.4.4 the issue with longer
intervalls than 131 s was fixed.
ST-Ericsson ID: -
commit f6ccbf262ddebe39584b4a4c01cfa16af1fbfac6
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Tue Jul 12 08:53:42 2011 +0200
ARM: ux500: cpuidle: Remove duplicated ApIdle state
The ARM PLL is handled automatic by the prcmu fw and
cpuidle cannot affect it. Remove duplicated ApIdle
state that does the same as the other ApIdle state.
ST-Ericsson ID: -
commit bdf3c3dd8c22ffe0fbd8c674e8e6bdab83a5ec01
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Fri Jul 8 14:33:23 2011 +0530
ux500: support ApDeepSleep on 5500
ST-Ericsson ID: 332193
commit 5326d7744cd226e67253774f30a2bb57c9b2badc
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Mon Jul 11 11:27:45 2011 +0530
u5500: fix prcmu_get_arm_opp()
prcmu_set_arm_opp() maps between logical ARM OPP values and
PRCMU firmware values, so prcmu_get_arm_opp() should do it too.
ST-Ericsson ID: 332226
commit 6422856927e1230197ae674795eff6538df885e5
Author: Jonas Aaberg <jonas.aberg@stericsson.com>
Date: Thu Jul 7 08:33:59 2011 +0200
ARM: u8500: prcmu-dbg: display AVS settings
Add debugfs node showing AVS settings.
root@ME:/ cat /debugfs/prcmu/avs
VBB_RET : 0x 0
VBB_MAX_OPP : 0xdb
VBB_100_OPP : 0xdb
VBB_50_OPP : 0xdb
VARM_MAX_OPP : 0x2f
VARM_100_OPP : 0x2e
VARM_50_OPP : 0x1d
VARM_RET : 0x 0
VAPE_100_OPP : 0x2a
VAPE_50_OPP : 0x1a
VMOD_100_OPP : 0x29
VMOD_50_OPP : 0x1a
VSAFE : 0x29
ST-Ericsson ID: -
commit 3184873f10bff0c7c54db75d9c2694e21ebc40b0
Author: Pawel Szyszuk <pawel.szyszuk@stericsson.com>
Date: Wed Jun 22 16:03:29 2011 +0200
ARM: U5500: PRCMU CLKOUTx configuration API
U5500 API for setting the programmable CLKOUTx source and divisor.
New API used for setting the sources of camera clocks.
ST-Ericsson ID: -
commit 98e9cfc32a25f6cf3b5d4c3456bb6ff6a34ff9cb
Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Date: Thu Jun 23 16:07:48 2011 +0200
[ANDROID]: pm: usecase: add sysfs interface to disable the governor
Move all the code to control the state of the governor in a separate function.
ST-Ericsson ID: CR339643
commit 6e9ab8ab3013d0b372a51d94d617d24fd8b38664
Author: Rickard Andersson <rickard.andersson@stericsson.com>
Date: Tue Jun 7 13:04:08 2011 +0200
ARM: ux500: pm: Turn off unnecessary GIC IRQs in deep sleep
In the sleep state ApDeepSleep turn off all IRQs in the
GIC except for the PRCMU IRQs
ST-Ericsson ID: ER338876
commit ba5f28731b27386cb90cf87c4e7b1910e09474a9
Author: Rickard Andersson <rickard.andersson@stericsson.com>
Date: Fri May 27 08:56:47 2011 +0200
ARM: ux500: pm: Deepsleep bugfix and optimization
Fixing deep sleep sync problems. Also cache clean and saves to
backup RAM is now only done when really needed.
ST-Ericsson ID: ER338876
commit 0415c755958de0d613a9bd52f73b820cb3a2b916
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Tue Jun 28 18:18:36 2011 +0530
u5500: handle SDMMC0 clock change on DB5500v2
On DB5500v2, SDMMC0 is parented to SPARE1CLK instead of
SDMMCCLK.
Also, correct the PRCM_IRDACLK_MGT register address which is
wrong even for v1.
ST-Ericsson ID: 349062
commit 2036360d62f3c3f0cd722d751ba90a8739034c0f
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Mon Jun 27 20:25:06 2011 +0530
u5500: cpufreq: DB5500v2 support
ST-Ericsson ID: 349062
commit 190b11834463e835de2d792116dfd8673d775752
Author: Rabin Vincent <rabin.vincent@stericsson.com>
Date: Wed Jun 22 07:45:00 2011 +0530
u5500: allow SUSPEND_STANDBY and CPUIDLE to be enabled
ST-Ericsson ID: 332226
commit 7c4906d6ee888df46baa64b690dfdfaf44502d86
Author: Pawel Szyszuk <pawel.szyszuk@stericsson.com>
Date: Mon Jun 20 15:28:34 2011 +0200
ARM: u5500: PRCMU reset API
Added API for rebooting the board and for getting the last reboot code.
ST-Ericsson ID: 341245
Change-Id: Ibbcd9e3528cd605c724b9c2c88ae3b41a27f2f1c
|
|
Signed-off-by: Vincent Guittot <vincent.guittot@stericsson.com>
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
[ANDROID]: ux500: pm: update sysfs interface for usecase governor
A separate sysfs node is added fro each use-case. It is now possible to enable
multiple use-cases simultaneously. If multiple use-cases are enabled, each
configuration (of all enabled uses-caes) is compared and the configuration
which is requesting highest performance is selected.
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
[ANDROID]: ux500: pm: usecase-gov Act on interrupts per s
If the number of interrupts per seconds are above
a certain level, exit from the asked mode.
[ANDROID]: ux500: pm: update low-power-audio config in usecse-governor
Update low-power-audio configuration to plug-out second cpu. This makes auto,
voice-call and low-power-audio configurations to be same. Auto mode is activated
by default (without any user space interaction). This makes voice-call and
low-power-audio configurations redundant. However, analysis work is still on
going for adding other settings that may become part of usecase governor so
keeping all configurations in there for now.
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
[ANDROID]: ux500: pm: update usecase governor dependencies in Kconfig
[ANDROID]: ARM: ux500: pm: usecase gov depends on PM
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
[ANDROID]: ux500: pm: minor code cleanup in UC governor
Signed-off-by: Martin Persson <martin.persson@stericsson.com>
[ANDROID] ux500: pm: disable auto mode in usecase governor
In absence of auto mode there is no need to schedule work on early suspend
so schedule work only when needed.
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
[ANDROID]: pm: force ondemand governor to choose higher frequency
In stead of overriding frequency selected by ondemand governor in
u8500_cpufreq_target(), force ondemand governor to select higher frequency when
wlan and usb workaround is enabled.
ANDROID tag is used to keep the patch internal. Otherwise it does not have any
Android dependency.
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
[ANDROID]: ARM: u8500: usecaseg: Tiny code clean-up
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
arm: ux500: halve the frequencies of some clocks in vc use case
This patch adds a new APE OPP (50% with ACLK and DMACLK frequencies
at 25%) which is used during the voice call use case.
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
ux500: pm: Add min cpufreq to UC governor
Add a minimum cpu frequency limit to each use case
in the use case governor.
Signed-off-by: Martin Persson <martin.persson@stericsson.com>
ux500: pm: allow usecase governor to force cpu idle states
Also update low-power-audio configuration to force ApSleep state.
ux500: pm: move use case definitions to a header file
ux500: pm: add pl310 prefetch control in use-case governor
ux500: pm: cosmetic changes in use-case governor
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
|
|
..linux-linaro-3.0-2011.07-1_glk3.0
Conflicts:
arch/arm/common/Makefile
drivers/misc/Kconfig
drivers/misc/Makefile
kernel/printk.c
Change-Id: I126f34edb1879981909072beefb2738cad26f951
|
|
in one)
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
Merge of following commits too:
u5500: add support for sysclk
basic sysclk support added in PRCMU driver and
clock framework driver updated.
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
U5500: Support for ESRAM12 EPOD in PRCMU driver
Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com>
ux500: regulator: handle different base offset of ePOD ID
5500 ePOD ids are offseted for some reason in the PRCMU driver. Adjust the ids
to index the local arrays to avoid memory corruption.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
ux500: pm: support PRCMU status check on 5500
This also removes unused 8500v1 code.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
arm: ux500: prcmu_ac_wake_req workaround
This patch adds a check in prcmu_ac_wake_req that the modem is
awake (in terms of the value in the PRCM_MOD_AWAKE_STATUS
register) after the AC_WAKE_ACK has been received from the PRCMU
FW. If the check fails, a retry is made.
This seems to be necessary, since the modem can generate an
AC_WAKE_ACK, and then still go to sleep.
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
U5500: Add support for PRCMU Mailbox0
Add PRCMU mailbox 0 support for irq wakeup
enable and disable
Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com>
U5500: Add support for power state transition
PRCMU driver is updated to provide API for
system power state transition
Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com>
ARM: ux500: prcmu: Add A9 watchdog interface
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
U5500 : ab5500 core interrupt hander update
AB5500 interrupts will be now handled by PRCMU and then
routed to AB5500 core driver.AB5500 irq handler will
no more read the latch registers to find the interrupt
reason.Instead PRCMU will read the latch registers and
provide the values to core driver.
Signed-off-by: Bibek Basu <bibek.basu@stericsson.com>
ARM: ux500: prcmu-dbg: Tiny code clean-up
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
u5500: add mailbox1 and related function support
Add cpufreq-db5500.c file for db5500 CPUfreq support.
PRCMU mailbox1 and related functions' support is added.
List of functions implemented:
- prcmu_get/set_arm_opp
- read_mailbox_1
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
Fix for PRCMU
u5500: PRCMU IRQ should be NO_SUSPEND
As on 8500.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
ARM: u5500: PRCMU reset API
Added API for rebooting the board and for getting the last reboot code.
Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
ST-Ericsson ID: 342949
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Id3505cbdd43f3b68dfcc882b7ca82075987349c4
Signed-off-by: Martin Persson <martin.persson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24231
Reviewed-by: Mian Yousaf KAUKAB <mian.yousaf.kaukab@stericsson.com>
Reviewed-by: QATEST
Reviewed-by: QATOOLS
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
ST-Ericsson ID: 337167
Change-Id: I4f66b7b46f1b20d955ce1b2a18b1ba9ece443a28
Signed-off-by: Vincent Guittot <vincent.guittot@stericsson.com>
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/21970
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
cpufreq: Set default sampling_down_factor to 10
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
|
|
Fix up checkpatch warning introduced by long lines in timer_rate
patch.
Change-Id: I22b105dafb1b49390799bb7577464da03f0f8afb
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
Cleanup some style warnings reported by checkpatch
Change-Id: Ie2e6903d52867fb3347e009d7efa3bc4ca755cea
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
Update the Kconfig help paragraph to give more detail about
interactive governor.
Change-Id: I607b817b370accac3a685001649a15e2f7894f59
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
Add a new sysfs control that tunes the rate of the timer used to
increase cpu frequency
Change-Id: I1aa13ae54bb43aff5b3688984d2955f56aae1658
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
This adds better error checking on tunable parameters on sysfs
interfaces. Also fixes return value from these functions, previously
on success they would return 0 which would cause a infinite loop.
Change-Id: Ic05038492166f8673d007202092471f98a2f0dfa
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
Convert interactive governor to use idle notifier instead of
hooking pm_idle directly.
Change-Id: I47e007f330468ac559240a0ae8a3cb06a89ccb67
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
Remove debug trace code in preparation of upstreaming
Change-Id: I0905885e75031f5e9d7cb06878fb68c1fd06d4fe
Signed-off-by: Allen Martin <amartin@nvidia.com>
|
|
|
|
I came across a memory leak during a cyclic cpu-online-offline test.
Signed-off-by: Yu Luming <luming.yu@intel.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
|
|
Change-Id: Id5267f04067bf023f6b140b4de2e88ef7287e941
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
|
This patch augments the pstate transition code to error out
(instead of returning 0) when an incorrect pstate is provided.
Suggested-by: Borislav Petkov <bp@alien8.de>
CC: andre.przywara@amd.com
CC: Mark.Langsdorf@amd.com
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
(vid case).
Before this patch if we failed the vid transition would still try to
submit the "new" frequencies to cpufreq.
That is incorrect - also we could submit a non-existing frequency value
which would cause cpufreq to crash. The ultimate fix is in cpufreq
to deal with incorrect values, but this patch improves the error
recovery in the AMD powernowk8 driver.
The failure that was reported was as follows:
powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)
powernow-k8: fid 0x2 (1000 MHz), vid 0x12
powernow-k8: fid 0xa (1800 MHz), vid 0xa
powernow-k8: fid 0xc (2000 MHz), vid 0x8
powernow-k8: fid 0xe (2200 MHz), vid 0x8
Marking TSC unstable due to cpufreq changes
powernow-k8: fid trans failed, fid 0x2, curr 0x0
BUG: unable to handle kernel paging request at ffff880807e07b78
IP: [<ffffffff81479163>] cpufreq_stats_update+0x46/0x5b
...
And transition fails and data->currfid ends up with 0. Since
the machine does not support 800Mhz value when the calculation is
done ('find_khz_freq_from_fid(data->currfid);') it reports the
new frequency as 800000 which is bogus. This patch fixes
the issue during target setting.
The patch however does not fix the issue in 'powernowk8_cpu_init'
where the pol->cur can also be set with the 800000 value:
pol->cur = find_khz_freq_from_fid(data->currfid);
dprintk("policy current frequency %d kHz\n", pol->cur);
/* min/max the cpu is capable of */
if (cpufreq_frequency_table_cpuinfo(pol, data->powernow_table)) {
The fix for that looks to update cpufreq_frequency_table_cpuinfo to
check pol->cur.... but that would cause an regression in how the
acpi-cpufreq driver works (it sets cpu->cur after calling
cpufreq_frequency_table_cpuinfo). Instead the fix will be to let
cpufreq gracefully handle bogus data (another patch).
Acked-by: Borislav Petkov <bp@alien8.de>
CC: andre.przywara@amd.com
CC: Mark.Langsdorf@amd.com
Reported-by: Tobias Diedrich <ranma+xen@tdiedrich.de>
Tested-by: Tobias Diedrich <ranma+xen@tdiedrich.de>
[v1: Rebased on v3.0-rc2, reduced patch to deal with vid case]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
If the driver submitted an non-existing pol>cur value (say it
used the default initialized value of zero), when the cpufreq
stats tries to setup its initial values it incorrectly sets
stat->last_index to -1 (or 0xfffff...). And cpufreq_stats_update
tries to update at that index location and fails.
This can be caused by:
stat->last_index = freq_table_get_index(stat, policy->cur);
not finding the appropiate frequency in the table (b/c the policy->cur
is wrong) and we end up crashing. The fix however is
concentrated in the 'cpufreq_stats_update' as the last_index
(and old_index) are updated there. Which means it can reset
the last_index to -1 again and on the next iteration cause a crash.
Without this patch, the following crash is observed:
powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3700+ (1 cpu cores) (version 2.20.00)
powernow-k8: fid 0x2 (1000 MHz), vid 0x12
powernow-k8: fid 0xa (1800 MHz), vid 0xa
powernow-k8: fid 0xc (2000 MHz), vid 0x8
powernow-k8: fid 0xe (2200 MHz), vid 0x8
Marking TSC unstable due to cpufreq changes
powernow-k8: fid trans failed, fid 0x2, curr 0x0
BUG: unable to handle kernel paging request at ffff880807e07b78
IP: [<ffffffff81479163>] cpufreq_stats_update+0x46/0x5b
.. snip..
Pid: 1, comm: swapper Not tainted 3.0.0-rc2 #45 MICRO-STAR INTERNATIONAL CO., LTD MS-7094/MS-7094
..snip..
Call Trace:
[<ffffffff81479248>] cpufreq_stat_notifier_trans+0x48/0x7c
[<ffffffff81095d68>] notifier_call_chain+0x32/0x5e
[<ffffffff81095e6b>] __srcu_notifier_call_chain+0x47/0x63
[<ffffffff81095e96>] srcu_notifier_call_chain+0xf/0x11
[<ffffffff81477e7a>] cpufreq_notify_transition+0x111/0x134
[<ffffffff8147b0d4>] powernowk8_target+0x53b/0x617
[<ffffffff8147723a>] __cpufreq_driver_target+0x2e/0x30
[<ffffffff8147a127>] cpufreq_governor_dbs+0x339/0x356
[<ffffffff81477394>] __cpufreq_governor+0xa8/0xe9
[<ffffffff81477525>] __cpufreq_set_policy+0x132/0x13e
[<ffffffff8147848d>] cpufreq_add_dev_interface+0x272/0x28c
Reported-by: Tobias Diedrich <ranma+xen@tdiedrich.de>
Tested-by: Tobias Diedrich <ranma+xen@tdiedrich.de>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
Ensures that cpufreq_stats_free_table is called before
__cpufreq_remove_dev on cpu hotplug (which also occurs during
suspend on SMP systems) to make sure that sysfs_remove_group
can get called before the cpufreq kobj is freed. Otherwise,
the sysfs file structures are leaked.
Change-Id: I87e55277272f5cfad47e9e7c92630e990bb90069
Signed-off-by: Colin Cross <ccross@android.com>
|
|
Don't reference the saved copy of the CPU's cpufreq policy
pointer after the governor has been stopped for the CPU.
When the governor is stopped for a CPU:
* Use del_timer_sync() to wait for a currently-running timer
function to stop.
* Delete the timer when the governor is stopped for the
associated CPU, not when the last CPU is stopped.
* Flush any speed down work ongoing.
* Reset the timestamp that is used to tell if the timer function
has had a chance to run since last idle exit.
Check the governor enabled flag for the CPU before re-arming the
timer from within the timer function and at idle exit (in case
stopping the governor at runtime).
Check the governor enabled flag for the CPU in the worker
function and thread before using the policy pointer. (There is
still a tiny window in the thread that needs more work to close.)
Change-Id: Ifaddf7a495a8dae15a579a57bdc654f7c47f6ada
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
|
Need to use irqsave/restore spin locking for cpumasks since these
are accessed in timers and in thread context.
Change-Id: I4a53eaf0ced7e73b445feddba90ec11482de9126
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
|
This governor is designed for latency-sensitive workloads, such as
interactive user interfaces. The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.
Existing governors sample CPU load at a particular rate, typically
every X ms. This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.
The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle. When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks. If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.
If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.
A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.
The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
The minimum amount of time to spend at the current frequency before
ramping down. This is to ensure that the governor has seen enough
historic CPU load data to determine the appropriate workload.
Default is 80000 uS.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
The CPU load at which to ramp to max speed. Default is 85.
Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585
Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Bug: 3152864
|
|
cpufreq_stats leaves behind its sysfs entries, which causes a panic
when something stumbled across them.
(Discovered by unloading cpufreq_stats while powertop was loaded).
Signed-off-by: Dave Jones <davej@redhat.com>
Cc: stable@kernel.org
|
|
Concluding interface update and movement of the driver by making
the DB8500 cpufreq driver compile in the cpufreq subsystem.
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
This updates the ux500 cpufreq driver to the new interface from the
updated DB8500 PRCMU
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
As part of the ARM arch subsystem migration, move the DB8500
cpufreq driver to drivers/cpufreq as discussed with Dave Jones. The
Makefile is not updated in order to avoid cross-subsystem conflicts
for this file in merges.
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, cpu: Fix detection of Celeron Covington stepping A1 and B0
Documentation, ABI: Update L3 cache index disable text
x86, AMD, cacheinfo: Fix L3 cache index disable checks
x86, AMD, cacheinfo: Fix fallout caused by max3 conversion
x86, cpu: Change NOP selection for certain Intel CPUs
x86, cpu: Clean up and unify the NOP selection infrastructure
x86, percpu: Use ASM_NOP4 instead of hardcoding P6_NOP4
x86, cpu: Move AMD Elan Kconfig under "Processor family"
Fix up trivial conflicts in alternative handling (commit dc326fca2b64
"x86, cpu: Clean up and unify the NOP selection infrastructure" removed
some hacky 5-byte instruction stuff, while commit d430d3d7e646 "jump
label: Introduce static_branch() interface" renamed HAVE_JUMP_LABEL to
CONFIG_JUMP_LABEL in the code that went away)
|
|
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
Since format string handling is part of request_module, there is no
need to construct the module name. As such, drop the redundant sprintf
and heap usage.
Signed-off-by: Kees Cook <kees.cook@canonical.com>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
Fixed brace coding style issue.
Signed-off-by: Karthigan Srinivasan <karthigan.srinivasan@hp.com>
Signed-off-by: Dave Jones <davej@redhat.com>
|
|
When a CPU is taken offline in an SMP system, cpufreq_remove_dev()
nulls out the per-cpu policy before cpufreq_stats_free_table() can
make use of it. cpufreq_stats_free_table() then skips the
call to sysfs_remove_group(), leaving about 100 bytes of sysfs-related
memory unclaimed each time a CPU-removal occurs. Break up
cpu_stats_free_table into sysfs and table portions, and
call the sysfs portion early.
Signed-off-by: Steven Finney <steven.finney@palm.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Cc: stable@kernel.org
|
|
With dynamic debug having gained the capability to report debug messages
also during the boot process, it offers a far superior interface for
debug messages than the custom cpufreq infrastructure. As a first step,
remove the old cpufreq_debug_printk() function and replace it with a call
to the generic pr_debug() function.
How can dynamic debug be used on cpufreq? You need a kernel which has
CONFIG_DYNAMIC_DEBUG enabled.
To enabled debugging during runtime, mount debugfs and
$ echo -n 'module cpufreq +p' > /sys/kernel/debug/dynamic_debug/control
for debugging the complete "cpufreq" module. To achieve the same goal during
boot, append
ddebug_query="module cpufreq +p"
as a boot parameter to the kernel of your choice.
For more detailled instructions, please see
Documentation/dynamic-debug-howto.txt
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Dave Jones <davej@redhat.com>
|