Commit graph

568790 commits

Author SHA1 Message Date
Harshdeep Dhatt
e34ca145b3 msm: kgsl: Fix the snapshot mempool size calculation
The snapshot mempool size takes into account the memory
required for section headers. It was being calculated based
on old header structure. Update that to avoid corruption/
buffer overflow of the mempool memory.

Change-Id: I07274934e4c0dced707e03be3e31b2459e00d706
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2016-03-23 21:18:28 -07:00
Ray Zhang
b131172459 ARM: dts: msm: change hx8394f GIP setting
There is a corrupted line displayed on top of the display in
some cases. It is introduced by insufficient charging time, so
fix it by revising panel's GIP setting.

Change-Id: Ic31f4a512b38a2f5e8c8419c1b72f0706cfc5ced
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-03-23 21:18:27 -07:00
Trilok Soni
7f0fe9c32e ARM: dts: msm: Add RTB support for msmcobalt
Add RTB (Register Trace Buffer) device tree entries for msmcobalt

Change-Id: I0742e7c762ffdfdf32058af58bd47646ad361725
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2016-03-23 21:18:27 -07:00
Deven Patel
6b521fda9c drivers: mfd: use single read and write mode for i2c regmap config
i2c doesn't support bulk read and write. Enable the single read and write
option in regmap configuration for audio codec to operate correctly in
i2c mode.

Change-Id: I8d27826fe634c660c848a2a8db78f8a31ba16ed0
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
2016-03-23 21:18:26 -07:00
Sanrio Alvares
61059c4df0 ARM: dts: msm: Reuse MSM8996 includes for MSM8996pro
Reuse existing include files for MSM8996pro.

Change-Id: Iad8cab4cf28f7d71078e5206bc70ab4b16152f2d
Signed-off-by: Sanrio Alvares <salvares@codeaurora.org>
2016-03-23 21:18:25 -07:00
Derek Chen
81aa95aa8c ASoC: msm: add port mixer routing for quat_mi2s_rx
Add port mixer routing support from aux_pcm_tx to quat_mi2s_rx.

Change-Id: I6c72ab41123de4f4ab3a37bd23c37c58d689e509
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2016-03-23 21:18:24 -07:00
Viraja Kommaraju
793b94b398 ASoC: Add check for pointer and array index
Add check for NULL pointer access and
array index boundary.

Change-Id: Ia12a28c43b99158a90d27eecd23bdfd4b42b346e
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2016-03-23 21:18:23 -07:00
Laxminath Kasam
6494d49985 ASoC: apr: add API to read subsys state
As audio DSP can be running in lpass or modem
based on chipset, add API to get the subsys state
from apr_v2(lpass) and apr_v3(modem) accordingly.

Change-Id: I7a2b6f12574edcc5f609ce8ddf684a840f86d676
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-03-23 21:18:22 -07:00
Laxminath Kasam
c006b9ad3b ASoC: qdsp6v2: move AFE clock macros to header
As AFE clock version macros can be used
in other drivers, move them to header file.

Change-Id: Iae5717c181e81bf7a6161742e8d062d09bedfb78
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-03-23 21:18:21 -07:00
Abinaya P
94ce65be3c leds: leds-qpnp-wled: set overwrite bit for switching frequency
While configuring the switching frequency for WLED, we need to set
the overwrite bit as well so that the switching frequency change
will get reflected.

Change-Id: I3e7f67b76ac49c1d925a8e84ea1280160ee044bd
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2016-03-23 21:18:21 -07:00
Vidyakumar Athota
964f63a545 ASoC: wcd9335: fix pop during CLS-AB mode
Pop is observed during starting of the playback in CLS-AB mode.
Fix the pop issue by updating register sequence properly.

Change-Id: Iff17245e8a2b14354cc99150a57394ce81ec29b8
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-03-23 21:18:20 -07:00
Deepak Katragadda
870f781d2c clk: msm: clock-local2: Add support for branch clocks rate aggregation
There are cases when multiple branch clocks need to be able to
scale their RCG independently. The RCG should then be configured
to run at the maximum rate of all it's children clocks which are
enabled at that point. Add support for this.

Change-Id: I90b7a9a3007792f65e0292d375e409ce1dbf0c08
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-23 21:18:19 -07:00
Shiraz Hashim
38a6f0388b mm/memblock: call kmemleak only for logically mapped region
On 32bit, memblock_alloc_range_nid can return block of
memory from highmem. Ensure kmemleak is called only for
logically mapped region.

Change-Id: I4491f199437d8401071ba5f98a8b0eedbaf47b00
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-03-23 21:18:18 -07:00
Alex Sarraf
91742a04a3 ARM: dts: msm: Change pull bias for touchscreen I2C node
When touchscreen is in sleep state, GPIOs are still in use.
Change touchscreen I2C pull bias in sleep state to remove
current leak.

Change-Id: I0112eb6944579c6b10861f19376cf8edccd73891
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:18:17 -07:00
Chris Lew
26d8c657ca diag: Change to update the range correctly on a range mismatch
Setting message masks with tools outside of the initial range
causes a reallocation of the structure with the wrong size.
This change updates the sizes to the correct values.

Change-Id: I8bb0d0b77cd4d2417b10345b6e4b09ff29ba5f8c
Signed-off-by: Christopher Lew <clew@codeaurora.org>
2016-03-23 21:18:16 -07:00
Lakshmi Narayana Kalavala
1b668751e4 msm: camera: support dynamic query for ahb vote
Few of the camera modules need to run ahb at higher
voltages like nominal and turbo. Hence add support
to query the voltage corner corresponding the core clocks
and vote for the corresponding ahb voltage.

Change-Id: I75a0ac84d32180f0bd5ce892f35515510e4e2e5f
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-23 21:18:16 -07:00
Jonathan Wicks
b290459823 msm: kgsl: Add A5x support for CONTEXT_SWITCH_YIELD preemption
Enable CP to process yield packets placed in the IB2s.

Change-Id: I2fadfb108a2dc42f574b3f6ed2e667baddb7889c
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2016-03-23 21:18:15 -07:00
Tony Truong
7daad880e2 msm: pcie: mask the aggregated interrupt status register
Aggregated interrupts that are configured to be masked should
not be reported in the interrupt handler. Thus, mask the status
value being read in the interrupt handler to filter them out.

Change-Id: I6b563955309795ac2b68c2527cbd763f9300a029
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-03-23 21:18:14 -07:00
Tony Truong
99e08a1be6 msm: pcie: update PCIe PHY clock scheme
Update the PCIe PHY clock scheme based on the
new settings.

Change-Id: I8c0049766e610bf5d7230fb1a8c531ba681db9c3
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-03-23 21:18:13 -07:00
Tony Truong
5e06e809da msm: pcie: update PCIe PHY DUMP sequence for mdmcalifornium
Update the PCIe PHY DUMP sequence for mdmcalifornium based on
new settings while maintaining backward compatibility.

Change-Id: I8711709dee73d9552c911d10a71e2081d789a51b
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-03-23 21:18:12 -07:00
Venkata Narendra Kumar Gutta
ed41926607 ASoC: msm: qdsp6v2: Don't register to modem for SSR callbacks
Voice driver doesn't create any sessions related to voice call
on modem and hence there is no clean up on APSS is required
when modem SSR is triggered. Cleanup the code in voice driver
which is executed during modem SSR.

CRs-Fixed: 955696
Change-Id: I7536162e49b0eb56f63e7c8e59e0c050123c05fe
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-03-23 21:18:11 -07:00
Tirupathi Reddy
33fa8b5095 regulator: cpr3: Enable thread aggregation for CPR4 controller
Enable CPR thread aggregation regardless of which threads are
enabled or disabled. Also, disable threads in hardware that
are not used.

Change-Id: I969cb4b49d42577eca9902b1a26c71d40443efea
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2016-03-23 21:18:10 -07:00
Rajesh Bondugula
922b17221e msm: camera: sensor: Update default CCI settings to 37.5Mhz
Update CCI settings for 100Khz, 400Khz and 1Mhz I2C
frequency with upgraded CCI frequency of 37.5 Mhz.
Disable clock stretching for 1Mhz I2C frequency and enable
for custom frequency.

Change-Id: Ib28eacc09028c0e2f3e36259f04b71fe0b827bf8
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
2016-03-23 21:18:10 -07:00
Chun Zhang
5316a9576e input: touchscreen: maxim_sti: remove SPI data swap in byte
SPI bus driver did data swap to address big-little endian conversion.
However, recent change in bus driver removes this conversion to align
with hardware peripheral design. Therefore, touchscreen driver sets
SPI bits per word to 16 in order to achieve best data transfer
performance and remove this swap.

Change-Id: Id24417e5afe055315b4c173961509aa7d6806034
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
2016-03-23 21:18:09 -07:00
Karthikeyan Ramasubramanian
3eec48ca88 soc: qcom: ipc_router_glink_xprt: Queue receive intents appropriately
Currently IPC Router queues receive intents as soon as an intent request
is received. Queue a receive intent only if the current pool of
receive intents does not meet the request.

CRs-Fixed: 938394
Change-Id: I6c7a471bf0ed4a4e42f4c42126477de5ee4056a7
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-23 21:18:08 -07:00
Sudheer Papothi
e125c08ab8 ASoC: wcd9335: Increase slimbus clock gear for HPF settings
Increase slimbus clock gear for setting of Tx HPF(High pass filter)
cut off frequency properly. Change will ensure Tx HPF cut off
frequency will applied in the codec.

Change-Id: I7d7c3243c63cd3b9242a15344ecdae89ec9ee977
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23 21:18:07 -07:00
Subbaraman Narayanamurthy
98d79920c8 regulator: qpnp-labibb: do not disable IBB when entering TTW mode
Currently when entering touch-to-wakeup (TTW) mode, IBB module
is disabled as part of the regulator_disable sequence before
applying the settings needed for SWIRE control in TTW mode.
This causes adversary effects such as droop in the VDISN
voltage rail.

To avoid this, as per the hardware documentation, do not disable
IBB module through IBB_ENABLE_CTL when LABIBB regulators are
disabled and entering TTW mode. Instead, just enter TTW mode and
mark the regulators disabled. Normal mode settings will be
applied when the regulators are enabled again as before.

While at it, add a centralized function qpnp_ibb_mode() to write
to IBB_ENABLE_CTL register.

CRs-Fixed: 952847
Change-Id: I74c6ba411091d146ab5719c2d72d6385fa90af21
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2016-03-23 21:18:06 -07:00
Archana Sathyakumar
40fe32a315 lpm: Add sysfs node to display total sleep time
Add sysfs node to query the total sleep time of a cpu since debugfs node
is not exposed to the userspace service.

Command:
cat /sys/module/lpm_stats/cpu0/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu1/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu2/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu3/total_sleep_time_secs

CRs-fixed: 935207
Change-Id: I45be0a8be29932816aa42e097657a2a60933b986
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-23 21:18:05 -07:00
Krishna Chaitanya Devarakonda
277fb0f7d0 msm: mdss: add support for dedicated WB mixer
In some MDP revisions, the layermixer which is
attached to writeback block, is dedicated. It cannot
be used for interfaces. Adding support to take care
of mixer allocations for WB and rotator paths,
for such MDP hardware.

Change-Id: I9df51cf419c1dae3d2ce10597017a05dca1023a8
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 21:18:04 -07:00
Krishna Chaitanya Devarakonda
1f6940fa9c msm: mdss: Add mdss capabilities for msmgold
Add MDSS version info along with other capabilities
for msmgold.

Change-Id: Ia4602fdaf29bad28dffab4bb08a43a6eb6f32178
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 21:18:04 -07:00
Jayant Shekhar
24f4f57184 msm: mdss: Add mdss capabilities for msmtitanium
Add MDSS version info along with other capabilities
for msmtitanium.

Change-Id: If9544098e8bb7f4b0d8198a931e5a7ef8eb561d4
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 21:18:03 -07:00
Kalyan Thota
d6d2450a70 msm: mdss: add xlog for debug in ping_pong timeout
Add addtional debug info to know the commit count
on pingpong timeout.

Change-Id: I1f40a5eee1a14efbf03487db9d398e04cd2e6f7c
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
2016-03-23 21:18:02 -07:00
Ajay Singh Parmar
da4d92394d msm: mdss: hdmi: use hardware hot plug trigger
On receiving hot plug power off event, switch off 5V
regulator in case cable is still connected to sink to
receive disconnect hardware interrupt. Do not issue
software based disconnect event in this case as it can
cause different modules to go out of sync resulting in
unstable system.

Change-Id: I19d82b62e8ad507458abd21a8a71fbcae8adefec
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 21:18:01 -07:00
Sachin Bhayare
727dad9a94 msm: mdss: remove dsi-v2 file compilation from 8909.
For MSM8909 28nm DSI phy is used and dsi-v2 support is not needed.
So disabling dsi-v2 compilation for MDP3.

Change-Id: I7410c434debf119ddad2f6dd8052aabf31c0db6a
Signed-off-by: Sachin Bhayare <sachin.bhayare@codeaurora.org>
2016-03-23 21:18:00 -07:00
Sachin Bhayare
92650b303e msm: mdss: fix MDP3 compilation
Add missing header file, remove unused header file
and structure element mdp3_img_data.

Change-Id: I6a12a65f3ccb622927c3b69d599856299e7b8e65
Signed-off-by: Sachin Bhayare <sachin.bhayare@codeaurora.org>
2016-03-23 21:17:59 -07:00
Aravind Venkateswaran
5bcd9e74b2 msm: mdss: dsi: ensure lanes are idle prior to ULPS entry
It is possible that the ULPS entry request can potentially overlap with
the last DCS command that was sent out on the link. This is more likely
if the DCS command was sent in LP mode. In such cases, the panel could
see some issues in the LP transmission which may trigger an error when a
BTA is done subsequently. To address this, ensure that the lanes are
idle by checking that all active FIFOs are empty and the all active data
lanes are in stop state.

CRs-Fixed: 961817
Change-Id: Ia2575f06762f6bc847f64fb70e96a275712d9135
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 21:17:58 -07:00
Aravind Venkateswaran
039af32693 msm: mdss: dsi: validate ULPS config requests
In the current implementation, ULPS entry/exit requests are placed
whenever DSI link clocks are disabled/enabled. However, certain
optimizations can be done avoid unnecessary transitions such as for
cases when clocks are turned off briefly prior to panel
initialization/uninitialization, and then turned right back on to send
the panel on/off commands. Add these optimizations and avoid ULPS
configuration for such cases.

CRs-Fixed: 961817
Change-Id: Ie6c666b91e86697c37e0a557f9ba47811392ae90
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 21:17:58 -07:00
Tatenda Chipeperekwa
2b04658c0d msm: mdss: hdmi: retain clock state after successful handoff
When HDMI is selected as the primary interface, we want to
retain the HDMI clock state after a successful handoff to ensure
that the interface continues to send data to the sink. We achieve
this by maintaining the HDMI PHY status when we detect that
handoff is in progress.

Change-Id: I0aaefc96d63b9eaf3928c11b5dab51cce99e1dc3
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:57 -07:00
Tatenda Chipeperekwa
d915167333 msm: mdss: hdmi: update panel power state for all hdmi use cases
Update the panel power state after the HDMI transmitter core is
powered on for all HDMI use cases (external and primary). This
will enable other entities (e.g. Audio driver) to query the correct
power state during boot up.

Change-Id: Ie6765880e9e9d9d6f087c1726d331ef2dd632cad
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:56 -07:00
Tatenda Chipeperekwa
36266455ac Revert "msm: mdss: hdmi: tear down audio at bootup if already started"
This reverts commit b591582c5b5bf2ddee5e3857629bd7f39b8bdffa
("msm: mdss: hdmi: tear down audio at bootup if already started").
The programming sequence to tear down audio (as implemented on
MSM8994 platform) included directly writing to LPASS registers.
However, on 8996, TZ does not allow access to LPASS registers
from the APPS side.

Change-Id: I19c6c0d5f5019ea78463a2d0fbdbddd92edf7ab0
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:55 -07:00
Ajay Singh Parmar
bf1475554b msm: mdss: clean up ctl during cont splash resolution change
During boot-up, if continuous splash screen is enabled, handoff
will populate the controller and other structures after reading
hardware info. If there is a resolution switch, clear the
handoff data so that the data can be reconfigured with new
resolution info.

Change-Id: Ia524136283711e95879936603bb53c5e8f263ea6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:54 -07:00
Tatenda Chipeperekwa
5fa6ce79b2 clk: qcom: mdss: set the hdmi vco clock rate
Set the VCO rate properly during handoff. This VCO rate can be
used during suspend-resume to reconfigure the PLL.

Change-Id: Ib67d68f28aa5bd3a09bf7bcc5802ee3b7af342ee
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:53 -07:00
Tatenda Chipeperekwa
4a53d45f4b msm: mdss: hdmi: add pin-control and splash enable
Initialize the splash enabled flag when HDMI is primary.
This is required during probe time so the HDMI driver can
add pin-control vote, enable regulators, enable GPIOs and
enable clocks.

Change-Id: Iaaf3d983512619bda753b12e3d80ee8efe32d810
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 21:17:52 -07:00
Ajay Singh Parmar
88af065f71 msm: mdss: hdmi: protect hpd power from multi-thread access
HPD (Hot Plug Detect) can be powered on or off by down stream
device like MHL or slimport driver based on cable connection
triggered by user. In response to that, HDMI transmitter power
on and off is triggered in a different thread. There can be
a race condition with transmitter power on/off and HPD power
on and off with fast plug in/out. Protect these functionalities
using mutex to avoid such race conditions and keep the HDMI state
machine in valid state.

Change-Id: I7fa8de10b96ca3cf674a0b7cf83b0f96cc177509
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 21:17:52 -07:00
Veera Sundaram Sankaran
62be9c73b9 msm: mdss: add atraces for tracking atomic commit
Add atraces tag to track atomic commit. This would be helpful
in analysing systraces to isolate any delays during validate
and commit cycle.

CRs-fixed: 930504
Change-Id: I204e620283926b03f3e956731145b99d81b29e6d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 21:17:51 -07:00
Veera Sundaram Sankaran
38a6f65128 msm: mdss: add WB support to use 2 LM for 4k usecase
Fix writeback to use 2 LM for resolution width more than 2048.
And update the pinfo and var data structures when the writeback
output resolution is changed.

CRs-fixed: 930504
Change-Id: Id096511a26845a962c30c6ebf2102ffcb0c18a5f
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 21:17:50 -07:00
Naseer Ahmed
4af0f22f2c msm: mdss: add support to send dcs cmds by left port only in video mode
In the current implementation, the existing feature flag to send DCS
commands only by the left controller is parsed only for command mode
panels. Extend this support to include video mode panels as well.

Change-Id: I32c5d96b514a8c4cb90fd320d589fe4252e92133
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2016-03-23 21:17:49 -07:00
Dhaval Patel
7dc5ab2669 msm: mdss: fix race condition between vsync handler and ctl_stop
The ctl_stop and vsync_handler both can run in two different
threads. That can lead to race condition in vsync handler.
   -> Core 0: vsync handler thread checks the ctl power status
      and get preempted by other priority task.
   -> Core 1: processes the ctl_stop and power off the display
      device.
   -> Core 0: Vsync handler task gets chance to run again and
      tries to access the ctl->op members.

The third step leads to invalid structure member access because
display is already powered off. This race condition should be
fixed by moving all power state checks inside mutex lock.

Change-Id: I452c9026074acda2d00954e530fc491d395f106b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 21:17:48 -07:00
Naseer Ahmed
6b236392b5 msm: mdss: false ESD detections due to race condition
There is a race condition between ESD thread and commit thread
which causes false ESD detections. This change prevents the
condition.

Change-Id: I67a480f7251348fc86be01fe8d5414857f53bc75
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2016-03-23 21:17:47 -07:00
Veera Sundaram Sankaran
40ac095b5b msm: mdss: dsi: fix dsi fifo underflow error status check
Remove obsolete dsi fifo error status check based on
CMD_MDP_FIFO_UNDERFLOW and check the correct status from
DLNx_HS_FIFO_UNDERFLOW bits in dsi fifo status register.

CRs-Fixed: 961817
Change-Id: I3664e51ffa0fc729e949d85c3d543ec338444a9d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 21:17:46 -07:00