Commit graph

574332 commits

Author SHA1 Message Date
Linux Build Service Account
801c6f14c5 Merge "ARM: dts: msm: Add GPU DCVS plan for msmcobalt V2" 2016-08-26 14:48:30 -07:00
Linux Build Service Account
2f4167d0e1 Merge "clk: msm: clock: Add voter clocks for mmss_camss_jpeg0_clk" 2016-08-26 14:48:29 -07:00
Linux Build Service Account
2a358a675b Merge "msm: ipa3: Update registers configurations for IPAv3.5/3.5.1" 2016-08-26 14:48:28 -07:00
Linux Build Service Account
cd6b388dab Merge "scsi: ufs: fix race between hibern8 failure recovery and error handler" 2016-08-26 14:48:28 -07:00
Linux Build Service Account
ab9b466bb3 Merge "msm: ipa: fix a static analysis issue at IPA unit-tests" 2016-08-26 14:48:26 -07:00
Linux Build Service Account
21e5bf47c1 Merge "ASoC: msm: Add support for playback over slimbus2 rx port" 2016-08-26 14:48:24 -07:00
Linux Build Service Account
9539b29f37 Merge "msm: ipa3: Fix unclocked access to IPA SMEM register" 2016-08-26 14:48:23 -07:00
Linux Build Service Account
c6182a6521 Merge "defconfig: msm: enable SMCInvoke feature" 2016-08-26 14:48:22 -07:00
Linux Build Service Account
07dde62a73 Merge "msm: mink: Adding SMCInvoke Driver" 2016-08-26 14:48:22 -07:00
Linux Build Service Account
30f32fdd4e Merge "coresight: abort coresight tracing on kernel crash" 2016-08-26 14:48:21 -07:00
Linux Build Service Account
0366550001 Merge "soc: qcom: Clear PBL interrupt in case of error" 2016-08-26 14:48:20 -07:00
Linux Build Service Account
cf174274e9 Merge "qcom-charger: expand data structure smb_chg_param" 2016-08-26 14:48:19 -07:00
Linux Build Service Account
7ab2fa74f1 Merge "msm: mdss: fix pipe priority validation" 2016-08-26 14:48:18 -07:00
Linux Build Service Account
4220f26bb7 Merge "msm: mdss: Fix potential NULL pointer dereferences" 2016-08-26 14:48:17 -07:00
Linux Build Service Account
9269a96566 Merge "ARM: dts: msm: Update SS phy initialization sequence for msmcobalt" 2016-08-26 14:48:17 -07:00
Mahesh Sivasubramanian
505878dcf7 soc: qcom: rpm-smd: Account for NOACK messages with system sleep
When a system is entering RPM assisted sleep, the NOACK messages are
not accounted in preventing such sleep modes as no driver is waiting
on it. In such scenarios, some active messages could still be in the
Apps RX buffer which reduces the number of outstanding sleep messages.

Fix by accounting for NOACK messages while flushing sleep set requests
and ensuring that they are read before sending any sleep set requests.

The original changes were reverted to address issues with SMD transport.
This change includes fixes from earlier squashed into a single commit.

Change-Id: I5570d7694424d0a602c446c0af098a64ffa681e4
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
2016-08-26 10:21:51 +05:30
Abhijeet Dharmapurikar
52bf80303d qcom_charger: smb-lib: support faking battery capacity
On debug setups where the battery is not present, we need a way
to fake battery capacity instead of reporting some incorrect
/non-existent value. Provide means for the userspace to setup
a fake battery capacity.

Change-Id: Iff3ee1009d9c3215433cc267f016ef9cf2a9bff2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-08-25 15:55:39 -07:00
Skylar Chang
ebc2a18351 msm: ipa: WA to get PA of sgt_tbl from wlan
with SMMU enable, the API page_to_phys() is
failed to get PA of the sg_page tbl. The WA
is to have wlan-driver directly send the PA
to ipa-driver.

Change-Id: I7750102222d519969da0d597a6591aa728abb27a
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-25 14:02:19 -07:00
George Shen
4b478ca851 msm: kgsl: remove un-used GPU power states
DEEP-NAP and SLEEP states are not used in targets of previous
two generations. They are neither saving GPU power, nor saving
system power. Remove to reduce maintenance overhead.

CRs-Fixed: 1053516
Change-Id: If2fc2701548f90bb7ea9559a87752e13a7b0f736
Signed-off-by: George Shen <sqiao@codeaurora.org>
2016-08-25 11:58:29 -07:00
Prashanth Bhatta
cd48ca9c04 ARM: dts: Change minimum voltage for LDO25
For WLAN hardware to enter low power mode, LDO25 voltage needs to
be at 3.1V. Change the regulator node to add this change.
Also for icnss driver votes for LDO7, LDO17 and LDO25, use pin
control regulator votes.

CRs-fixed: 1059101
Change-Id: I894631f6085410bd9961a0e00ca5eb2cd7d0c5bd
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-08-25 11:56:42 -07:00
David Collins
b26949fe61 ARM: dts: msm: update VDD_GFX CPR target quotients for msmcobalt v2
Hardware characterization has shown that ROs 10 and 12 should be
used along with RO 13 on MSMCOBALT v2 for the highest VDD_GFX CPR
corner (Turbo L1).  Specify their target quotient values.

Change-Id: Id2084fd8913468372ad78ecf0d41427171f87bab
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-08-25 11:38:05 -07:00
Riley Andrews
1943b682a3 cpuset: Make cpusets restore on hotplug
This deliberately changes the behavior of the per-cpuset
cpus file to not be effected by hotplug. When a cpu is offlined,
it will be removed from the cpuset/cpus file. When a cpu is onlined,
if the cpuset originally requested that that cpu was part of the cpuset, that
cpu will be restored to the cpuset. The cpus files still
have to be hierachical, but the ranges no longer have to be out of
the currently online cpus, just the physically present cpus.

Change-Id: I3efbae24a1f6384be1e603fb56f0d3baef61d924
[ohaugan@codeaurora.org: Port to 4.4]
Git-commit: f180bcac788464a0baf3d79d76dd86d6972ea413
Git-repo: https://android.googlesource.com/kernel/common/msm.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-08-24 16:03:23 -07:00
Skylar Chang
f551e5cce9 msm: ipa3: remove wrong smmu clk vote
IPA-driver should request for
aggre2_noc_clk via bus driver.

Change-Id: I2f44b44a27ae93c6dd46cc6829d68ea1117ba237
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-24 15:07:12 -07:00
Skylar Chang
a4720ff813 msm: ipa: header change for SMMU wlan VA mapping
Wlan need to pass the VA to let the IPA-driver
decide when to suspend the WDI pipe in SMMU
enabled scenario.

Change-Id: I00ae7f088c7411c8a6420f5e7ab12276d65fd269
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-24 14:57:46 -07:00
Oleg Perelet
3f44acf69e msm: kgsl: Change sequencing for GPU hardware clock gating
Disable GPU SP clock before programing hardware clock gating registers.

CRs-Fixed: 1056488
Change-Id: I2c91e8ae6a30facefd5dd3d4a4e4c33ffc792fe1
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
2016-08-24 22:42:37 +05:30
David Keitel
669c266b9c ARM: dts: msmcobalt: add status property for memlat-mon for msmcobalt
Set the status property of the qcom,memlat-mon-cpu4 device. This is
required for partial binned devices.

Change-Id: I246a5f5149e492aba4f7c3920296d4bd3d873de0
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-08-24 07:40:46 -07:00
Dhoat Harpal
4669c62339 soc: qcom: glink: Best Fit approach to find intent
Using first fit algorithm to select the remote rx intent from the
list is not optimal way.

Optimize the selection of intent from list using the best fit algorithm.

CRs-Fixed: 1058750
Change-Id: I7b2a70188975b75a0fbcd2a6cb26f28cc0258532
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2016-08-24 17:47:16 +05:30
Komal Seelam
3136a40d03 cnss: Provide API to CLD Driver to control SPDT GPIO
Antenna Sharing GPIO need to be toggled between QCA PCIe and SDIO
devices based on the requirement. If SDIO device is to be operational,
this GPIO should be turned ON high.

Expose API to CLD Driver to control this GPIO for dual-wifi platforms.

CRs-Fixed: 1013494
Change-Id: I271ba273a4c70717f066d219ff02e8f0f56e2ac3
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-08-24 04:42:47 -07:00
Komal Seelam
9e5835025b cnss: Expose Power Up/Down API to WLAN Functional Driver
Dynamic Mode Change Feature Request, needs to power ON
QCA Chip during system bootup to get Firmware Capabilities.
Today the implementation is only during driver load, platform driver
power up the chip and call the device driver probe and call device driver
remove and cut the chip power during driver unload.
As part of this feature request, driver needs API to power down and
power up chip after ifconfig down and before ifconfig up.

CRs-Fixed: 1009901
Change-Id: I8e964c6bb8d6d8fb6f4bfba17a6b24b97509953c
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-08-24 04:41:43 -07:00
Komal Seelam
ec79695605 cnss: Disable wlan irq when PCIe link down is detected
Interrupt Storm is observed on the APPS side, when PCIe link down is
simulated, as FW keeps generating interrupts to host, as it's not aware
of the PCIe link down.

When PCIe link down is identified, wlan platform driver schedules work
to start recovery. During Recovery we cut down power to QCA6174, which
stops the interrupt storm. During the window where platform driver
schedule work and the work actually gets schedules, interrupt storm
happened and the APPS triggered watchdog.

Change-Id: Ica3c32007bc9b8acce79c5bb2175790ff27180d0
CRs-Fixed: 967956
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
2016-08-24 04:40:49 -07:00
Komal Seelam
ae275bab72 cnss: Add optional property to control wlan_en gpio for Dual-Wifi platforms
The WIFI PCIe Clock is controlled by WLAN_EN gpio.
On Dual-WiFi Platforms, QCA WIFI SDIO chip clock sourced by PCIe Clock.

Turning off WLAN_EN gpio would result in SDIO WIFI Functional Failures.
Control the gpio, based on the platform.

CRs-Fixed: 990796
Change-Id: I1399cd8aa53d1c6fd6b8ff0c5cce66b978770dbd
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-08-24 17:07:23 +05:30
Shantanu Jain
29e0ce3c54 input: synaptics_dsx_2.6: fix issues raised by static analyzer
Fix issues raised by static analyzer:
1. initialize "retval" before being returned from the driver function.
2. Check return value of the function create_singlethread_workqueue()
   and return -ENOMEM if it failed. If creation of the workqueue
   failed, then both queue_work() and queue_delayed_work() calls will
   later crash, as they expect the workqueue pointer to be a non-NULL
   value. Also add clean-up code for this.
3. check return value of the snprintf() call as array 'buf' of size
   16 may use index value(s) 16...20.

CRs-Fixed: 995687
Change-Id: I89d9f7cacbcf23de43a7e96556d1ac65911126d6
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-24 17:01:17 +05:30
Komal Seelam
639f0df4a0 cnss: Control vdd-wlan-xtal-aon-supply regulator in cnss platform driver
vdd-wlan-xtal-aon-supply(LD0-4) need to be voted by cnss platform
driver to keep wlan XO(LDO-5) ON during APPS suspend on mdmcalifornium
platforms when wlan is turned ON as per Power UP sequence. Currently
LDO-4 is only voted by USB driver when USB is connected. On removing USB,
LDO-4 is turned off resulting LDO-5 turned off.

When WLAN is turned on removing LDO-5 vote resulted in beaconing failures
on mdmcalifornium platforms. Hence add a dummy vote to LDO-4 when WLAN is
turned ON.

Change-Id: I0c6e7a6c2dc6a51fb19a9d31ceb6823fe9a05ae2
CRs-Fixed: 996537
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
2016-08-24 16:59:39 +05:30
Mao Li
11edf4f33c input: synaptics_dsx_2.6: fix CTP power issue for QRD8953
Synaptics touch controller does not go to sleep in suspend because
L6 is still enabled. Disable L6 in suspend to ensure CTP go into
sleep mode.

Change-Id: I40f3f380c1a85c292029d4e22e49bebf25bd198c
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-08-24 16:56:28 +05:30
zhaoyuan
b378a2f8ba input: synaptics: defer touch resume to workqueue for v2.6 driver
During device resume, the touch resume function is called after
display resume. Touch resume function will take about >200ms.
Defer the touch resume function to a workqueue to reduce the total
device resume time. An optional DT property is added to enable this
on targets that need this feature.

This change has been merged. Now, touch driver was updated to V2.6,
so, merge this change to V2.6 driver.

Change-Id: Ica477f35bd4fda59eb49c9b4f5e88b460366c761
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2016-08-24 16:50:27 +05:30
Shantanu Jain
a0732e6085 input: synaptics_dsx_2.6: Add support for clocks for secure touch
Because of a change in the underlying bus driver, the secure touch
layer in the input drivers is now required to control directly the
clocks which are needed during the touch sessions. The clocks which
are associated with the underlying I2C bus are clk_gcc_blsp1_ahb_clk
and clk_gcc_blsp1_qup3_i2c_apps_clk. These clocks are turned on/off
when the secure touch session is started/ended.

CRs-Fixed: 990820
Change-Id: Ie2f6f5b736b27792e6e4dc2c39064e0ebdc03d7b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2016-08-24 16:39:41 +05:30
Mao Li
5001421424 input: synaptics_dsx_2.6: remove fake touch points
Update F12 touch report function with adding input_sync to
correct the pointer reporting status.

Change-Id: Iefe24525a9551736a6044697b447a25e2c5c65ca
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-08-24 16:29:41 +05:30
Shantanu Jain
52344fa3c6 input: synaptics_dsx_2.6: creation of secure touch sysfs ifiles
This patch creates two sysfs files for secure touch - secure_touch
and secure_touch_enable, which will be accessed by secure UI app.
We also define the store and show function for these sysfs files.

Change-Id: Id43118120d4a1f0682904f48b3584d3ba62ef1dd
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-24 16:23:20 +05:30
Shantanu Jain
930440dc31 input: synaptics_dsx_2.6: add secure touch support for Synaptics V2.6
8953 QRD supports Synaptics touch controller. For synaptics_dsx_2.6 driver
to work with the TrustZone secure touch, all the touch interrupts must
be forwarded between the Linux Kernel and the TrustZone input driver.
Add APIs and configuration to support this.

Change-Id: I47520f9ba91b7645dff2c11b4c58a0b7aeed2765
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-24 16:13:09 +05:30
Skylar Chang
a029e1f519 msm: ipa3: add ipa-uc ram mapping to wlan-cb
Add support for getting additional mappings
from dtsi in order to create a mapping on
IPA wlan SMMU context bank.

Change-Id: I92922e494c745ea4c6bf4f473515dea4eccbd62e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-24 01:24:59 -07:00
Sreelakshmi Gownipalli
59a61e7cc5 diag: Add diag over glink support
Add diag over glink support to communicate to WDSP.

Change-Id: I60cce19bd82030990a1267b81ed28c25ac8601ec
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
2016-08-23 21:26:50 -07:00
Skylar Chang
aac7538843 ARM: dts: msm: Add bus bandwidth entry for IPA
IPA-driver should request for aggre2_noc_clk
via bus driver, add entry in dtsi.

Change-Id: I98726deff99b373344fe75f8bdcb11fcad83e621
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-23 17:03:51 -07:00
Veera Sundaram Sankaran
39b9b45957 msm: mdss: update lineptr instantly in cmd mode panels w/autorefresh
The lineptr interrupt is expected to be triggered and have the
ability to be updated instantly  whenever the panel is fetching
data. Previously, enabling lineptr was tied to kickoff and disabling
to pp_done work. Add capability to change the lineptr value instantly,
when auto-refresh is enabled and avoid disabling lineptr during that time.
Once enabled, lineptr can only be disabled when 0 is written to the node
while auto-refresh is enabled.

Change-Id: I9a1a478c857efd988984a0efb0a2b6475030c7ec
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-08-23 16:13:43 -07:00
Skylar Chang
fbfd19948f msm: ipa: handle information leak on ADD_FLT_RULE_INDEX ioctl
IPA might have Information leak and device crash due to
kernel heap overread in IPA driver when processing
WAN_IOC_ADD_FLT_RULE_INDEX ioctl. The fix is to add
check on max number of filter rules send to modem.

Change-Id: I454e04d05cfcb7af8fc4bd2b4a1bade55c4684d0
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-23 15:08:00 -07:00
Zhen Kong
5baaa9beb0 qseecom: support whitelist memory for qseecom_send_modfd_cmd
qseecom_send_modfd_cmd converts ION buffer's virtual address to
scatter gather(SG) list and then sends them to TA by populating
SG list into message buffer. As the physical memory address in
SG list is used directly by TA, this allows a malicious TA to
access/corrupt arbitrary physical memory and may lead to the
process gaining kernel/root privileges. Thus, make changes to
have the QSEEComm driver passing a list of whitelist buffers
that is allowed to be mapped by TA, and the QSEE kernel, in turn,
should add checks to the register_shared_buffer syscall to make
sure the shared buffers an application is mapping falls within
one of these whitelist buffers.

CRs-fixed: 1021945
Change-Id: I776ead0030cad167afcf41ab985db7151a42d126
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-08-23 14:08:27 -07:00
Venkat Gopalakrishnan
362b08a67d phy: qcom-ufs: update ufs phy settings
Adjust phy-qcom-ufs-qmp-v3 settings based on post silicon validation.

Change-Id: Ide0ca4714679bb576a8069bdd7720507074ccc47
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-08-23 12:47:18 -07:00
Abhijeet Dharmapurikar
c56229417c qcom-charger: smb138x: fix buck damage on v1.1 hardware
Buck damage was seen to go away once the dead time were increased
in addition to increasing the OOB comparator threshold.

CRs-Fixed: 1055113
Change-Id: I8979d203fc7c35ec23e23874c8dd8f980a1cc619
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-08-23 12:04:24 -07:00
Abhijeet Dharmapurikar
aecb04a1c3 smb138x: fix WD bite
Commit 85635da429 ("qcom-charger: smb138x: fix buck damage on
v1.1 hardware") introduced wa_flags as the first member
in the struct. However there are implict assumptions in the driver that
the first member is the library structure. This causes memory corruption
and an eventual watch dog bite reset.

Fix it by ensuring that the library struct is explicitly initialized
from the parent struct.

CRs-Fixed: 1055113
Change-Id: I38474a228ec7b245dc330b4a37847c9f1bf29c2a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-08-23 12:04:13 -07:00
Mayank Rana
9765c216c7 usb: gadget: gsi: Handle EVT_HOST_READY event in STATE_INITIALIZED state
'commit 5b42bd749e8c ("usb: gadget: gsi: Optimize TRB's buffer allocation
functionality")' removed handling of EVT_HOST_READY event with state
STATE_INITIALIZED to optimized USB GSI state machine. This handling is
required for specifically when RNDIS interface is being enabled through
device manager, otherwise RNDIS interface doesn't get private IP address
back. Fix this issue by adding back handling of EVT_HOST_READY event with
state STATE_INITIALIZED.

CRs-Fixed: 1050838
Change-Id: I7010005b37b4709f54de58d52a56cb7f5e88bd08
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-08-23 10:50:58 -07:00
Skylar Chang
759bf369a5 msm: ipa3: add gateway info on wan_msg
header change for CNE to pass gateway
info to IPA

Change-Id: I0f0a84a12c3ba514f7309b16c73f5b8ed631626d
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-23 10:36:09 -07:00