Commit graph

590462 commits

Author SHA1 Message Date
Abhinav Kumar
76dbbea975 drm/msm : add utility function to dump HDMI registers
Add a utility function to dump HDMI core registers to
command line. This will facilitate debugging issues by
just calling this API wherever necessary.

Change-Id: I4a6727dca34edf4bb1c240adc7b93f50a7530b98
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-16 19:03:35 -07:00
Abhinav Kumar
ffc2849b61 drivers/misc: move hdcp sysfs nodes to misc hdcp driver
Currently the sysfs nodes for receiving minimum
encryption level reside within the SDE HDMI driver.

Move the nodes to the misc hdcp driver so that they
are available for use for targets using DRM SDE driver.

Change-Id: I94daa981536e56930f7b15eb0ca7b895b9bc9c44
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:19:08 -07:00
Abhinav Kumar
be53b222b4 drm/msm: add HDCP 2.2 module for DRM HDMI
Add the HDCP 2.2 module for DRM HDMI.

Call the HDCP 2.2 APIs from the SDE HDMI driver and
also invoke the HDCP 2.2 ISR routine from the parent
ISR routine of the SDE HDMI driver.

Change-Id: Ib9a427e5712c827fa93b91fc3a416af61ea83745
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:18:54 -07:00
Abhinav Kumar
9342afef9f drm/msm : add HDCP 2.2 helper functions to HDMI utils
HDCP 2.2 needs additional helper functions for handling
DDC transactions and interface specific calculations.

Add the necessary utility APIs and also move the necessary
ones to the HDMI utils file for better maintenance.

Change-Id: I215f04991c6ff71ec3e1db7674024e85fbc922e8
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:18:35 -07:00
Abhinav Kumar
85e5cecb6f drm/msm: make sde hdcp 1x module use the new hdcp lib APIs
All sysfs nodes have been moved to the misc hdcp driver.
Make the sde hdcp 1x module interact with the misc hdcp
driver to keep the functionality of repeater topology
intact as its used by wi-fi display userspace module.

Change-Id: Iecf404330695369c17e4afeff864eb6d7b92e372
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:18:14 -07:00
Abhinav Kumar
bd23536bdb ARM: dts: msm: add device node for MSM HDCP driver
Add device node for the MSM HDCP driver which manages
communication between HLOS and TZ for HDCP related
operations.

Change-Id: Iecb4c86ae37ddf7cbc84f962895bbe6e1973b989
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:17:45 -07:00
Abhinav Kumar
2dec77bf65 drivers/misc: make the HDCP lib a standalone driver
Currently the hdcp lib doesn't have a context and
just acts as a lib for HDCP compliant interfaces like
HDMI and Display Port.

Make this lib a standalone driver capable of supporting
sysfs nodes to make communication with other modules
like TZ easier and less roundabout.

Change-Id: If693a9d4c8561e6d8c94e236a0fc108c8a65c05e
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 21:14:57 -07:00
Abhinav Kumar
02b2b76fb0 drm/msm: add HDCP 1x module for MSM DRM driver
This change adds the HDCP 1x module for MSM DRM
driver and also hooks it up with SDE HDMI driver.

Change-Id: Iaf53c398254f6838a1d3cae610e069c5dbe18138
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 02:23:38 -07:00
Abhinav Kumar
e4db249be7 drm/msm: add HDCP helper functions to DRM HDMI driver
Add useful helper functions to the DRM HDMI driver
to be used later when HDCP functionality gets added.

Also add and initialize necessary members to the
SDE HDMI controller to facilitate easier integration
of DRM HDCP module.

Change-Id: I699f6685327e674a871a404fe5cf3adebe823d46
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-15 00:18:29 -07:00
Abhinav Kumar
110b6748f9 drm/msm: clean up DDC handling for SDE HDMI driver
Separate out the DRM HDMI utility functions into a separate
module.

Make the DRM HDMI utility functions support self retry where
they shall try for an arbitrary number of times on failure
otherwise let the client call the API to retry the number of
times as warranted.

Add a SDE HDMI utility file which shall invoke the upstream
functions in a manner as required to maintain the functionality
of legacy drivers.

Change-Id: I64af3f997a16b2d9358ea867585aa12772d22599
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-14 23:39:39 -07:00
Abhinav Kumar
7c1f3156a7 drm/msm: add support for parsing hdmi/hdcp capabilities
Add support to parse the HDMI TX version and
HDCP support from the HDMI and QFPROM registers.

This information is used to decide which HDCP driver
module is to be initialized at boot time.

Change-Id: Ib598f3867f1cd2ef9adb7503c5907cbb1e4ba758
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-14 23:38:49 -07:00
Abhinav Kumar
e998aabf44 drm/msm: align HDMI register address space mapping with SDE
HDMI driver currently maps register addresses using ioremap()
but doesn't use the SDE driver utilities for register read/write.
Copy the mapped register spaces to SDE utility headers so that
other SDE APIs can be used seamlessly for HDMI.

Change-Id: I3cbe57778ff3a63ffd9176f1a2c60778238e3fe2
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-08 11:40:49 -07:00
Linux Build Service Account
6c90c8860c Merge "drm/msm : fix hdmi controller register programming" 2017-06-07 20:58:00 -07:00
Linux Build Service Account
0899f88b10 Merge "net: ipc_router: Add dynamic enable/disable wakeup source feature" 2017-06-07 20:57:59 -07:00
Linux Build Service Account
3f35f049e7 Merge "usb: pd: Increment MessageID only on successful TX" 2017-06-07 20:57:54 -07:00
Linux Build Service Account
9b5ee09c39 Merge "mhi: core: Add support for host triggered device ram dump" 2017-06-07 20:57:53 -07:00
Linux Build Service Account
04587e2ca3 Merge "usb: xhci: Free leaked command in case xhci_queue_stop_endpoint fails" 2017-06-07 20:57:51 -07:00
Linux Build Service Account
de6917af67 Merge "msm: mdss: Update msm8998 HDMI PHY sequence for bridge chip" 2017-06-07 20:57:50 -07:00
Linux Build Service Account
f10af35ab9 Merge "msm: mdss: update polarity based on HDMI resolution" 2017-06-07 20:57:49 -07:00
Linux Build Service Account
eaeca093b4 Merge "power: qpnp-fg-gen3: Fix possible integer overflow" 2017-06-07 20:57:48 -07:00
Linux Build Service Account
b420cddf1f Merge "soc: qcom: subsys-pil-tz: Initialize subsys_dev pointer" 2017-06-07 20:57:46 -07:00
Linux Build Service Account
edc5117530 Merge "policy_engine: Add module parameter to start USB stack" 2017-06-07 20:57:45 -07:00
Jack Pham
c8735c7530 usb: pd: Increment MessageID only on successful TX
According to the PD 2.0 Spec, Section 6.2.1.3, the MessageID
field shall only be incremented upon successful transmission
(meaning GoodCRC was received). Thus, increment the counter
only when pd_phy_write() succeeds.

Change-Id: I73dce5736c473a1f79db9be868442c7941d13c44
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-06-07 15:39:31 -07:00
Linux Build Service Account
8efb4552d1 Merge "msm: mdss: do not print error in case sync_trigger is enabled" 2017-06-07 13:13:41 -07:00
Linux Build Service Account
590ba42a33 Merge "ARM: dts: msm: Enable dynamic fps for msm8998" 2017-06-07 13:13:40 -07:00
Linux Build Service Account
3ba7511de8 Merge "msm: mdss: disable AVR for msm8998" 2017-06-07 13:13:39 -07:00
Linux Build Service Account
b13c09c779 Merge "msm: mdss: Check if secure display is enabled during non-secure validate" 2017-06-07 13:13:38 -07:00
Linux Build Service Account
bed622b809 Merge "msm: mdss: Avoid NULL mixer during partial update ROI setup" 2017-06-07 13:13:37 -07:00
Linux Build Service Account
2a70296f1a Merge "ARM: dts: msm: enable null packet on msm8998" 2017-06-07 13:13:36 -07:00
Linux Build Service Account
b8639a8f8c Merge "msm: mdss: Fix QSEED3 MDP clock calculation for cmd mode panel" 2017-06-07 13:13:35 -07:00
Linux Build Service Account
19bce2b047 Merge "ARM: dts: msm: specify a PWM mode threshold for PMI8998 BoB on MSM8998" 2017-06-07 13:13:33 -07:00
Linux Build Service Account
39ce0d62ff Merge "regulator: rpm-smd-regulator: add support for load based mode control" 2017-06-07 13:13:33 -07:00
Linux Build Service Account
e3954e1572 Merge "drivers: Warning fixes to disable CC_OPTIMIZE_FOR_SIZE" 2017-06-07 13:13:31 -07:00
Linux Build Service Account
9dc0febd05 Merge "ARM: dts: msm: control avdd enable gpio for msm8998 QVR/SKUK HDK" 2017-06-07 13:13:29 -07:00
Linux Build Service Account
4c6e5c55cd Merge "msm: mdss: control avdd enable gpio when doing panel reset" 2017-06-07 13:13:29 -07:00
Abhinav Kumar
d9bdeba0e1 drm/msm : fix hdmi controller register programming
Currently, there is an incorrect programming of the
hdmi controller register where default value of the
datapath mode bit is being toggled along with the
scrambler enable/disable.

This bit should be untouched as per the hardware
programming sequence and kept at the default state.

Fix the register programming to avoid toggling this
bit.

Change-Id: I2e8f74c0abaddd27b5d8a2136afc4e1b82f96e7d
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-07 02:45:08 -07:00
Arun Kumar Neelakantam
10ed66867a net: ipc_router: Add dynamic enable/disable wakeup source feature
By default IPC Router core uses edge and port specific wakeup sources
which are blocking system suspend in special use cases like streaming
non wakeup sensors data at high speed.

Add dynamic wakeup source enable/disable functionality to acquire the
wakeup source only during the APPS suspend stage.

CRs-Fixed: 2057391
Change-Id: I2a5ea4e2c31432a9dd195c702ef7001b26eed33d
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2017-06-07 11:34:08 +05:30
Jack Pham
71c2e3fc4f usb: pdphy: Prevent sending when message is just received
Prevent pd_phy_write() from sending a TX message if an RX
message IRQ is being handled, or if the RX_TOKEN is set
(indicating a message has just arrived) by returning -EBUSY
to let the upper layer gracefully abort. This helps in cases
(such as compliance testing) in which VDM messages are
received very quickly after one another and the protocol
layer needs to first handle the incoming message.

Change-Id: I3e26d7ff062ff7f51b6c66ab8d078b05749f808a
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-06-06 22:50:28 -07:00
Jack Pham
00adcfcbad usb: pd: Keep PROP_PR_SWAP set during ERROR_RECOVERY
Since ErrorRecovery handling requires a spoof disconnect, the
charger driver needs to avoid immediately reapplying the
terminations. Re-use the PROP_PR_SWAP property which ignores
the disconnect. After the 25ms delay, policy engine will
explicitly reset back to DRP.

Also remove the transition to ErrorRecovery from PE_SNK_DISCOVERY
as it is removed in V1.3 of the PD 2.0 specification.

Change-Id: I41f1da293208b6813dfb540a123ee84ac35b4a68
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-06-06 22:50:27 -07:00
Jack Pham
ed97270b78 usb: pd: Set PD_IN_HARD_RESET as soon as hard reset received
Move setting of PD_IN_HARD_RESET to the phy_sig_received()
callback in order to inform the charger to ignore the upcoming
VBUS toggle as soon as possible. This will help decrease the
possibility of racing to set the appropriate HW bits while
VBUS turns off and leads to the charger indicating disconnect.

Change-Id: I42cc2969defa48c9987fa4bea64780866861d868
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2017-06-06 22:50:26 -07:00
Linux Build Service Account
eb28d0da15 Merge "regulator: spm-regulator: Add support for FTS426 type regulators" 2017-06-06 21:33:16 -07:00
Linux Build Service Account
feb56ddbc1 Merge "ath10k: Update world regulatory rules" 2017-06-06 21:33:14 -07:00
Linux Build Service Account
ceffb12dba Merge "wil6210: stop TX queues when suspending" 2017-06-06 21:33:13 -07:00
Linux Build Service Account
e01e0ecf6a Merge "ARM: dts: msm: Defer regulator disable for SDM660 GPU SMMU" 2017-06-06 21:33:12 -07:00
Linux Build Service Account
61a82b2a3f Merge "msm: cec: Use CEC notifier framework in adapter driver" 2017-06-06 21:33:09 -07:00
Linux Build Service Account
fc6bb14548 Merge "fbdev: core: Initialise structure to prevent kernel information leak" 2017-06-06 21:33:08 -07:00
Linux Build Service Account
fb0ac8cd2b Merge "hrtimer: Don't drop the base lock when migration during isolation" 2017-06-06 21:33:06 -07:00
Linux Build Service Account
ccf240d7b7 Merge "msm: camera: isp: Disable SMMU stall upon VFE page fault" 2017-06-06 21:33:05 -07:00
Linux Build Service Account
c588e27b98 Merge "msm: camera: Prevent info leak in kernel driver." 2017-06-06 21:33:04 -07:00
Linux Build Service Account
412bca522f Merge "msm: camera: isp: Avoid information leak in ISPIF" 2017-06-06 21:33:04 -07:00