Commit graph

568766 commits

Author SHA1 Message Date
Rama Krishna Phani A
338086ed12 thermal: tsens: Update condition in critical_irq
Device crash is observed when the critical_irq is triggered because of
accessing uninitialized completion variable.

Update condition in critical_irq such that the completion variable will be
accessed only when initialized.

Change-Id: I0cba089882024bbe36ac4798866af4e33ee02fa2
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2016-03-23 21:18:50 -07:00
Deepak Katragadda
61811e0792 ARM: dts: msm: Enable the MMSS clock driver on MSMCOBALT
Enable support to model the multimedia clocks instead of
using dummy clocks. We are still using dummy clocks on
RUMI until the FSM dependencies can be met.

Change-Id: I1827188e554fab50db531091dde7ff99a366d823
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-23 21:18:49 -07:00
Deepak Katragadda
aa0e21f9fc clk: msm: clock: Add the MMSS clock driver support for MSMCOBALT
Add support to model the multimedia clocks on MSMCOBALT.

Change-Id: Iec33fa93e745a65205cf4206759289d7e842fe36
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-23 21:18:49 -07:00
Ajay Singh Parmar
9903b31489 ARM: msm: hdmi: correct hdmi ddc and cec pull settings
DDC and CEC GPIOs need to be configured as pull up for both
active and suspend state as the companion chip's enable gpio
controls these lines and expects pull up configurations.
Correct the same to avoid any power leakage during suspend state.

Change-Id: Ia40d3e173a8215d0db48ee846f4f45938279f58f
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 21:18:48 -07:00
David Collins
9352060409 ARM: dts: msm: update graphics vdd restriction level for msm8996pro
Update with the correct maximum and minimum voltage levels for
the gfx supply on MSM8996-Pro.

Change-Id: Ie6a90488124bb0c47fd09948a5c202ffa10aee27
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:47 -07:00
David Collins
6c33bfe426 ARM: dts: msm: update cpufreq list and devfreq mapping for msm8996pro
Update the cpufreq device with the latest frequency list for
msm8996pro.  Also update the cpufreq to devfreq device frequency
mapping accordingly.

Change-Id: Ice9a8d782ca3619ec93e02ec88a10ecd88667c36
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:46 -07:00
David Collins
27459b0cba ARM: dts: msm: add the GPU frequency plan for msm8996pro
Update the frequency plan for the MSM8996pro GPU clock.

Change-Id: I05228a3fc5da4cf24452ada3ee4363fe6e92e042
Signed-off-by: David Collins <collinsd@codeaurora.org>
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-23 21:18:45 -07:00
Deepak Katragadda
fa55e31503 clk: msm: clock: Decouple PLL min frequency from being fabia specific
Currently, the min_supported_rate is only used for fabia PLLs.
This is a generic PLL property which needs to be checked for
all PLLs.

Change-Id: Iaec2ee84468bb40a68ded9355aa7587eabbe86b9
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-23 21:18:44 -07:00
David Collins
fef7d8cbac ARM: dts: msm: add the CPU frequency plan for msm8996pro
Update the frequency plan for the MSM8996pro CPU clocks.

Change-Id: Ib395678da8be33ff30a3630837008ee911bc5616
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:44 -07:00
David Collins
da097bed55 ARM: dts: msm: specify VDD_GFX CPR device properties for msm8996pro
Specify the MSM8996-Pro VDD_GFX CPR configurations.  This
includes a new corner mapping for the additional GPU frequencies
found on MSM8996-Pro as well as the voltage adjustments
appropriate for all of the frequencies.

Change-Id: Ic704b0e886de2aaffa4afb044704c21b6e8d24da
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:43 -07:00
Jordan Crouse
bc3e27ab70 msm: kgsl: Move all platform drivers to the same module init function
There can only be one module_init() function per module.  Move all
three driver register calls into the same initialization function. The
ordering should still work correctly.

Change-Id: Ic0dedbadf7c69221a836ba3bbba362d0660f1f0f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-23 21:18:42 -07:00
Jordan Crouse
da324cf8f6 msm: kgsl: Add and use KGSL_DEVICE macro
Add a helper macro to convert an adreno_device pointer to a
struct kgsl_device pointer.  This is mostly syntatic sugar
but it makes the code a bit cleaner and it abstracts a bit of
the ugliness away.

Change-Id: Ic0dedbadd97bda3316a58514a5a64757bd4154c7
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-23 21:18:41 -07:00
Jordan Crouse
11d4029da9 msm: kgsl: Add KGSL_RB_DEVICE macro
The ringbuffer structures are static members of struct adreno_device
which means that they are permanently associated with a specific
adreno device and by extension a struct kgsl_device too. The upshot
is that we can use macro math to derive the adreno device from
a ringbuffer pointer and get rid of the device shortcut in the
ringbuffer struct.  This also gives us a chance to clean up
how functions use the ringbuffer and adreno_device structs
to limit unnessesary dereferencing.

Change-Id: Ic0dedbad909ef71e99cd3319713cee38fb1700f0
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-23 21:18:40 -07:00
Manish Poddar
a1385afa7b msm: camera: Do stream deletion properly.
when mediaserver crashes we are getting error that
__msm_destroy_session_streams: Error: Destroyed
list is not empty.
The order of stream_id for normal camera close is
1,2,3,4,0.When mediaserver crashes stream id order
is 0,1,2,3,4.stream id 4 is coming in the last and
when pvdev->opened is 0 we are not deleting the
stream.Added stream_delete when pvdev->opened is 0.

Change-Id: I22eaa8bd485e19605b9b69e86644f68ce209e808
Signed-off-by: Manish Poddar <mpoddar@codeaurora.org>
2016-03-23 21:18:39 -07:00
Gilad Broner
e4d3720461 phy: phy-qcom-ufs: separate U11 user registers from phy registers
RUMI platform uses QRBTCv2 phy that has 2 separate sets of registers.
One is the phy register set, and the other is the U11 user registers.
Mapping both sets will require to map a larger range of memory that
is overlapping with the ICE registers address.
Separate into 2 independent memory mappings to avoid the conflict.

Change-Id: Ifdb426cdd7139e918c5c3747f5529b047f4fc1e5
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:18:38 -07:00
Rama Krishna Phani A
ad747e5b63 hwmon: qpnp-adc-voltage: Update condition for reading temp through VADC
ADC driver prints error log whenever vadc read fails. Update the
condition such that log gets printed for error case and not for probe
deferal.

Change-Id: Ieff7f82fbe508a8422f666635a489f45f2deb41f
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2016-03-23 21:18:38 -07:00
zhaoyuan
f36bb94db7 ARM: dts: msm: defer touch resume on msm8996 DTP
Add support for deferring touch resume to a workqueue on
msm8996 DTP.

Change-Id: Ic66648a6cbb36d884f315eadaa0f4c48ced04c96
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2016-03-23 21:18:37 -07:00
Hareesh Gundu
3662821930 msm: kgsl: Don't overwrite the VBIF XIN offset for A3xx
Currently VBIF XIN register offset is been overwritten by
the AXI offset. This will cause VBIF XIN halt time out in
VBIF clear transaction path. Fix this by using the proper
VBIF XIN offset for A3xx targets.

Change-Id: Iac20528cb105904e46e012d67287dd736fa11f70
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2016-03-23 21:18:36 -07:00
Viraja Kommaraju
d355d220ef ASoC: qdsp6v2: Add error check for pointer and array index
Add NULL check for the pointer to make sure memory is
allocated. Add array boundary check for the index
before using the same array.

Change-Id: Ifd35ca0c0a1cbeee18d7797ea6b43ea31be0eeba
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2016-03-23 21:18:35 -07:00
Viraja Kommaraju
85a1cbed68 mfd: wcd9xxx-core: Fix array size
Add change to include correct array length
for buffer.

Change-Id: I9fd89b38b795401e7b6fdf848cb34fa20814a319
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2016-03-23 21:18:34 -07:00
Yan He
5479fc7f28 msm: ep_pcie: update PCIe PHY register dump
Update the PHY register dump for PCIe Endpoint mode so that more
debugging information could be acquired in case of PHY failure.

Change-Id: I6b40df668d8a5c912547af701e8a2150db47452f
Signed-off-by: Yan He <yanhe@codeaurora.org>
2016-03-23 21:18:33 -07:00
Patrick Daly
f232630e10 soc: qcom: Add debugfs interface for enabling SOC debug events
Other processors/execution environments may support debug events. Implement
an 'smc instruction' based communications protocol and hook it up to
debugfs.

Change-Id: I3a99dfdac5df7edb874bd449d9abc5a929787758
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-23 21:18:32 -07:00
David Collins
5fda6f8960 ARM: dts: msm: specify VDD_APCC CPR device properties for msm8996pro
Specify the MSM8996-Pro VDD_APCC CPR configurations.  This
includes a new corner mapping for the additional CPU frequencies
found on MSM8996-Pro as well as the voltage adjustments
appropriate for all of the frequencies.

Change-Id: Ia09252bf10ed81812bc8511136d97ca885de21a7
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:32 -07:00
David Collins
bb65d3eda4 ARM: dts: msm: update APM compatible property for msm8996pro
Specify an MSM8996-Pro specific APM device compatible string
for MSM8996-Pro boards.  This allows software to avoid imposing
various constraints during APM switching which are not required
for MSM8996-Pro chips.

Change-Id: I0664374ca347c0f66d95422cc9bfa4efb1a151ee
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:31 -07:00
David Collins
45dbf9c951 ARM: dts: msm: disable HMSS clock source overriding for msm8996pro
HMSS cluster clock source overriding is not required during APM
switching or VDD_APCC voltage changes on MSM8996pro chips.
Therefore, disable this feature for the APM and PM8994 S11
regulator device nodes.

Change-Id: I201373867a8f07742f6bf2794fa59fc1c4c34d74
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-23 21:18:30 -07:00
Shrenuj Bansal
b6200b61fb msm: kgsl: Properly enable bit 5 in CP_INIT mask
Use bit 5 in the CP_INIT_MASK to properly enable/disable
microcode workarounds.

Change-Id: I9f43c8c988c3179b3de2cce071339bc565b4a00d
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2016-03-23 21:18:29 -07:00
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