Commit graph

587985 commits

Author SHA1 Message Date
Linux Build Service Account
f6f01239b4 Merge "ARM: dts: msm: add panel parameters for sharp wuxga panel for sdm630" 2017-04-13 21:52:15 -07:00
Linux Build Service Account
2fce80230e Merge "msm: mdss: add split link panel support in mdss" 2017-04-13 21:52:14 -07:00
Ashay Jaiswal
d288491f1b qcom: smb2: ensure QC adapter is at 5V at shutdown
In the shutdown hook, driver forces adapter to 5V but
there is a possibility that the source change IRQ triggers
and moves back the adapter to 9V.
To avoid this and any race between the irq's and shutdown path,
disable all irqs as the first step in shutdown path.

CRs-Fixed: 2032575
Change-Id: I0d8f59a73b6631e9bf6f5d64dd215c239e7772fe
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-14 10:21:07 +05:30
Hamad Kadmany
0766e5db80 wil6210: add option to load FTM FW
Module parameter allows to load specific FW used
for FTM testing.

Change-Id: Ic6b4e1596edc0068a6cbd656ec7dfb82746c3f8a
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
2017-04-14 07:05:04 +03:00
Pavankumar Kondeti
a76d9370e8 core_ctl: Take state_lock while preparing the global_state
global_state file output is prepared by reading the members of CPU
and cluster data structures. These members are updated under state_lock,
so acquire the same lock while preparing the output.

Change-Id: I8cb3ca6f9100a24f0bc9b293d364ad6aa8aabefb
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-04-14 07:09:53 +05:30
Tatenda Chipeperekwa
058c973e7e msm: mdss: dp: fix HDCP 1.x state transitions
Fix HDCP 1.x state transitions by ensuring that transitions to
authenticating state can be made from both an uninitialized and
a failure state, and making sure that authentication thread is
synchronously canceled before transitioning to a disabled
state.

CRs-Fixed: 2006096
Change-Id: Ic097e16451166f589acbd7c23f87bd9b4c1a65f3
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:20:32 -07:00
Tatenda Chipeperekwa
0325fec74c msm: mdss: dp: fix handling of EDID extension blocks
Current implementation assumes that the first extension
block of the EDID data always has the CEA extension tag.
This is incorrect and can lead to incorrect parsing of
resolution data. Fix this by removing the hardcoding of
the extension tag for the first extension block.

CRs-Fixed: 2027108
Change-Id: I5ef4cdb186591e291b2217db7ccec6f942d79ca4
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:20:18 -07:00
Tatenda Chipeperekwa
5921f2095d msm: mdss: dp: read the DPCD if the AUX setting have changed
Trigger the reading of DPCD if there was a change in the AUX
configuration caused by a failure while reading the EDID.
This is required to ensure the integrity and validity
of the sink capabilities read that will subsequently be used
to establish the mainlink.

CRs-Fixed: 2006096
Change-Id: If3a51b5efd9124fd20dc9860e5f2cdb4e466a2c6
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:20:12 -07:00
Aravind Venkateswaran
853e762bd3 msm: mdss: dp: ignore PHY AUX stop error
Ignore the PHY AUX stop error if we receive this error
during an AUX transaction. We can safely ignore this
error and proceed to read the buffered data from the
hardware since this error happens after the data has
been received by the AUX controller hardware.

CRs-Fixed: 2006096
Change-Id: Idb3f0e59b572be565e7572db500699471665f287
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:20:06 -07:00
Aravind Venkateswaran
2104f5f66e msm: mdss: dp: fix programming sequence for aux transactions
Ensure that all previous interrupt status are cleared before
triggering a new aux transaction, and do not set the
NO_SEND_STOP request bit for read transactions to align with
the hardware programming recommendations.

CRs-Fixed: 2006096
Change-Id: Icc17ac7b09d70ab5b330189be38fa32e3bff850e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:20:01 -07:00
Aravind Venkateswaran
22dadaed20 msm: mdss: dp: read edid data in shorter burst size
Each block of EDID data is usually 128 bytes long. Reading
each block in a single burst can sometimes result in incorrect
or corrupted data returned from the sink. Add support to read
EDID in shorter burst sizes and set the default burst size
to 16 bytes.

CRs-Fixed: 2006096
Change-Id: I681f2d2eb01de11eadc1857dd5089cbe35befad2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:56 -07:00
Aravind Venkateswaran
fe847c64b0 msm: mdss: dp: fix EDID read sequence
Update the EDID read sequence to first write the offset to
request the appropriate EDID block prior to reading the EDID
block data. In addition, write the correct segment address
when reading more than two extension blocks.

CRs-Fixed: 2006096
Change-Id: Ic4b2bd4d4cf9da5e247c5735b4e768b9e2b87b27
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:49 -07:00
Aravind Venkateswaran
f5e769987f msm: mdss: dp: retry failed AUX transactions
Retry AUX read/write transactions that have failed either due
to the AUX controller hardware indicating an error via the ISR,
or due to a software based timeout while waiting for transaction
completion. The transaction retry strategy is as follows: first
repeat the transaction using the same PHY AUX settings, and then
retry the transaction using updated PHY AUX settings if repeating
the transaction has failed.

CRs-Fixed: 2006096
Change-Id: Id9c3c7ae1ab320540545b9c178d947a3cd023079
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:44 -07:00
Tatenda Chipeperekwa
9b87a5068e msm: mdss: dp: update parsing of AUX controller configurations
Make the parsing of the AUX controller configurations more
extensible by adding support for multiple settings per configuration,
as well as the parsing of the register offsets. This enables the
extension to support different targets, and combinations of AUX
controller settings depending on the use case.

CRs-Fixed: 2006096
Change-Id: I4e6b623a4d9fafcfcc89477dfa57880eb798c350
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:36 -07:00
Aravind Venkateswaran
7d8800fa4d msm: mdss: dp: increase AUX controller hardware timeout limits
Increase the AUX controller hardware timeout limits to the
maximum value supported. This increases the AUX controller
hardware's robustness in handling transactions in the face
of differing timing from one DisplayPort sink to another.

CRs-Fixed: 2006096
Change-Id: Ia0da13720526a96f3a88a849043a3ffbb1185cf7
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:30 -07:00
Aravind Venkateswaran
f8c32514eb msm: mdss: dp: add interrupt handling for PHY AUX errors
Add interrupt handling for PHY AUX errors that might
happen during AUX communication. Read the interrupt
status and clear it before initiating the next AUX
transaction. This will help identify any issues that
result in AUX transaction failures.

CRs-Fixed: 2006096
Change-Id: I0733bfb163c8c3c108002fbe4309e36dc105ccb8
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:21 -07:00
Aravind Venkateswaran
61ac76cfad msm: mdss: dp: fix handling of branch devices
A branch device usually notifies a change in downstream connections
using the HPD IRQ pulse. Handle this by checking for a change in
downstream sink count and appropriately handling EDID reads. It is
also possible that the branch device may not have any local EDID.
In such cases, when the downstream sink count is zero, do not read
EDID.

CRs-Fixed: 1112711
Change-Id: I230560c995d7c3b395e37aef5483e5468e1d1dec
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-04-13 18:19:17 -07:00
Tatenda Chipeperekwa
a2de6652c1 msm: mdss: dp: implement failsafe for delayed power off/on events
Implement a failsafe mechanism that will prevent the DisplayPort
driver from entering an irrecoverable state in the face of
delayed power off/on events from the display framework. For example,
the driver must indefinitely postpone the handling of other events
from the sink until the power off event is complete, ensuring that
there is no interleaving of events that could lead to a bad state,
or un-clocked register access.

CRs-Fixed: 2006096
Change-Id: I1bfa887ba5ee94cbf44c87aa0d60766cafc854b4
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2017-04-13 18:19:11 -07:00
Aravind Venkateswaran
3d11494de7 msm: mdss: dp: always set default resolution
EDID utility always lists the default resolution as part of the list
of available modes. If the client does not specify a default resolution
it can result in incorrect behavior. Ensure that the Display Port
driver always initialized with a default resolution.

CRs-Fixed: 2030915
Change-Id: Ib6c75d655e6fcbd5c792ca1aa9da6b08ba2f416e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-04-13 18:16:54 -07:00
Subbaraman Narayanamurthy
d580f19581 soc: qcom: qpnp-haptic: Optimize updating RATE_CFG registers
Currently, RATE_CFG registers are updated when the auto resonance
is enabled and no errors are seen with auto resonance or the play
rate is within allowed limits. However, it is getting updated
multiple times with the same play rate multiple times. This adds
up some delay in a critical path when the haptics duration is
small. While at it, add APIs to do multiple read/writes to the
peripheral registers like AUTO_RES_LO/HI and RATE_CFG1/2.

Change-Id: I1b5625cc1f9aa3f07552a6b4ef23f2d34241b6a1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-04-13 14:37:02 -07:00
Subbaraman Narayanamurthy
b9b8b965bf qpnp-haptic: Fix writing incorrect value to EN_CTL1 when disabling haptics
Currently, variable "val" is used for caching the last value
written to EN_CTL1 register and also it is used to read STATUS
register. This causes an incorrect value being written to
EN_CTL1 register when the module is disabled. Fix it.

CRs-Fixed: 2032850
Change-Id: Ib3cbe1b41962e5dff38d9c4d343d8f3f43fc0009
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-04-13 14:36:52 -07:00
Alex Sarraf
14e89235dc input: misc: hbtp_input: Support for Region of Interest/sensors
Add support for sensor and Region of Interest (ROI) events.
Create new ioctl to receive sensor data from userspace.
Create binary sysfs entries to expose data from kernel to
userspace.

Change-Id: Ifa76f08eb293c3da0618c22c07e65976319ea926
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2017-04-13 14:30:49 -07:00
Osvaldo Banuelos
b411d4d59f ARM: dts: msm: update VDD_APC margin adjustments for msm8998v2
Update the open-loop and closed-loop VDD_APC virtual
corner margin adjustments to match the latest characterization
guidelines.

CRs-Fixed: 2006091
Change-Id: Ib7a0657302b4ae76107ba53b21f9bd4b39f104df
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2017-04-13 11:15:51 -07:00
Linux Build Service Account
15a311d026 Merge "ARM: dts: msm: Update regulator min-voltage for SMPS5A on SDM660/630" 2017-04-13 10:30:11 -07:00
Linux Build Service Account
728981c575 Merge "arm64: defconfig: Add a config option to compile cpu-boost driver" 2017-04-13 10:30:09 -07:00
Mahesh Sivasubramanian
476b11678f drivers: cpuidle: lpm-levels: Log hotplug events
Add debug events for CPU_STARTING and CPU_DYING events when a CPU is
hotplugged. The events will help correlate with the TZ events using the
ARM timers counts for debug.

Change-Id: Ieb6449575b4a95974b787ceea430fc5362c77c29
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2017-04-13 08:57:30 -06:00
Rakesh Pillai
6079be7471 ath10k: Fix crash when SSR is done during packet transfer
If any data traffic is ON, when SSR is triggered there is a crash
since we allowed HTT packets to go through.
Stopping these packets to go through fixes this crash.

Also changing the QMI client ID for the qmi client.

CRs-Fixed: 2033262
Change-Id: I1236ef901fd8943f228497a79f11feaec1c16d8e
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
2017-04-13 17:22:36 +05:30
Tirupathi Reddy
4d569b976c ARM: dts: msm: Enable APC0/1 CPR closed-loop operation for sdm630
Configure APC0/1 CPR instances to operate in closed-loop operation
to maintain an optimal voltage set point on the APC0/1 voltage rails.

Also, add static open-loop and closed-loop voltage margins as per
the voltage characterization results.

CRs-Fixed: 2032723
Change-Id: I1a01d78252dc71ca7def251e99581cad3714cdd1
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-04-13 17:18:55 +05:30
Hamad Kadmany
93a521dc52 wil6210: Improve AP stop handling
Set resetting flag early when stopping AP to avoid
disconnect events as a result of disconnect command
sent during AP stop procedure.

Change-Id: I59647d5775e68705b361b1aaacbc6a6088e9c813
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
2017-04-13 14:38:45 +03:00
Hamad Kadmany
abd1cc456b wil6210: Fix protection against connections during reset
Existing code that ignores connection events during
reset flow will never take effect since it locks the
same mutex taken by the reset flow.

In addition, in case of unsolicited disconnect events ignore
those as well since device is about to get reset.

Change-Id: I132040822b8c1b3d1d92965d578ed5bee0b3d1cf
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
2017-04-13 14:38:20 +03:00
Anirudh Ghayal
4d785ef60b ARM: dts: msm: Update regulator min-voltage for SMPS5A on SDM660/630
The minimum supported voltage on the SMPS5A is 1.224V, update
it accordingly.

Change-Id: Ib973febdf5b719836f5fb54e6cd6e797e7101e3e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-04-13 15:28:26 +05:30
Linux Build Service Account
16c1669252 Merge "arm: make default iova alignment as 2mb" 2017-04-13 02:19:13 -07:00
Linux Build Service Account
ea8b530b5e Merge "USB: gadget: ffs: Fix USBCV compliance failure due to adbd" 2017-04-13 02:19:11 -07:00
Linux Build Service Account
9689415e9a Merge "msm: mdss: configure SMART_PANEL_ALIGN_MODE for split display" 2017-04-13 02:19:10 -07:00
Linux Build Service Account
6b7fb076d4 Merge "msm: wlan: AR TX power regulatory updates" 2017-04-13 02:19:09 -07:00
Linux Build Service Account
d604805e4d Merge "drm/msm/sde: remove redundant CRTC event caching" 2017-04-13 02:19:07 -07:00
Linux Build Service Account
2b0de03719 Merge "apq8098: rename apq8998 to apq8098" 2017-04-13 02:19:06 -07:00
Linux Build Service Account
1ac435a768 Merge "power: qpnp-fg-gen3: Add support to configure base termination current" 2017-04-13 02:19:04 -07:00
Linux Build Service Account
b290a7a8e7 Merge "ath10k: recal the txpower when removing interface" 2017-04-13 02:19:02 -07:00
Linux Build Service Account
4d121122fe Merge "soc: qcom: socinfo: Protect current_image using semaphore lock." 2017-04-13 02:19:00 -07:00
Linux Build Service Account
27925f25a9 Merge "ARM: dts: msm: add SMB1351 charger node for SDM630 MTP" 2017-04-13 02:18:59 -07:00
Linux Build Service Account
0adf9d4050 Merge "Merge branch 'android-4.4@8e53f7c' into branch 'msm-4.4'" 2017-04-13 02:18:57 -07:00
Charan Teja Reddy
9c490fa73d arm: make default iova alignment as 2mb
To get the 2MB aligned IOVA section mappings, set
ARM_DMA_IOMMU_ALIGNMENT to 9.

Change-Id: I3254c39e4864c32d6f25a4d416b1b7aec6756ecd
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2017-04-12 22:28:14 -07:00
Rohit Gupta
b596bcc918 arm64: defconfig: Add a config option to compile cpu-boost driver
CONFIG_CPU_BOOST config option is only enabled for
msmcortex-perf_defconfig. Enable it for msmcortex_defconfig too.

Change-Id: I31d42aa4ac3a78e6bc3c52aa0ba7cebd8c5a7893
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
2017-04-12 19:11:41 -07:00
Karthikeyan Mani
d1e077de03 ASoC: wcd-spi: Initialize variables before use
Initialize variable before use to avoid
invalid memory access.

CRs-fixed: 2004067
Change-Id: I9f7dd1e87d323ff300060c3d838342f55e6711e8
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-04-12 17:26:53 -07:00
Karthikeyan Mani
13feabf360 ASoC: wcd9335: Initialize variables before use
Initialize variable before use to avoid
invalid memory access.

CRs-fixed: 2004067
Change-Id: I719bb13acb1ae8a9654604d251f728d98cffe936
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-04-12 17:26:36 -07:00
Karthikeyan Mani
075b17a1d2 ASoC: wcd_cpe_core: Initialize variables before use
Initialize variable before use to avoid
invalid memory access.

CRs-fixed: 2004067
Change-Id: I882cdf78709d6dcc2dcd1fc7f903492aa2581138
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-04-12 17:26:25 -07:00
Abhinav Kumar
fe965aa6bc drm/msm/sde: remove redundant CRTC event caching
Currently both sde_crtc_atomic_begin() and
sde_crtc_atomic_flush() add the CRTC state event
to the cached sde_crtc->event.

This has a potential NULL ptr issue in the
case of vblank event firing in between sde_crtc_atomic_begin() and
sde_crtc_atomic_flush() because the upstream DRM vblank API
send_vblank_event() doesn't consider the case when the VBLANK
interrupt could have already freed any pending vblank events.

Remove the caching from sde_crtc_atomic_begin() to avoid this
condition.

Also make sure that a page_flip event was indeed submitted before
signaling the complete_flip() by setting a PENDING_FLIP flag right
after HW flush.

Change-Id: Ib201d2851e57bf22ec1f00814fc2e4dd2f35bfa1
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-12 16:39:08 -07:00
Linux Build Service Account
4a4051e573 Merge "diag: Place proper NULL pointer checks" 2017-04-12 16:10:20 -07:00
Linux Build Service Account
d96dc0727a Merge "wil6210: add sysfs file for enable/disable fst link loss" 2017-04-12 16:10:19 -07:00