Some QDSS clocks come out of reset enabled. This causes problems
for drivers which wish to use the clocks during kernel init as
the clock driver view of the hardware isn't in sync with the
actual hardware state causing clk_set_rate() to hang the device
when it switches the clock to a PLL that is off. Hand off these
clocks so that drivers can call clk_set_rate() during kernel init
and not hang the system.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This clock always needs to be on for suspend/resume to work.
Remove control for this branch so that it never turns off.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
When an interrupt is freed, the shutdown or the disable callback
is called for that interrupt. These calls might not be implemented
or even if they were, might not mask the interrupt.
Explicitly mask the interrupt when it is freed. If not masked, the
interrupt could trigger, set the pending bit in the irq controller
and cause unnecessary wakeup or exits from idle power collapse.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Conflicts:
kernel/irq/manage.c
Fix division by zero error in MDP downscale validation by rejecting
destination rectangle width and height params with 0
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Add the SPI device declarations, GPIO configuration, and
initialization code needed to use the SPI Ethernet
controller found on the APQ8064 Rumi3.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
For multiple playback session for the first session audpp
Is enabled and successive sessions audpp driver generates
Fake dsp event but not broadcast the audpp layer enable message.
If two sessions are active, and if one of the session issues audpp
Disable command audpp driver generates the fake audpp disable event
to ACDB driver as one more session still active.
This patch address to broadcast fake audpp enable and disable message.
CRs-Fixed: 300489
CRs-Fixed: 304331
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
MPP 12 is used for privacy light on Liquid device.
Setting sink to low to turn the light on.
Privacy light is only turn on for front camera.
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Disabling the roots of the QDSS clocks prevents an external
debugger from coming in and enabling the debug clocks it requires
to operate. Therefore never disable the roots of these clocks so
that debugging continues to work.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Incorrect parsing of ANC firmware can lead to DAPM
failing to successfully enable ANC, which can cause
a kernel panic.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
There has possibility that suspend operation and screen
update happen simultaneously. There mutex at lcdc_off is
necessary to serialize both lcdc off and pan display.
CRs-fixed: 302527
Signed-off-by: Khsieh <khsieh@codeaurora.org>
Set DSI Video mode dest type as DISPLAY_LCDC to return
correct fps to userspace in reserved[4]
CRs-Fixed: 302910
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Adds support for CE block size larger than 16 bytes
by setting appropriate bits in CRYPTO_CONFIG register.
NOTE: This bits are functional in rev 4.2 and higher
of the CE hardware. Setting the bits in 4.0 HW does not
do anything.
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
CRYPTO_CONFIG is configured by secure code and the register
is XPU protected. Writing to this register has no effect.
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
This patch corrects the APCS_GCC base used by the RPM and
adds the RPM, RPM_MPM and APCS_GLB base to the iomap.
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Instead of printing a warning just skip doing anything in
pil_put() if the pointer is NULL or an error pointer. This should
make error paths simpler.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Requirement for customer (Samsung) to have support
for 720x480p 16:9 aspect ratio, prior to this we
supported only 4:3 aspect ratio for 720x480p.
Adding the appropriate Lookup Table changes.
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
These clocks are linked in a dependency chain by software
so that enabling ebi2_clk is sufficient to cause both
clock to enable.
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
This error is reproted randomly when the SPI core is put
into RUN state and occurs when the ACPU clock is low.
When the timer expires, we check again to ensure that the
STATE_VALID bit is set before returning.
CRs-fixed: 304672
Signed-off-by: Harini Jayaraman <harinij@codeaurora.org>
Fix code that was always using the default logging
area when copying log data to userspace, even if
a different logging area had been selected.
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
kgsl_get_phys_file is used for both PMEM and the framebuffer,
so adjust the #ifdef CONFIG_ANDROID_PMEM to only omit the
PMEM specific parts.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
There was a possiblity that a variable would be dereferenced
in a loop, so use a temporary holder to avoid any corner
case problems.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
A variable in do_epoch_check could possibly be
uninitialized when it gets used, so initalize to NULL
and check for failure.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Due to the recent commit 68338b, any pending runtime PM
work (runtime suspend/resume request) is not getting
cancelled before enabling the host for a new request.
This results in a possibility for suspend work to happen
in parallel while processing any active SD/MMC command.
CRs-fixed: 305399
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
BT vregs are put in LPM with D1_XO_EN. It doesn't disable
the vreg anymore.Capacitive charging Current Spikes are
seen if the vreg is disabled, instead of putting in LPM.
Signed-off-by: Rahul Kashyap <rkashyap@codeaurora.org>
WLAN vregs are put in LPM with A0_XO_EN. It doesn't disable
the vreg anymore.Capacitive charging Current Spikes are
seen if the vreg is disabled, instead of putting in LPM.
Signed-off-by: Santosh Sajjan <ssajjan@codeaurora.org>
LPA volume is saturated at higher volume levels as maximum gain
value is higher than unity gain value. Maximum LPA volume value
should be set to unity gain value i.e. 0x2000 to avoid saturation
at higher volume levels. Fix the saturation issue by changing the
maximum gain value
CRs-Fixed: 304858
Signed-off-by: Sriranjan Srikantam <cssrika@codeaurora.org>
Csi interrupt is a active high trigger,
updated to match hardware spec.
Update csi interrupt mask to show error only.
Mask csi interrupt when camera exit
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
These errors are returned to the caller, which may not always
care about its success. Leave it up to the caller to check
the return code and print an error message when failures
do matter.
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>