Commit graph

577927 commits

Author SHA1 Message Date
Vikram Mulukutla
3f11a4bc4f sched: core: Skip migrating tasks that aren't enqueued on dead_rq
During migrate_tasks, we have to drop the dead_rq lock in
order to preserve locking order when acquiring task->pi_lock.
This may allow the task to migrate off of dead_rq. Therefore,
don't attempt to migrate such a task again from dead_rq.

Change-Id: Id31b58e231d3dcd7d32e0dc7f264595d60a7c408
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-11-11 16:09:55 -08:00
Ingrid Gallardo
dba97196b9 msm: mdss: Avoid accessing pipe out of the boundaries
When display driver looks for a pipe, it checks for
the number of rectangles that the pipe allows.
This number only needs to be obtained from the base
pipe and there is no need to check for this number
on each of the rectangles of the base pipe.
Current code, gets this number for the base pipe
and for each of its rectangles while iterating the
list of pointers; main problem is that in the
loop through the rectangles, the pointer to the
'pipe' has been already increased at the end of the
'for' loop; which causes that the check to see if
the iterations need to continue is done against the
next element of the list; this is mainly a problem
for the last element of the list, since the pointer
would be something beyond the boundaries of the list.

Change-Id: Ie4ac72e460643606f718d5809e65cda70932fb84
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-11-11 15:46:14 -08:00
Veera Sundaram Sankaran
5d30a3d0dc msm: mdss: avoid removing wrong multirect on validate failures
During atomic commit - validate failures, the newly allocated
pipes and pipes taken from the destroy list are cleaned up.
Currently pipe ndx is checked which can lead to cleaning up
the already in use multirect instead of the rect allocated
in the current validate. Add checks to include checking based
on multirect to avoid such cases.

Change-Id: I7f8fb6630314cdc523490e28d90dd3776bdfeada
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-11-11 15:24:30 -08:00
Siddartha Mohanadoss
f0bcb723f9 iio: rradc: Update RRADC USBIN scaling
To improve accuracy update RRADC USBIN current
scaling factor for V/A from 0.5 to 0.53.

Change-Id: Ia13bd8702f337f71dae5d612f6efe55ee8c2a317
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2016-11-11 14:25:56 -08:00
Deepak Katragadda
52168e4c32 clk: msm: Add the CLKFLAG_NO_RATE_CACHE flag for MM clocks on MSM COBALT
The clock driver by default returns immediately if a set_rate()
request is made for a clock with a frequency that matches the
SW frequency state. This is an optimization to avoid performing
unnecessary clock configuration updates.
Due to a HW limitation of the multimedia block on MSM COBALT,
the clock sources or RCGs can end up running at XO frequency
after a multimedia power collapse. In order to avoid this,
have the multimedia clients call set_rate() prior to enabling
their clocks. In addition, add the CLKFLAG_NO_RATE_CACHE flag
to the multimedia clocks to remove the above mentioned set_rate()
optimization and re-configure the clock source for every rate
request, regardless of what rate the RCG is already configured to.

CRs-Fixed: 1088709
Change-Id: I21e1c029e6b245cfa26a187b35bb1f6845302484
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-11-11 14:19:37 -08:00
Tony Truong
d0430dc0f2 Revert "ARM: dts: msm: disable L1 and L1ss for PCIe on msmcobalt"
This reverts commit c93b93ee87 ("ARM: dts: msm: disable L1 and
L1ss for PCIe on msmcobalt").

Re-enable a necessary power saving feature for PCIe and its
client.

Change-Id: I231f518b701a988ab4a4f475e7e3c6f17d58187b
Signed-off-by: Tony Truong <truong@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-11-11 23:38:39 +02:00
Maya Erez
6de37372b4 msm_11ad: disbale L1 for 11ad device
Enabling L1 / L1SS for 11ad device causes PCIe
link down or PCIe NOC read/write timeouts.
To prevent that, disable L1 for 11ad devices after
PCIe enumeration and resume.

Change-Id: I5061c95855d462879c2f5237ded80131de4d215d
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-11-11 23:38:22 +02:00
Dhaval Patel
5d2b103d52 msm: mdss: fix race condition in dsi clk off request
DSI clocks are requested from mdp and dsi for
different use cases. The master clocks(DSI0 clocks)
are refcounted to avoid toggling during slave
clock ON/OFF sequence. Same applies to split controller
clocks if broadcast mode is enabled. Now, mdp client
can remove the dsi client's vote in below case:

- MDP requested clocks in ECG state
   - clk_ctrl has removed both votes from ctrl-0
     using dsi client handler.
- DSI turns ON clock for ctrl-1
   - clk_ctrl turns on clk for ctrl-0 using dsi
     client handler.
   - clk_ctrl increase the ctrl-1 refcount to 1
   - clk_ctrl turns on clk for ctrl-1
- MDP request to turn OFF the clk for ctrl-1
   - clk_ctrl turns on clk for ctrl-0 using dsi
     client handler
   - clk_ctrl increase the ctrl-1 refcount to 2
   - clk_ctrl turns off clk for ctrl-1
   - clk_ctrl turns off clk(twice) for ctrl-0
     using dsi client handler.

This race condition leads to dsi0 clocks off event when
interface is using clocks. This change start tracking
extra vote based on calling client id.

Change-Id: I4812330453dedacd16dad1d920a2bacc3f67042b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-11-11 12:07:14 -08:00
Subbaraman Narayanamurthy
561bfca197 leds: qpnp-flash-v2: Add support for programming led clamp currents
Allow the mitigation clamp current values for the leds to be
configured through the device tree.

CRs-Fixed: 1060212
Change-Id: I23bf67fba7cef2735db436899a9d5b3306e5a77f
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-11-11 11:59:15 -08:00
Subbaraman Narayanamurthy
05939b3db2 leds: qpnp-flash-v2: modify regulator control for switch devices
Currently multiple regulator devices can be specified for LED
switch device though a switch device may just require one supply.
Also, before the switch device is enabled, voltage request is
sent to set the maximum voltage. This is not needed with the
regulators like BoB being used as supply for the switch device.
Just enabling the regulator is enough during switch operation.
Modify the way the regulator is obtained and controlled for
switch operation.

Since BoB regulator is configured by the bootloader properly
for flash operation, remove them from the supply list of LED
switch devices on pmicobalt and pm2falcon.

While at it, fix the way device tree properties are read from
flash/torch, switch devices.

CRs-Fixed: 1083246
Change-Id: I8eb5f305f89bc18ad4b735bd89cbf259f0e1ea11
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-11-11 11:59:15 -08:00
Subbaraman Narayanamurthy
e03e61b954 leds: qpnp-flash-v2: Add sysfs support to query max_current
Add support to query max_current for each switch node through
sysfs. This will be useful to know the maximum current that
the flash switch device can draw at that time.

Change-Id: Ie83e71eafff5c49c81f56f92aa719662814997ed
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-11-11 11:57:56 -08:00
Dhaval Patel
e2ef952c4e mdss: mdp: avoid panic if recovery handler is uninitialized
Recovery handler is uninitialized during ctl stop process.
A fifo error occur during stop process leads to panic
which is false alarm. These errors do need panic because
controller is going to stop/start and invokes the
panel power off/power on. This patch removes the panic
from the cases where recovery handler is uninitialized.

Change-Id: I422d53d008223a9b0520f499e629f681bb6afa05
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-11-11 11:46:23 -08:00
Dhaval Patel
6f874e20a4 msm: mdss: add null check before dereferencing src_fmt
Add null check before dereferencing the src_fmt
during layer validation.

Change-Id: I6482dc3d21fdc3e570fd53022e2fb9427668d939
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-11-11 11:46:00 -08:00
Shiv Maliyappanahalli
2b39a667dc drivers: soc: increase glink tx buffer count
The number of total glink tx buffers are running out
while exercising audio concurrency usecases. Increase
the max tx count to accommodate additional buffer needs.

Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Change-Id: Iab64336f8efde2778c16156c6bfcf566c4c892d3
2016-11-11 11:43:35 -08:00
Syed Rameez Mustafa
48cda09051 Documentation: sched: Update frequency guidance explanations
Following the introduction of the top-tasks approach towards frequency
guidance, the documentation on frequency guidance needs to be updated.
Update the same with new and accurate information.

Change-Id: If7deee97c09666b7d9513f79c0e278c430acfdfd
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2016-11-11 11:37:53 -08:00
Liam Mark
b40f602bfa iommu/arm-smmu: support mapping before enabling S1 translations
For performance reasons there are clients who would like to move
from stage 1 bypass to stage 1 enabled without having to stop their
device.

Currently clients need to stop their device because they have to
create the required stage 1 mappings before re-enabling the device.
Add the new DOMAIN_ATTR_EARLY_MAP domain attribute to allow clients
to create stage 1 mappings after attaching but before enabling
stage 1 translations.

If the clients set the DOMAIN_ATTR_EARLY_MAP domain attribute to 1
before attaching then then once they attach the SMMU driver won't
enable stage 1 translations. This gives the client the opportunity to
create the required early mappings (for example using iommu_map).
When the client has finished creating the necessary early mappings
the client can then set the DOMAIN_ATTR_EARLY_MAP domain attribute
to 0, this will in turn enable stage 1 translations.

Change-Id: I9e95c5d2130f1d371e201eac69dec140cc773b1f
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-11-11 09:46:54 -08:00
Yuanyuan Liu
5090370f03 icnss: Collect ramdump from MSA memory space
Collect ramdump from MSA memory space when Modem SSR happens.
WLAN FW runs on modem and stores some data on APPS MSA memory
space. In order to collect full data of FW during Modem SSR,
ICNSS platform listens for Modem SSR notification and collects
MSA ramdump.

CRs-Fixed: 1088608
Change-Id: I9c014261f5e25b3ec4585747d324ea2cb6ab18fb
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2016-11-11 09:13:27 -08:00
Dilip Kota
39c04f12d9 ARM: dts: msm: Add slimbus instance entries for msmfalcon
Add Audio and QCA slimbus instance entries.
Entries are disabled by default. Need to enable
along with slave instances.

Change-Id: I372e9e38a567e0cf83a226f29510fdf570decd43
Signed-off-by: Dilip Kota <dkota@codeaurora.org>
2016-11-11 17:54:12 +05:30
Tony Truong
da2d8a086e msm: pcie: support QGIC MSI for multiple clients
Add support to provide QGIC MSI for each client
that requests for it when they share the same
root complex.

Change-Id: Ia7e33fae35b3c5083ff5834344c21d6c8288b53d
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-11-11 01:59:16 -08:00
Manoj Prabhu B
0e1d1f5c94 ARM: dts: msm: Enable memory allocation for diag on triton
The new diag client requires additional memory from hlos.
This patch caters to diag memory requirement.

CRs-Fixed: 1079523
Change-Id: Ief14bb96bfdc1998b7b9423755daae8d93964672
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2016-11-11 14:26:22 +05:30
Linux Build Service Account
8e69887600 Merge "debug-pagealloc: Panic on pagealloc corruption" 2016-11-10 22:49:44 -08:00
Linux Build Service Account
48247bb879 Merge "msm: kgsl: add egl_surface/egl_image usage count in debugfs" 2016-11-10 22:49:43 -08:00
Linux Build Service Account
a80049346b Merge "regulator: qpnp-labibb: add support to configure PFM for LAB regulator" 2016-11-10 22:49:43 -08:00
Linux Build Service Account
25d7561a4a Merge "ARM: dts: msm: Add IMEM pil entry for msmtriton" 2016-11-10 22:49:42 -08:00
Linux Build Service Account
d87560512f Merge "PM / devfreq: Restart previous governor if new governor fails to start" 2016-11-10 22:49:41 -08:00
Linux Build Service Account
1787801211 Merge "timer: Don't wait for running timers when migrating during isolation" 2016-11-10 22:49:40 -08:00
Linux Build Service Account
befd242303 Merge "sched/core: Fix migrate tasks bail-out condition" 2016-11-10 22:49:39 -08:00
Linux Build Service Account
2401d64a48 Merge "core_ctl: Synchronize access to cluster cpu list" 2016-11-10 22:49:39 -08:00
Linux Build Service Account
896ddc1b32 Merge "ARM: dts: msm: Fix BT current leakage in msmcobalt MTP and CDP" 2016-11-10 22:49:38 -08:00
Linux Build Service Account
d3939fea72 Merge "clk: qcom: Add support to initialize & handle dynamic update for alpha plls" 2016-11-10 22:49:37 -08:00
Linux Build Service Account
e73de78f69 Merge "ARM: dts: msm: Correct camera dtsi place for msmcobalt skuk device" 2016-11-10 22:49:36 -08:00
Linux Build Service Account
de9acd7e8f Merge "arm: dma-mapping: page align size before flush tlb" 2016-11-10 22:49:35 -08:00
Linux Build Service Account
c2183620ea Merge "ARM: dts: msm: Add GPU mempools properties for all msm" 2016-11-10 22:49:34 -08:00
Linux Build Service Account
e0181c29c3 Merge "msm: camera: Change CID array size to MAX_CID_CH_PARAM_ENTRY" 2016-11-10 22:49:33 -08:00
Linux Build Service Account
90bc693dd3 Merge "clk: qcom: gpucc: add and update clocks of GPUCC" 2016-11-10 22:49:26 -08:00
Linux Build Service Account
c24c3c4d70 Merge "ARM: dts: msm: Add camera node for msmcobalt QVR board" 2016-11-10 22:49:25 -08:00
Linux Build Service Account
6a1bff9bbe Merge "msm: camera: Change %p into %pK" 2016-11-10 22:49:24 -08:00
Linux Build Service Account
a2169b6661 Merge "msm: camera: sensor: Change initializer to 0 instead of -EINVAL" 2016-11-10 22:49:23 -08:00
Linux Build Service Account
b584568fe7 Merge "msm: kgsl: Change device-type memory mapping to Normal-NC" 2016-11-10 22:49:22 -08:00
Linux Build Service Account
3a7f3d14d8 Merge "msm: pcie: change the log type for PCIe Synopsys MSI interrupts" 2016-11-10 22:49:21 -08:00
Harry Yang
d5c5cd27e0 qcom-charger: smblib: add support for pd current setting
Forcing a certain current limit is not supported in the current
driver, but well needed in when pd is active.

In this change, ICL_OVERRIDE/APSD and USB mode are updated, so
that PD can alter current limit by simply voting the ICL
setting.

Change-Id: I8d3ec938d433fe9bdbb8c091873c07e75c49d632
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2016-11-10 22:45:43 -08:00
Xiaogang Cui
9a549afd73 ARM: dts: msm: correct subtype of MSMCOBALT V2 QRD SKUK device
Correct subtype of msmcobalt V2 QRD SKUK board.

Change-Id: I3510952832f958b3b9d9d0a3e7237df34328ec30
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
2016-11-10 22:41:24 -08:00
Fenglin Wu
c8f85b42fe leds: qpnp-wled: Add support to configure AUTO_GM settings
WLED in pmicobalt supports AUTO_GM configuration in CTRL_VLOOP_COMP_GM
register. Add two properties to enable auto-gm and set auto-gm threshold.
Meanwhile, move "qcom,loop-ea-gm" property outside of AMOLED constraint
because WLED in LCD mode also support it.

CRs-Fixed: 1081738
Change-Id: Iee99e9d1b999c84ece075d2f17e9cdf6aef9a2ac
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2016-11-11 14:31:38 +08:00
Fenglin Wu
e146a32840 leds: qpnp-wled: Add support to configure VREF_CONTROL for pmicobalt
WLED module in pmicobalt has different VREF_CONTROL settings with current
WLED module which is existing in pmi8994/pmi8952, including min voltage,
max voltage, step size and default voltage. Add support for it.

CRs-Fixed: 1081738
Change-Id: Ibaa555cec8cfd296125af3e6277df5331f5c438b
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2016-11-11 14:19:05 +08:00
Tony Truong
55e95d956c msm: pcie: remove PCIe PHY and PARF dump in linkdown
Do not dump PCIe PHY and PARF register space when there is
a linkdown. By the time PCIe receives the linkdown interrupt,
the reset for PCIe PHY has already happened, so these registers
do not have any meaningful value.

Change-Id: I8f66ab9375fd42573a895d5d872a3d2e1782adee
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-11-10 18:26:29 -08:00
Tony Truong
c25e50abe9 msm: pcie: support configurable wr halt size for PCIe
Clients of PCIe determine the size and transfer speed of
incoming IP packets. In order to ensure ordering of all
packets, each client requires different PCIe write halt
sizes. Thus, make this PCIe setting configurable.

Change-Id: I208c8c83a8f5ee8efadf01175f60d70fb4bf48cf
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-11-10 18:25:33 -08:00
Hemant Kumar
32d27812ec usb: host: skip xHCI power management upon port suspend
xHC gets powered down when host mode is stopped. xHCI power
management is intended for ACPI based power management which
is defined for PC architecture. Hence there is no need to
clear run/stop bit and save the runtime register states upon
port suspend.

Change-Id: I9d0b31021e7c47084cd92c8c70e17cff3d057655
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-11-10 18:14:30 -08:00
Ajay Singh Parmar
44b187a8c5 msm: mdss: dp: handle fast attention events
Sink may issue attention event faster then it can be processed by
source. Create a list of attention events and process them one by
one in the order on workqueue to avoid missing any attention event
from sink.

Change-Id: I36fd45efe1aa9437d5551002fc75a5f37d9cef79
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-11-10 16:25:14 -08:00
Praneeth Paladugu
c9cfe96cea msm: vidc: Avoid unnecessary buffer requirements call
When clients make call to release buffers, driver is calling
buffer requirements to HW. Sometimes this can cause incorrect
state operation which can result buf_req failure. Hence avoid
this call.

CRs-Fixed: 1087935
Change-Id: I12873a92ed0b7157032c25946cce27349f2c2a1f
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
2016-11-10 16:24:26 -08:00
Ajay Singh Parmar
25aad74929 msm: mdss: hdcp2p2: check for valid keys before authentication
HDCP authentication requires valid keys on the source device.
If keys are not present, authentication can never be successful.
Check if the device is provisioned with hdcp keys, if so, proceed
with the hdcp authentication on HDMI/DisplayPort cable connection
otherwise avoid authentication as it may result in unnecessary
re-authentication loop.

Change-Id: I391ee35fa20cfade89773ecb565b220cc6249b8d
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-11-10 16:21:02 -08:00