Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
By disbaling the suspend we could avoid the hangs in suspend and resume.
This workaround will be removed once the power management supports
for all other peripheral drivers.
Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
Signed-off-by: Philippe Langlais <philippe.langlais@stericsson.com>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
Simple timed output vibrator driver for AB5500 MFD chips.
This chip supports Rotary and Linear vibrator hardware types.
Resonance frequency of 100-198 Hz is supported.
ST-Ericsson ID: WP 256408
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
u5500: enable vibrator when new timeout is requested
with this patch new timeout value will be
accepted/updated even if vibrator is already
executing.
ST-Ericsson ID: 360178
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
vibra:Remove unnecessary assignment of dev->parent
Remove unnecessary assignment of dev->parent,
because of this during timed out class unregister
it is trying to free resources of parent which
does not exist
ST-Ericsson ID: 410065
Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com>
u5500: Add vibra end of life support
Detect and disable vibra when vibra end of life(eol)
condition is detected at boot sequence.
ST-Ericsson ID: 265890
Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com>
|
|
ST-Ericsson vibrator driver which registers in Android specific
timed output device class.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@tieto.com>
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Timed output vibrator: New functionality.
This patch allows to form the vibration characteristic
using few parameters defined in the platform data:
- boost level and period for start condition
- on level as moderate speed
- off level and period for brake condition
Detailed information can be found here:
Documentation\DocBook\ste_timed_vibra.html
Signed-off-by: Grzegorz Sygieda <grzegorz.sygieda@tieto.com>
Signed-off-by: Krzysztof Antonowicz <krzysztof.antonowicz@tieto.com>
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
vibrator: remove board specific control of vibrator
Platform specific control of vibrator should be
present in board file (here board-mop500.c).
So, for example if GPIO pins are used to control
the vibrator, its control function implemenation
should be in board file.
This patch provides the callback function support
in the driver for the same.
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
android: vibrator: dont directly access ktime_t members
Use ktime helper functions for converting ktime values
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
u8500: vibra: linear vibrators using vibra-pwm
Linear vibrators operate on thier required resonance
frequency (for COPAL and AAC its ~150Hz). This can be
provided using AUDIO DA5 path. This software *workaround*
enables linear vibrators using AB8500 vibra-pwm by
generating required resonace frequency using software.
In addition this patch provides support for separate
platform data for Linear and Rotarty vibrators.
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
u8500: vibra: disable vibrator after vibration
This patch disables vibrator i.e. configures
the PWM duty cycle to zero after vibration
duration is over.
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
u8500: optimize: linear vibra drv using vibra-pwm
This patch optimizes the current implementation
of "linear vibrator driver using vibra-pwm".
Current implementation is CPU intensive and uses
100% of a CPU for the time period vibrator is used.
ST-Ericsson ID: ER 349958
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
u8500: vibra: fix sleeping fn. in atomic context
sleepable call - flush_workqueue called from atomic
context of vibra_enable.
ST-Ericsson ID: ER 351276
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
u8500: vibra: remove race condition in timer operation
In situation described below, vibra driver can hang.
In a scenario where vibra_enable is called and vibrator
is running i.e. vibra_work is scheduled and vibra_timer.
Suppose vibra_timer is started and has not expired yet.
At this moment if vibra_work starts executing and acquires
the vibra_lock and just before hrtimer_cancel is called,
if old timer expires and timer callback starts executing
then it will try to acquire vibra_lock and hence it will
wait for vibra_lock, as it is already acquired by vibra_work.
Now vibra_work->hrtimer_cancel will wait for timer callback
to complete and timer callback will wait for vibra_lock to
be free so that it can complete. This result in recursive
waiting for vibra_lock and hence deadlock.
As timer callback is running in interrupt context so above
deadlock may trigger watchdog.
ST-Ericsson ID: 405366
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
u8500: vibra: remove race condition in open
In situation described below, vibra driver can hang.
vibra_enable takes the vibra_lock and timer expires then
timer callback will spin for vibra_lock. If vibra_enable
tries to do hrtimer_cancel then it will wait for timer
callback to complete.
In above situation hrtimer_cancel will wait for timer callback
to complete and timer callback will wait for vibra_lock to
be free so that it can complete. This result in recursive
waiting for vibra_lock and hence deadlock.
As timer callback is running in interrupt context so above
deadlock may trigger watchdog.
ST-Ericsson ID: 407253
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
vibra:Remove unnecessary assignment of dev->parent
Remove unnecessary assignment of dev->parent,
because of this during timed out class unregister
it is trying to free resources of parent which
does not exist
Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com>
|
|
ST-Ericsson Linux next: -
ST-Ericsson ID: 370799
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I9bb0d97f8562d6abef8b0a6d424ad38bf7f58a1c
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/50944
Reviewed-by: QABUILD
Reviewed-by: Arun MURTHY <arun.murthy@stericsson.com>
Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
|
|
Add power module test. This test, in debugfs/pwr_test/idle shall
pass when the screen is black, but suspend is not yet reached.
This module test checks clocks, prcmu-regulators, db8500 regulators
and ab8500 regulators.
The reason why not adding this to LTP is that
later this module test will contain tests for voicecall and
low-power-audio, which require Android to run.
ST-Ericsson ID: 367599
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
|
|
During booting of cpu1, there is a short window where cpu1
is online, but not active where cpu1 is occupied by waiting
to become active. If cpu0 then decides to schedule something
on cpu1 and wait for it to complete, before cpu0 has set
cpu1 active, we have a deadlock.
This is just a work around to hide the original problem.
ST-Ericsson Linux next: -
ST-Ericsson ID: 419957
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I133e511cece4024375cc92a82f79bd799514d71d
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/51514
Reviewed-by: QABUILD
Reviewed-by: Rickard ANDERSSON <rickard.andersson@stericsson.com>
|
|
Sets CONFIG_UID_STAT=y in u8500_defconfig
to enable network usage statistics per UID.
ST-Ericsson Linux next: -
ST-Ericsson ID: 410876
ST-Ericsson FOSS-OUT ID: NA
Change-Id: I812748a9997fb30a15810892b7a829f9e9c4cb7c
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/50545
Reviewed-by: Dominik SLIWA <dominik.sliwa@tieto.com>
Tested-by: Dominik SLIWA <dominik.sliwa@tieto.com>
Reviewed-by: QABUILD
Reviewed-by: Tomasz HLIWIAK <tomasz.hliwiak@tieto.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
ST-Ericsson ID: 370799
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
|
|
This patch updates the AB8500 driver to make use of the I2C
read-modify-write service in the PRCMU firmware.
ST Ericsson ID: 354143
ST Ericsson FOSS-OUT ID: trivial
Change-Id: Ic204b63b3a7546bbb7cf4966c973f9ec3662c328
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/47195
Reviewed-by: QABUILD
Reviewed-by: Mattias WALLIN <mattias.wallin@stericsson.com>
|
|
This disadvantage of having it interrptible is that it would
appear to work OK in most situations, but in the rare case
that this call does fail, it can lead to misconfiguration
of the AB, such as a regulator not being turned off and
leading to a platform power consumption increase.
There's no real benefit to having this interruptible.
Make it a plain mutex_lock. The non-interruptability matches
other low-level I/O functions such as SPI and I2C.
ST-Ericsson ID: 420727
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I38f325f1d6e24afc5f8def0f070aad2b79cb1a34
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/51048
|
|
The cable detect clock is always enabled. This should be
switched off at the startup. Can be switched on when required.
ST-Ericsson ID: 402683
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I08cdf267c1b4c6131a7d881df741ed7a2f3318cd
Signed-off-by: Venkata Biswanath <venkata.biswanath@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41806
Reviewed-by: QATOOLS
Reviewed-by: QABUILD
Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
Reviewed-by: Vijaya Kumar K-1 <vijay.kilari@stericsson.com>
|
|
Enable "Headset left" and "Headset Right" ALSA options by default
Signed-off-by: ramesh.chandrasekaran <ramesh.chandrasekaran@stericsson.com>
|
|
This reverts commit 9bfa8c7f5cf9aff1df84f1761841c8f3e7c84e97.
|
|
By disbaling the suspend we could avoid the hangs in suspend and resume.
This workaround will be removed once the power management supports
for all other peripheral drivers.
Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
|
|
Signed-off-by: Philippe Langlais <philippe.langlais@stericsson.com>
|
|
On snwoball V5 and up GPIO161 is routed to PMU_EN of the cg2900
and as such shouldn't be configured to handle an event from the
external connector (J23).
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
Snowball have the GPIO_EN on GPIO161 diffrent from u8500.
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
|
|
Snowball have the GPIO_EN on GPIO161 diffrent from u8500.
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
|
|
As the different prcmu routines are not supporting the db5500
board and will return EINVAL, it is pointless to use the other
states than WFI.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
This patch adds the cpuidle driver for the ux500 SoC.
The boards saves 12mA with these states. It is based on the latest
cpuidle consolidation from Robert Lee.
The cpu can go to retention only if the other core is in WFI.
If the other cpu is in WFI and we decoupled the gic from the cores,
then we have the guarantee, it won't be wake up.
It is up to the prcmu firmware to recouple the gic automatically
after the power state mode is selected.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
* db5500_prcmu_set_power_state
* db5500_prcmu_enable_wakeups
are called from prcmu_set_power_state and prcmu_enable_wakeups but
they are not defined.
When applying the cpuidle patch, the code invokes both functions
and that leads to an undefined functions compilation error.
So let's do like the other functions and return EINVAL.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
The mfd-2.6 kernel tree use the cpu_is_u5500 function
while this version use machine_is_u5500.
An error was introduced by backporting prcmu_is_cpu_in_wfi function
from the mfd-2.6 kernel tree.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
This patch allows to check if the other core is in WFI
mode. It is the last check the idle routine has to do before
entering into the retention state.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
This patch allows to decouple and recouple the gic from the PRCMU.
This is needed to put the A9 core in retention mode with the cpuidle
driver.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Enable core cpuidle timekeeping and irq enabling and remove that
handling from this code.
Signed-off-by: Robert Lee <rob.lee@linaro.org>
|
|
Add basic imx6q cpuidle driver. For now, only basic WFI state is
supported. Deeper idle will be added in the future.
Signed-off-by: Robert Lee <rob.lee@linaro.org>
|
|
Add imx5 cpuidle driver.
Signed-off-by: Robert Lee <rob.lee@linaro.org>
|
|
Add common cpuidle init functionality that can be used by various
imx platforms.
Signed-off-by: Robert Lee <rob.lee@linaro.org>
|
|
Make necessary changes to implement time keeping and irq enabling
in the core cpuidle code. This will allow the removal of these
functionalities from various platform cpuidle implementations whose
timekeeping and irq enabling follows the form in this common code.
Signed-off-by: Robert Lee <rob.lee@linaro.org>
Tested-by: Jean Pihet<j-pihet@ti.com>
Tested-by: Amit Daniel<amit.kachhap@linaro.org>
Tested-by: Robert Lee<rob.lee@linaro.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Deepthi Dharwar<deepthi@linux.vnet.ibm.com>
Acked-by: Jean Pihet<j-pihet@ti.com>
|
|
This patch enables calling generic l2 setup functions if device tree is used.
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
|
|
Following the merge of CPU PM notifiers and L2 resume code, this patch
removes useless code to save and restore L2 registers.
This is now automatically covered by suspend calls which integrated
CPU PM notifiers and new sleep code that allows to resume L2 before MMU
is turned on.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
|
|
This patch adds code to save L2 register configuration at boot, and
later used to resume L2 before MMU is enabled in suspend and cpuidle
resume paths.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
|