bcm4329: switch to PM_FAST
staging: usbip: vhci: refuse to enqueue for dead connections

commit 6d212153a838354078cc7d96f9bb23b7d1fd3d1b upstream.

There can be requests to enqueue URBs while we are shutting
down a connection.

Signed-off-by: Max Vozeler <max@vozeler.com>
Tested-by: Mark Wehby <MWehby@luxotticaRetail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
msm: mfd: Use debugfs interface to allow marimba codec register access

To poke
echo "<addr> <value>" > /sys/kernel/debug/marimba_codec/poke

To peek
echo "<addr>" > /sys/kernel/debug/marimba_codec/peek
cat /sys/kernel/debug/marimba_codec/peek

To power on/off the codec
echo "<cmd>" > /sys/kernel/debug/marimba_codec/power
<cmd>: 1-on, 0-off

Signed-off-by: Jay Wang <jaywang@codeaurora.org>
Change-Id: Id7417d01f39d0bbff7a2924cb5761fa273c8f243
cpuidle: extend cpuidle and menu governor to handle dynamic states

On some SoC chips, HW resources may be in use during any particular idle
period.  As a consequence, the cpuidle states that the SoC is safe to
enter can change from idle period to idle period.  In addition, the
latency and threshold of each cpuidle state can vary, depending on the
operating condition when the CPU becomes idle, e.g. the current cpu
frequency, the current state of the HW blocks, etc.

cpuidle core and the menu governor, in the current form, are geared
towards cpuidle states that are static, i.e. the availabiltiy of the
states, their latencies, their thresholds are non-changing during run
time.  cpuidle does not provide any hook that cpuidle drivers can use
to adjust those values on the fly for the current idle period before the
menu governor selects the target cpuidle state.

This patch extends cpuidle core and the menu governor to handle states
that are dynamic.  There are three additions in the patch and the patch
maintains backwards-compatibility with existing cpuidle drivers.

1) add prepare() to struct cpuidle_device.  A cpuidle driver can hook
into the callback and cpuidle will call prepare() before calling the
governor's select function.  The callback gives the cpuidle driver a
chance to update the dynamic information of the cpuidle states for the
current idle period, e.g. state availability, latencies, thresholds,
power values, etc.

2) add CPUIDLE_FLAG_IGNORE as one of the state flags.  In the prepare()
function, a cpuidle driver can set/clear the flag to indicate to the
menu governor whether a cpuidle state should be ignored, i.e. not
available, during the current idle period.

3) add power_specified bit to struct cpuidle_device.  The menu governor
currently assumes that the cpuidle states are arranged in the order of
increasing latency, threshold, and power savings.  This is true or can
be made true for static states.  Once the state parameters are dynamic,
the latencies, thresholds, and power savings for the cpuidle states can
increase or decrease by different amounts from idle period to idle
period.  So the assumption of increasing latency, threshold, and power
savings from Cn to C(n+1) can no longer be guaranteed.

It can be straight forward to calculate the power consumption of each
available state and to specify it in power_usage for the idle period.
Using the power_usage fields, the menu governor then selects the state
that has the lowest power consumption and that still satisfies all other
critieria.  The power_specified bit defaults to 0.  For existing cpuidle
drivers, cpuidle detects that power_specified is 0 and fills in a dummy
set of power_usage values.

Signed-off-by: Ai Li <aili@codeaurora.org>
msm: Add Timpani Sound Device Profile

This header file defines Timpani Codec profiles for
commonly used sound device mode such as handset

Change-Id: I89085560f488ba26c593907bf08196177f21af9e
Signed-off-by: Patrick Lai <plai@codeaurora.org>
msm: socinfo: Add platform type for SVLT

For SLVTE target the mapping for hardware type is not
present and because of that the proper keypad file is
not getting selected. Because of which Alphanumeric keys
are not working on Fusion FFA.

Change-Id: I86c2e32bcf517740c07991c1c57303693ca88988
CRs-fixed: 248720
Signed-off-by: Mansoor Aftab <maftab@codeaurora.org>
msm: Peripheral reset driver

On some MSM targets peripherals such as the modem, qdsp, and dsps
are booted by Linux. In this case, Linux takes on the
responsibility of:

 1) validating images

 2) loading images into memory

 3) bringing peripherals out of reset

The first part is implemented by means of init_image(),
verify_blob(), and auth_and_reset(). The third part is
implemented by the reset_*() functions for each device.

The loading part (2) is handled by the peripheral image loading
driver, which will come in a later patch.

Change-Id: I0415a618ed0ecec2b683a5028c394480106de66e
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
dma: annotating dma for runtime PM

Change-Id: Ia9c4744f6aea124a1e9a7102e454dfe5c6da081e
Signed-off-by: Jeffrey Chuang <fchuang@codeaurora.org>
media: camera: Skin color Enhancement feature

Added support for Skin Color Enhancement on VFE 3.1

Change-Id: I451485c6e6ba9c30c97fb261bc6852752fd050cb
Signed-off-by: Nagesh Subba Reddy <nageshsreddy@codeaurora.org>
msm: rmnet: Add tailroom for sk buffer to be transmitted

sk buffer should have a tailroom so that mux layer may pad
in order to keep the data length a multiple of 4 bytes.

Change-Id: Ie3df6f6ae2b25e1a604e831be6e1ad2c89d03f1d
Signed-off-by: Niranjana Vishwanathapura <nvishwan@codeaurora.org>
mmc: Char SDIO Device Driver

The Char SDIO Device Driver is an interface which exposes an SDIO
card/function from kernel space as a char device in user space.

Change-Id: If298cdd6d4426b700e69affa5a3602cd221ad89c
Signed-off-by: Alexander Kolesnikov <akolesni@codeaurora.org>
msm: Prevent cross calling for setting CPU freq on multi cores

Change-Id: I604b469487e62240056e31b708ef955d1c52c391
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>