msm: mdss: Allow smp change during composition switch

The composition fallback mechanism might not ensure unsetting of
the pipe whose prepare call failed due to smp configuration change,
typically in the cases where change in composition requests same
pipe. This scenario is a deadlock where composition switch does
not happen, due to these pipe failures.

To handle such cases, for changed SMP request for a pipe doing
non backend composition, allow smp configuration to happen, so
that the composition could be successfully switched, thereby
preventing the deadlock.

Change-Id: I2d29ac6591671494abc7c4caf7c6c53f058d12f6
Signed-off-by: Justin Philip <jphili@codeaurora.org>
msm: mdss: ensure retire fences are signaled during panel off

When turning off command mode panel, if retire fences are still active
and suspend sequence goes through some fences may remain active.
If fences remain active command panel off sequence would stop signaling
vsyncs and would throw off the timeline. To fix this clear the retire
timeline when turning panel off.

Change-Id: I32a5fe0f81b16fa2ef959c7f05e484fb9f9f8598
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Merge "msm: mdss: ensure retire fences are signaled during panel off"
Merge "Merge "msm: mdss: ensure retire fences are signaled during panel off""
Merge "msm: mdss: Allow smp change during composition switch"
Merge "Merge "msm: mdss: Allow smp change during composition switch""
Merge 6ec071fa06b92f32d454b3b13fd0a007a38fa92d on remote branch

Change-Id: Idf95e267fe73fffaf8556e100e8dabad1657b460
Merge "Merge 6ec071fa06b92f32d454b3b13fd0a007a38fa92d on remote branch"
crypto: msm: check potential integer overflow

According to the specification of AEAD, AEAD request crypt length is
not a fixed maximum and associated length is also same. This could
lead to potential integer overflow, thus allocating less memory. So
we need to check potential integer overflow on AEAD request length.

CRs-Fixed: 726872
Change-Id: Ie7708000bfd8c57e2fba8e02230a7ce9cdc9634c
Signed-off-by: William Clark <wclark@codeaurora.org>
Merge "crypto: msm: check potential integer overflow"
Merge "Merge "crypto: msm: check potential integer overflow""
leds: leds-qpnp: add workaround for controlling GPLED output

There is a hardware limitation in the case of PM8941 where
enabling any of the GPLEDx requires enabling of GPLED1. Hence,
lpg channel 9 corresponding to GPLED1 should be enabled before
enabling any other lpg channels corresponding to other GPLEDs.

CRs-Fixed: 723698
Change-Id: If7fe6f26ed3d617e823e0a615ee2d6185d68c5bb
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
qseecom: Check if ce clock is enabled before sending cmd to TZ

Make change to check if ce clock is enabled before sending command
to TZ, then to prevent data aborting if clock is not enabled for
TZ crypto operation.

CRs-Fixed: 726840
Change-Id: I55b5b10ad80e741c39f8cf411f67e6b83887f3bb
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Signed-off-by: William Clark <wclark@codeaurora.org>
qseecom: Enable/disable clock for client if bus scaling is not enabled

To avoid the service failure on a target where bus scaling flag is not
enabled in target device tree file by mistake, make a change to enable/
disable crypto clocks when the client calls to scale up bus bandwidth
and send command even if bus scaling feature is not enabled.

CRs-Fixed: 726840
Change-Id: Ib33a535051b68561bde5ab6a23ad0f02dc27ab13
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Merge 996700f68704cc6c5a4999aafce67c5e15c31051 on remote branch

Change-Id: I6b742de0564c32bfef7f1838092216beb80a89ff
Merge "Merge 996700f68704cc6c5a4999aafce67c5e15c31051 on remote branch"
Revert "msm: mdss: Allow smp change during composition switch"

This reverts commit 6dc56c52c3e1c65d89202daada4bc547d5cf6e2f

Change-Id: I7a1d384510cf60765a334ca692aab60660106e9e
Merge "Revert "msm: mdss: Allow smp change during composition switch""
leds: leds-qpnp: make blink functionality synchronous

pwm_cfg->blinking is a shared parameter between qpnp_mpp_set
and led_blink function. When a blink operation is given to
the led when it is glowing with some brightness value, the led
does not blink because the blinking parameter is wrongly
reset to false in the end of qpnp_mpp_set. So making the blink
functionality synchronous will solve the issue.

Change-Id: Ie84fe52bc84d5c14573e3f1a042e163e62152cce
CRs-Fixed: 723698
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
leds: leds-qpnp: add blink functionality support for GPLEDs

Existing implementation does not support blink feature for
GPLEDs. Blink functionality is required if user wants to
produce fading effects using GPLEDs. Hence, adding blink
functionality to GPLEDs.

CRs-Fixed: 723698
Change-Id: I87886469b05cf75986e89ebc3f28d9a6a386401f
Signed-off-by: Abinaya P <abinayap@codeaurora.org>