Commit graph

569870 commits

Author SHA1 Message Date
Runmin Wang
f57026626d pinctrl: qcom: Fix sdc2 offset
Fix the offset of the sdc2_pull_ctrl register.

CRs-Fixed: 1006865
Change-Id: I549baca7a69ff777e1a30a95e695cbd530035858
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-04-27 19:04:50 -07:00
Chris Lew
798f2438dd soc: qcom: glink: Refactor rwref lock mechanism
Add an option to rwref locks that allow the lock functions
to spin when acquiring the lock. Change completion variable
to use waitqueues for sleep functionality.

Change rwref reference function calls to use locking functions
where code reads or writes the context state.

CRs-Fixed: 988266
Change-Id: Ib2908b2495b1b01a6a130033143a7da8e5c0c231
Signed-off-by: Chris Lew <clew@codeaurora.org>
2016-04-27 19:04:49 -07:00
Chris Lew
4ac9a6bc2a soc: qcom: glink: Reorganize glink lock hierarchy
Update the locking hierarchy to reflect the current and
future use-cases. This helps in avoiding deadlock due
to out-of-order locking scenario.

CRs-Fixed: 988266
Change-Id: Ib40da2ecd413e7712cacc9663394e725ebd64a0a
Signed-off-by: Chris Lew <clew@codeaurora.org>
2016-04-27 19:04:49 -07:00
David Collins
8b1ddc0fcf platform: qpnp-revid: switch to PMCOBALT and PMICOBALT names
Change the PMIC names to use PMCOBALT and PMICOBALT.

Change-Id: Ia2c9be4ec36f522968364ebb66190278cfbb9244
CRs-Fixed: 1007932
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-04-27 19:04:48 -07:00
Arun Menon
82ba166974 msm: vidc: Clean session immediately after session end
After driver has received session_end_done from firmware,
it no longer needs to retain the session information, since
firmware has already cleaned up the session. If the driver
sends any further session command to firmware, there will
not be any valid response from firmware. Ensure this by cleaning
up the session as soon as session end is received.

CRs-Fixed: 993591
Change-Id: Ia7517c0e6beab1178d70b72b3f5c0b512b400bd8
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
2016-04-27 19:04:47 -07:00
Arun Menon
757aff54ff msm: vidc: Add support for output crop extra data
Venus firmware reports the crop dimensions for
each FBD in the extra data buffer. This change is
needed to support the new extra data type -
MSM_VIDC_EXTRADATA_OUTPUT_CROP.

CRs-Fixed: 999551
Change-Id: I3d1aa4a44701192e4bd85bdee29d6f2a49b9e5a7
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
2016-04-27 19:04:46 -07:00
Skylar Chang
81d9bef7e6 msm: ipa3: use user parameter for GSI ring len
Calculate GSI ring length based on the input parameter to
setup pipe API.

Change-Id: I151400624f374262a955a04d211a96c43feb6d98
CRs-Fixed: 996292
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-27 19:04:46 -07:00
Skylar Chang
710b2695c1 msm: ipa: usb: change IPC logging to common buffer
Use IPA driver IPC buffer for IPC logging for IPA USB.

CRs-Fixed: 1005492
Change-Id: If127a18f70cb13f98d8d5443e0c3b617d2601954
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-27 19:04:45 -07:00
Skylar Chang
66a4c71514 msm: ipa: add IPC logging to IPA RM
Add IPC logging support for IPA resource Manager.
IPC logging will be stored in the same log buffer
as IPA IPC log.

CRs-Fixed: 1005492
Change-Id: Id2f1a32ee61e894fe78d5efcd76edded19becd0b
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-27 19:04:44 -07:00
Skylar Chang
1741862c69 msm: ipa: ipahal: change IPC logging to common buffer
Use IPA driver IPC buffer for IPC logging for IPAHAL.

CRs-Fixed: 1005492
Change-Id: Iee4f6e7b5da3ca27e9ef619bfb2bacc45970d3cc
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-27 19:04:43 -07:00
Skylar Chang
b1136eebcd msm: ipa3: allocate ipa_low IPC only when needed
for data path and other frequent log prints, IPA driver is
using a debugfs trigger to enable those.
This change is an optimization to allocate IPC resources only
when needed instead of on boot up.

CRs-Fixed: 1005492
Change-Id: I6e7ac15ea7256c18e4174de56adb532ab6c6b0d0
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-27 19:04:43 -07:00
Liam Mark
994ee60d4a iommu/arm-smmu: Disable clocks in reverse order
Currently we're disabling clocks in the same order in which we enable
them, but some clocks have dependencies and ordering requirements so we
should actually be disabling them in reverse order.  Do it.

CRs-Fixed: 1000848
Change-Id: Ie01df24b72a3247a24ab6fbd7a90ec8cfee7236f
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-04-27 19:04:42 -07:00
Alex Sarraf
ed2defb088 input: touchscreen: synaptics_dsx: Set power specifications
Set voltage and current specifications for LDOs.

Change-Id: I6e666390ddbdd8128b6ebff8e2deb8c85cf35b21
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-04-27 17:46:09 -07:00
Jing Lin
282ce22834 devicetree: binding: add binding doc for qpnp-haptic driver
Add device tree binding doc for the qpnp-haptic driver.

Change-Id: I866eb6915717ce54c52061a22e29c1dfc88c1c7b
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-04-27 17:45:55 -07:00
Chun Zhang
38b6bcac25 ARM: dts: msm: enable PMIC WLED on Cobalt
Add device tree info to enable WLED on Cobalt.

Change-Id: I8002e61887e11ae15c5a503d9caedc880d56d952
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-04-27 17:45:44 -07:00
Chun Zhang
c49f7ba4cf ARM: dts: msm: enable touchscreen on Cobalt CDP and MTP
Cobalt CDP and MTP are equipped with Synaptics S3528 touchscreen.
Add in device tree information to enable touchscreen on these
platforms.

Change-Id: Iff4c24064312501221c1d5abfab49e11a94f9197
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-04-27 17:45:26 -07:00
Jing Lin
971097cdf1 devicetree: binding: add Synaptics to vendor prefixes
Add Synaptics, Inc. to the vendor prefix list.

Change-Id: Ie0ee0c0c5bc841c86ac0f45eec3ec71fb657098c
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-04-27 17:45:15 -07:00
Girish Mahadevan
bcfaf53cd7 defconfig: msm: Enable serial bus drivers
Enable the serial bus drivers [I2C/SPI/HS-UART].

Change-Id: Ia56b436c026927d2b7015b004e51b44be1450519
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-04-27 17:44:58 -07:00
Ankit Gupta
8260b1194a ARM: dts: msm: add blsp devices config for msmcobalt
Add device tree entries for i2c, spi, dma and uart.
All device entries are disabled by default and
allow to enable the required instances
in the main platform dtsi file.

Change-Id: I392bca629cfa87343f3a82ed13f48bafba592a51
Signed-off-by: Ankit Gupta <ankgupta@codeaurora.org>
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-04-27 17:44:46 -07:00
Trilok Soni
e3b6c95c59 defconfig: automatic update
Automatic update of defconfigs.

Change-Id: I24378a4a654f872a096031ad945df3d378c02532
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2016-04-27 17:44:43 -07:00
Sudheer Papothi
be8119c92d ARM: msm: dts: Add interrupt and clock gpios for codec on msmcobalt
Add interrupt and clock gpios for wcd9335 codec on msmcobalt
target. These changes will provide interrupts from the codec
and clock to the codec.

Change-Id: I4bd278c9f6e22cdaeed012d0d0d6314acfacd36e
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-04-26 14:38:14 -07:00
Tatenda Chipeperekwa
79d2ead79b msm: mdss: hdmi: update power module state during probe
Update the state of any power modules that are enabled during
the probe when HDMI is the primary panel and continuous splash is
enabled. This allows the HDMI transmitter core to correctly power
on/off modules during states transitions such as those associated
with runtime suspend and resume.

Change-Id: If2f4fb5837c0a0a380d95be8292b8d5064eaec0f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-04-26 14:38:13 -07:00
Tatenda Chipeperekwa
af6fbb8c79 msm: mdss: send FB registered event before initializing MDP
Send the FB registered event before initializing MDP in order to
allow the panel driver to complete any internal initialization
before MDP operations begin. For example, in the case of HDMI
panels, this will ensure that the Hot Plug Detection (HPD)
circuitry is enabled and that the HDCP libraries are loaded
before data is transmitted on the link.

Change-Id: Icbf1e0abb937d4196677aa896a5386fbaa8ae034
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-04-26 14:38:12 -07:00
Tatenda Chipeperekwa
2adbd15068 msm: mdss: hdmi: enable scrambler during handoff
Enable scrambler during handoff scenarios in which there is no
resolution switch from the bootloader to the kernel. Furthermore,
power on the HDMI core before enabling the scrambler to ensure
that there is a smooth transition during the handoff without any
temporary blinks on the panel.

Change-Id: I94dde166dabf2b3260b6cae34bfcdf0e99fe4112
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-04-26 14:38:12 -07:00
Tatenda Chipeperekwa
f3d7b604a5 msm: mdss: hdmi: do not toggle power for HDMI modules
Do not toggle the power for HDMI modules during continuous splash
since the power would have been enabled in the bootloader.
Toggling power during handoff can leave the core in a bad state
especially when scrambling is enabled for 4K HDMI modes.

Change-Id: I8279b8933386db184ed2c627cef928321cbc3eea
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-04-26 14:38:11 -07:00
Tatenda Chipeperekwa
eb30f34bba msm: mdss: hdmi: add debug method to print panel event names
Add a method to convert panel event enumerations to actual event
names in order to aid in debugging.

Change-Id: Iffdf3b974ceaf0cade50d0589a2d5014136fbd69
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-04-26 14:38:10 -07:00
Jayant Shekhar
8f1887371a msm: mdss: Fix potential pipe NULL pointer dereference
NULL pointer derefernce can happen with variable pipe
struct during pipe intialization. Fix this to add a
check for NULL pointer.

Change-Id: I3241ed89979deb777ca62d0c893afb96926820ee
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-04-26 14:38:09 -07:00
Veera Sundaram Sankaran
44111e6548 msm: mdss: reset WB mixercfg during WB destroy
Stale configs are left in layer mixer, when switching between
single/dual mixers. This might cause unexpected issues later.
Reset the configs during wfd destroy, so that it will have clean
LM configs for the next setup.

Change-Id: I3cd3699af1aa63b12e43a9d53ac505235b668e98
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-04-26 14:38:09 -07:00
Dhaval Patel
a7538355f9 msm: mdss: fix bit offset in pps configuraiton for dsc
Fix bit offset in picture parameter set configuration
in dsc based on spec.

Change-Id: I244ad4b1ae3936f4362d6b85f04985a611b82d99
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-04-26 14:38:08 -07:00
Veera Sundaram Sankaran
7f24e29e4f msm: mdss: fix possible race condition in mdp resource control
There might be a race condition where the early wake-up work item gets
preempted for the stop call when the resource state is already set to
off by the early wake-up. In this condition, the stop call clears the
ctx, leading to issues when the early wake-up work item runs again since
the ctx is not valid any more. Fix this condition by making sure that
stop call always waits for the early wake-up work item to finish.

Change-Id: I64aba71bb4c5602df9a524b77bd8bf3296dda012
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-04-26 14:38:07 -07:00
Ping Li
fd396b9e9f msm: mdss: Fix deadlock between AD lock and mdp clk lock
In AD driver, the AD lock and mdp clk lock are acquired in different
sequences which causes deadlock. This change fixes the issue by
modifying the mutex lock acquiring sequence to always acquire the
mdp clk lock before the AD lock.

Change-Id: I3aa62bf78d296cb68b10013a24816e7016acab65
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-04-26 14:38:06 -07:00
Jayant Shekhar
b9c131d741 msm: mdss: update backlight during unblank if required
Some panel don't require backlight to be updated during
unblank and only require update upon first commit. Add
support to update the backlight based on panel specific
property.

Change-Id: I43f33505be5151640ad7dc2ee1a14df8a55a6dfe
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-04-26 14:38:06 -07:00
David Collins
b27c6968c6 ARM: dts: msm: add L7, L17, and L25 regulator pin control on msmcobalt
Add HW_EN2 mode pin control for PMCOBALT regulators L7, L17, and
L25.  This ensures that these LDO regulators are switched to
normal power mode when the Bluetooth chip asserts the SW_CTRL
signal.

Change-Id: I57123159b9fade665a775fe060d6cba34f0ec5ad
CRs-Fixed: 1004290
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-04-26 14:38:05 -07:00
Skylar Chang
60cb951096 ARM: dts: msm: load ipa3-uc on MSMCobalt
Enable ipa-driver on MSMCobalt to load
ipa-uc and support modem SSR.

Change-Id: I2bc9c0fedefef931ad2bf36841a0226f5dcca3d8
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-04-26 14:38:04 -07:00
Vinayak Menon
b6fb81015e mm: fix compile time error with !CONFIG_CMA
Fixes compile time failures because of not protecting
CMA related elements with CONFIG_CMA.

Change-Id: I930b7c0ffdce0f1bfc4f8a582a698be16ed44d1f
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-04-26 14:38:03 -07:00
Nicholas Troast
90d66b6f71 gpio: qpnp-pin: Fix crash while freeing memory when probe fails
Memory is allocated for the number of available nodes while memory is
freed for the number of all nodes. The memory that is attempted to be
freed when the driver probe fails is out of bounds and leads to a crash.
Fix the looping condition to free the correct amount of allocated memory.

CRs-Fixed: 1006797
Change-Id: I331463e3de8e6ff874995b122aa7415a7da64b31
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-04-26 14:38:03 -07:00
Lina Iyer
f99837bc86 defconfig: msm: enable QCOM_THERMAL_LIMITS_DCVS
Enable Limits DCVS hardware driver.

Change-Id: If1c078fbb432bd9f314cd788edfab5ebb7687117
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2016-04-26 14:38:02 -07:00
Lina Iyer
ca7a21508c ARM: dts: msm: add sensor information for LMH DCVS sensors for msmcobalt
LMH DCVS hardware exports a thermal sensor for each instance. Provide
information about this sensor to msm_thermal.

Change-Id: I59f6c2a5cb552f4462a1ebd3ff8e1c64e7519e2c
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2016-04-26 14:38:01 -07:00
Lina Iyer
e87096d8bb ARM: dts: msm: Add LMH DCVS device bindings for msmcobalt
LMH DCVS hardware block provides hardware based thermal mitigation for
the CPU clusters. There is one block per cluster. Each block exports a
thermal zone, each with one thermal sensor through the thermal
framework.

Change-Id: Ia80616cc97737beadc1c327bcac399d9f7849f25
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2016-04-26 14:38:01 -07:00
Lina Iyer
5132bf6146 drivers: msm_thermal: use OSM to set CPU freq limits
On SoCs that have OSM hardware, use the hardware to setup the CPU
mitigation limits. Having the OSM control CPU frequencies offloads
mitigation from the CPU, resulting in faster thermal mitigation
response.

The LMH DCVS aggregation does not do a max of the min frequency limits.
Therefore to avoid cpufreq voting any lesser than what KTM decides based
on vdd min restrictions, we update cpufreq as well, only if the min freq
has changed.

Change-Id: I2912eaf418d5e7ea4d62a9a55702e02b744a785b
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2016-04-26 14:38:00 -07:00
Lina Iyer
abc784c00c drivers: thermal: add LMH-DCVS driver
The Limits Management Hardware (LMH-DCVS) is a hardware block for
monitoring thermal profiles and taking immediate action to control
temperature without software intervention. The h/w block can only be
configured under secure mode.

The LMH-DCVS block reads CPU temperatures of a cluster by sensing
information from the TSENS hardware and determines the course of action.
When enabled, the h/w triggers when the high threshold is hit for any
CPU in the cluster. The mitigative action is frequency and voltage
control that is provided to the OSM hardware.

The driver registers a virtual thermal zone device for each hardware
instance. The thermal zone device is used to set the thresholds for the
hardware to work on. Once the thresholds are setup and the trip type is
enabled, the hardware functions autonomously. Mitigative action is
completely controlled in the h/w.

Writing to the actual hardware is done through the SCM call.

Change-Id: I70d4bc387717491256fec1ef6bd8cd6a28ea641b
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2016-04-26 14:37:59 -07:00
Sudheer Papothi
f9c1246a81 ARM: msm: dts: Use msm codec pinctrl for wsa881x reset gpios
MSM codec pinctrl driver is added to handle wsa881x reset gpios
gracefully. wsa881x reset gpios uses msm codec pinctrl device
node to set the pin to valid state. Change enables wsa881x
reset gpios to use msm codec pinctrl device node.

Change-Id: I753a782a1b4587ac77c4dd6afc6b6a3ec07fcd8b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-04-26 14:37:58 -07:00
Venkat Gopalakrishnan
32ae49b565 phy: ufs-qcom: add optional ref aux clk
phy-ufs-qcom-qmp-v3 needs an additional ref aux clk to be enabled,
add support for the new ref aux clk and make it optional as its not
needed by other phy versions.

Change-Id: I5e04980eb451b193e9c024bfe35383d10d17feff
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-04-25 17:54:14 -07:00
Arun Kumar Neelakantam
2bb44fdeb8 net: ipc_router: Fix xprt_info use after free issue
In SSR case the xprt_info pointer is freed without considering the users of
the pointer in TX path will leads to use after free of the pointer.

Use the reference count to keep track of the xprt_info structure and wait
for the all user to complete the task before free the xprt_info pointer.

CRs-Fixed: 999123
Change-Id: I894a877346ff1d395c6f1b06267dfec333cb1024
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2016-04-25 17:54:02 -07:00
Mayank Rana
29a79eb7ca dwc3-msm: Don't perform bus voting from dwc3 driver probe
Currently dwc3 driver's probe is doing bus voting. This voting remains
until USB cable is connected and disconnected. Due to this voting, XOSD
is not happening. Fix this issue by removing voting from driver's probe
context and let USB's suspend and resume take care of bus unvoting and
voting respectively.

CRs-Fixed: 1007183
Change-Id: I34f7cbf2aa10b63712e5142f908fa77ae195f5b1
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-04-25 17:53:53 -07:00
Venkat Gopalakrishnan
ab02a8dd22 phy: qcom-ufs: update pll max voltage
The pll supported voltage various per platform, the min supported
is 1.2V and max supported is 1.8V, make the necessary change to
reflect that.

Change-Id: Id93509ddcf298ee076b46703d9a55a5a7ba60638
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-04-25 17:46:48 -07:00
Mayank Rana
3ee00ddf25 ARM: dts: msm: Fix used registers' offset with QUSB PHY on msmcobalt
Some of registers' offset used with QUSB PHY programming sequeunce are
incorrect. Fix these offset to make sure required registers are
programmed with QUSB PHY.

CRs-Fixed: 1005497
Change-Id: I35751afdc418cd5bd38422d90cedcfd97442a6f7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-04-25 17:46:37 -07:00
Ram Chandrasekar
168629b495 msm: thermal: Support thermal driver for 4.4 kernel
Fix compilation issues. Replace deprecated APIs with
the new APIs for 4.4 kernel.

Change-Id: I0cd5adc5c9c6ff9979b6d3a626541e6755029d2f
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2016-04-25 17:46:25 -07:00
Andrey Markovytch
d9d0ee4b78 scsi: ufs: qcom-ice: block further requests until ICE config is complete
Requests that need to go through the ICE must be setup with a key
before and have a key index ready. In cases where the key is not
ready as it is not in the key cache, the ICE 'config_start' callback
returns -EAGAIN and we need to block further requests and call
'config_start' again from a non-atomic context until key setup
is ready and then resume requests handling.

Change-Id: I51ff1e99240386ce533b5ab3f5f024043532b0ad
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-04-25 17:46:15 -07:00
Andrey Markovytch
fe9cbb77bf crypto: ice: split the config callback
The requests configuration has to be split so clients can inform
ICE laeyr when the request is completed.
Rename the 'config' callback to 'config_start' and add
'config_end' callback.

Change-Id: Ife0b5b62805b827449a1bb1002348db445f03c60
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-04-25 17:45:49 -07:00