Calling request_firmware() during suspend/resume operations is
buggy and error prone. Therefore a check exists in
request_firmware() to see if a suspend/resume operation is in
progress. In testing we've seen that a wakeup interrupt can come
in during suspend and trigger subsystem restart to call
pil_force_boot() before userspace has fully thawed. Since this is
not allowed the request_firmware() call from pil_force_boot()
fails with -EBUSY and the processor is never rebooted.
Register for PM notifiers to avoid calling request_firmware()
when suspend/resume is in progress. Within the notifier
synchronize any request firmware calls with suspend using a
rwsem. In the case where pil is called before suspend, the
suspend notifier should block on the down_write() during
PM_SUSPEND_PREPARE. When suspend is initiated before pil any pil
operations should block on the down_read() until suspend
finishes. Doing this should fix races between suspend/resume and
request_firmware() within PIL.
Change-Id: I8dcafcac5be80ef41d00bca9b8509652ad1108cc
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
The SX1509 Expander has 16 IO pins and accessed over the i2c bus
on GSBI1. The IO expander pins are used to configure the chip
select and power enable for the ADS1158 chip used for EPM
power measurement.
Change-Id: Ic2442633ccdda3f9888a5db6e58fb5cf03ff5b53
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
* changes:
of/irq: Add interrupts-names property to name an irq resource
of/address: Add reg-names property to name an iomem resource
of: Add helpers to get one string in multiple strings property
interruptible_wait_timeout returns a signed long, so make sure that
we use a signed long to hold the result. Using an unsigned value would
horribly misinterpet an error such as -ERESTARTSYS.
CRs-Fixed: 341347
Change-Id: Ic0dedbadff2dbe404e68a2a78f6282b5976d05c1
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Instead of relying on the client to enable this option, enable it by
default internally.
Change-Id: I4d2c7e241a7e5b87ccdea25f876f0eb5732aff74
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Corruption is seen in the output bitstream in hfr recording
mode.
The output corruption is avoided by increasing the size
of the mv buffer.
Change-Id: I6fed4329a9be772cb680e268cf0c618d8a350f14
CRs-Fixed: 340590
Signed-off-by: Luis GarciaCalderon <luisgc@codeaurora.org>
To avoid msm or gpu specific code in the driver, added
GMEM size configuration parameter as a part of gpu list.
Change-Id: I3a0c4efdfbc607f3a0a87fc2350e7b40864f9f73
Signed-off-by: Sudhakara Rao Tentu <srtentu@codeaurora.org>
The bus scaling driver calls clk_enable and clk_disable from
non-atomic context.
These calls are replaced by clk_prepare_enable and
clk_disable_unprepare respectively.
Change-Id: Ida8de2599cb2afc9f74c81be78cd37b5956de994
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
Due to a h/w bug on 8625 once cores come out of the low
power mode(GDFS) and immediately executing the first
"ldr" instruction causes the fetching of improper value
from the memory. This causes the aborts on cores. This
patch adds few memory read instrucitons before it actually
jump to the warmboot entry function.
Change-Id: I76d1228878f3a5ea1179d51d043e0ebf1b92d2bc
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
When ENABLE_DMM was set, it caused a warning about
a circular dependency with MEMORY_HOTPLUG to be emitted.
Fix this by making all DMM config options depend on ENABLE_DMM (only)
and not having ENABLE_DMM depend on anything.
Change-Id: I1c0faf92163d49dca38fb2895be68eac21e7d38a
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
This custom API is no longer required since AC charging
reporting to userspace is solely dependent on the maximum
current supplied by the USB rather than the connector
type.
CRs-Fixed: 339841
Change-Id: Id542b083dd4f0ba5679d64f9e20d3b04cf14d972
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
The regulator_set_optimum API expects a non-zero voltage
returned from the get_voltage regulator_op. The current
default voltage is initialized to zero, and so this agreement
is broken.
Change-Id: I0c225604803cd633348070d2fe02a5cd8c4a45e1
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
This custom notifier is no longer required to determine
wether a wall charger is connected to the PM8921 charger
or not.
The pm8921-charger driver determines AC charging solely
dependent upon maximum input current from the charging
device.
CRs-Fixed: 339841
Change-Id: I564fa01c61286d013be6b263d038e87568a297f2
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
MDM9615 machine driver is added to support MDM9615 with ALSA FE/BE
architecture. It provides a glue between MDM9615 platform driver
and WCD9310(TABLA) codec driver.
Change-Id: Ie5e8d7257d10b1061ff09ce6ed7494092b2d31b9
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Freeze more essential GPU buffers and push them into the snapshot
dump. Add visibilty stream buffers, VBOs, index buffers and general
purpose GPU buffers to the list of frozen buffers. Parse the captured
IBs for type0 and type3 writes that indicate a buffer of interest
and add them to the dump list.
Change-Id: Ic0dedbad1ee978b951abedacb0c70481a1a7e38f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Register a PMIC pm8xxx thermal alarm device in the pm8018-core
driver. This device will allow userspace to monitor the
temperature of the PMIC die.
Change-Id: I888c0737dd991da9eaec039b20b381a2bfd7923c
Signed-off-by: David Collins <collinsd@codeaurora.org>
The VDD dig corner type regulator is introduced to 8930 and 8627. It
allows voting on the logical VDD dig levels without having to deal with
the specific voltages that correspond to each logical VDD dig level.
This allows the RPM to optimize the actual voltage that corresponds to
each logical level based on hardware characteristics.
Change-Id: I294176001c2a21848e88550e09599d5cb74554fa
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
The VDD dig corner regulator allows voting on the logical VDD dig levels
without having to deal with the specific voltages that correspond to each
logical VDD dig level. This allows the RPM to optimize the actual voltage
that corresponds to each logical level based on hardware characteristics.
Change-Id: Ic4e86a58dcdcd821cece3ab770cbe533df001e52
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
Add a device for the new VDD_dig voltage corner regulator on
MSM8930 so that consumers may utilize it instead of regulator
8921_s3 in order to set the SMPS 3 voltage indirectly.
Change-Id: Ic3b53ed5df19ed9f55005c6f204c1d981c5f8a24
Signed-off-by: David Collins <collinsd@codeaurora.org>
IMX074 sensor is rotated 180 degree on 8064 liquid. Change
mount of IMX074 to fix it.
Change-Id: Iac9125b2b4930d21917cbcb8ca5c82c98f14cf3f
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
* changes:
msm: rpm-regulator: Add support for MSM8930 voltage corner regulator
msm: rpm-regulator: Add support for new voltage corner RPM regulator type
msm: rpm-8930: Update RPM enum to support RB-CPR corner voltage
Fix following compilation warning:
warning: 'msm_spi_qup_irq' declared inline after being called
Change-Id: Icba083e85be775489147ad68fd9355be1c09fb14
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Fixes following compilation warning:
pm8xxx-ccadc.c:552: warning: 'voltage_uv' may be used uninitialized
Change-Id: Ib84e2733d91af0fd12dd73662079c5e564e8bffb
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
pm.h is now moved to arch/arm/mach-msm directory.
Fixes following compilation error:
mach/cpuidle.h:18:16: error: pm.h: No such file or directory
Change-Id: Iae4a3636ac6ac3f1cd469517bac017779cffcf49
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Fixes following compilation error:
msm_dsps.c:42:19: error: timer.h: No such file or directory
Change-Id: I6c536aa31d5a4fa0e00dfbe93795cac9336ffbe1
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
* changes:
msm: kgsl: Put only critical IBs in the snapshot section
msm: kgsl: Add indirect shader buffers to the snapshot
msm: kgsl: Freeze GPU memory objects to be dumped with the snapshot
msm: kgsl: Find a mem_entry by way of a GPU address and a pagetable base
msm: kgsl: Detach memory objects from a process ahead of destroy time
msm: kgsl: Remove some uneeded debug output
msm: kgsl: Do not BUG in GPU recovery if a valid context can't be found
msm: kgsl: Enable ME split timeout reporting
After camera probe, releasing LCD_CAMERA_LDO_2V8 &
SKU3_LCD_CAMERA_LDO_1V8 gpios for power on lcd
Change-Id: I2c03f045b0eb5302962145d7466ac2231eea0c83
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
This feature is required for implementing Low energy
proximity client immediate alert service. The proximtiy
client registers with the kernel for receiving RSSI updates
of the remote device. The kernel starts polling for RSSI
value using READ_RSSI HCI command and When it reaches
a particular threshold set by the proximity client,
updates are sent to the client.
Change-Id: I723dd140ad3bf02978c57b3ab127bb6768f28cca
CRs-fixed: 344936
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
Currently snd_soc_jack_report() always acquires codec->mutex and
synchronize DAPM widgets. This automation is helpful if jack has defined
widget. However if codec driver doesn't have defined jack widget and
non-jack widget wants to synchronize with report_sock_jack's thread which
is usually irq handler, it can make dead-lock as all DAPM widget
call-backs are called after codec->mutex acquisition.
Add new API snd_soc_jack_report_no_dapm() so codec driver can have ability
of control DAPM synchronization part of snd_soc_jack_report()
Change-Id: Ifc6054cd8b6d8a6b52517cf84baca1e3949e09fe
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Micro SD cards used on MTP and LIQUID do not have
Write-protect switch defined. Ensure write-protect
option exists only on CDP.
Change-Id: I4a2e4a0cc098b006e87a26eaf3c6e1b3136179ec
Signed-off-by: Oluwafemi Adeyemi <aadeyemi@codeaurora.org>