Commit graph

580928 commits

Author SHA1 Message Date
Aravind Venkateswaran
bc176f3364 msm: hdmi: edid: always add timings parsed from DTD to reserved list
Resolutions listed in the Detailed Timing Descriptor (DTD) have
detailed information about all the timings. Current implementation
attempts to match the parsed resolution with the resolution database
based on just the Video Information Code (VIC). This can potentially
overlook mismatches in certain parameters such as refresh rates and
can cause unintended results. Fix this by always adding the resolutions
parsed from the DTDs to the reserved timing list.

CRs-Fixed: 1109812
Change-Id: I8b926f08ce9b44c4a16a32fed26fedd351d77ae8
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:08 -08:00
Aravind Venkateswaran
1507849767 msm: hdmi: edid: do not add VGA resolution by default
Current implementation of the EDID parser always ensures that
VGA resolution (640x480) is added to the list of supported modes.
However, this should really be done by the client of the parser
based on their policies. This will avoid usecases where the EDID
parser would report the VGA resolution as supported even if it
was not listed in the sink's EDID.

CRs-Fixed: 1109812
Change-Id: Ic98314493029586d06a26a2c3a12b275ddaa8a8f
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:22:00 -08:00
Aravind Venkateswaran
8a4208ec19 msm: hdmi: edid: add 640x480p59.94 resolution to timing database
Populate the required parameters for 640x480p59.94 resolution and
add this to the resolution database.

CRs-Fixed: 1109812
Change-Id: Ic600d81e81d695288abd7638112e2541df5b1197
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:54 -08:00
Aravind Venkateswaran
ce49c9f5cd msm: mdss: dp: program HSYNC and VSYNC polarity
Add support to program the vertical sync (VSYNC) and
horizontal sync (HSYNC) polarity based on the sink's EDID.
This enables transmission of these parameters as part of
the Main Stream Attributes.

CRs-Fixed: 1109812
Change-Id: I10a91dd778e51abc8da4d4a8280a57b927cce590
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:44 -08:00
Aravind Venkateswaran
6947573710 msm: mdss: dp: fix event queue management
Current implementation utilizes a simple event queue to handle
some of the tasks when setting up or tearing down a display port
session. This is currently achieved using a workqueue and assumes
that there can be at most one unhandled event outstanding. This
may not be valid and can result certain events being skipped.
Refactor this by handling the events in a new event thread.

CRs-Fixed: 1109812
Change-Id: I2041fd2bbeadbfc7726a6c504ec3e373f34d2aea
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-18 23:19:17 -08:00
Aravind Venkateswaran
ff59333bdd msm: mdss: dp: fix switching between non-standard resolutions
EDID parser assigns temporary Video Identification Codes (VIC) for
all non-standard resolutions when parsing a sink's EDID. These
VICs can be reused for a subsequent connection for different
resolutions. In the current implementation of the Display Port (DP)
driver, a resolution change is detected whenever a new VIC is used.
However, when switching between two non-standard resolutions spanning
connections to two different sinks, it is possible to have the same
VIC assigned for the two resolutions. This can result in abnormal
behavior. Fix this by resetting the video identification code and panel
information to reset value every time we get an HPD for disconnect.

CRs-Fixed: 1099532
Change-Id: I4bb5a6b4329f67368ebbdc7fe8d92c2ea4605082
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-01-17 23:24:21 -08:00
Ajay Singh Parmar
f03a091017 msm: mdss: dp: fix hpd sysfs node
Fix the return value for hpd sysfs write function
to avoid wrong data to propagate to the caller.

Change-Id: Ic2282496598ecba8511f3a0a826e152451394edb
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:48:27 -08:00
Ajay Singh Parmar
70a007e5b3 msm: mdss: edid: fix extension block resolution parsing
Fix the DTD (Detailed Timing Descriptor) parsing for block
1 (CEA extension block) to properly parse the resolution
details.

Change-Id: I5c1e448d5cdaf771c9e35479fe48067092c964e3
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:48:15 -08:00
Ajay Singh Parmar
7d6cf4f289 msm: mdss: dp: fix audio stream header
Program the correct number of channels for header byte 3 in
audio stream to avoid issues related to audio channels.

Change-Id: I1de32403efc42d8fde8ac2096ae021e795707aae
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:47:52 -08:00
Ajay Singh Parmar
80612605ed msm: mdss: hdcp_1x: fix hdcp off race condition
During authentication, HDCP may poll hardware for status.
HDCP may be turned off by other thread abruptly depending
on the use-case. Do not poll hardware in case HDCP has been
turned off. Also, wait for authenticating thread to finish
in hdcp off thread to avoid any race condition.

Change-Id: If2e4940310035f08d2077def4fa62620bef19942
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:45:38 -08:00
Ajay Singh Parmar
ed104f71b6 msm: hdcp: protect encryption enable with a mutex
Enable/disable encryption API can be called by multiple
threads. Protect this API with a mutex to avoid any
possible memory violation due to invalid calls to the API.

Change-Id: I190cdf24880645ac20ec17934d76498d71b2802a
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:42:42 -08:00
Ajay Singh Parmar
4eaf19c57a msm: mdss: dp: fix link training sequence
Transmit the link pattern first, update the drive settings
and then update the sink about the pattern and drive settings
using aux channel to avoid possible link training failures
with some sinks.

Change-Id: Ia8eccee99f58da94d3f1013f075c07400bde15f9
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-17 17:38:07 -08:00
Ajay Singh Parmar
19b7c1036c msm: mdss: hdcp2p2: do not process interrupts in failed state
Interrupts from sinks (cp_irq) may come asynchronously at different
states for HDCP authentications. In case HDCP has failed and an
interrupt is received from sink, do not process it to avoid getting
unnecessary failures.

Change-Id: I00b0d45fdbdc3d43ac49908db66573d6d4b58283
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2017-01-13 11:10:11 -08:00
Linux Build Service Account
efaccb4adb Merge "ASoC: msm: qdsp6v2: Add control for ICC Volume" 2017-01-12 22:39:17 -08:00
Linux Build Service Account
d089fe1071 Merge "ASoC: msm: qdsp6v2: add support for ADM_OPEN_V6 for multi-mic ec" 2017-01-12 22:39:16 -08:00
Linux Build Service Account
9bf671bc1e Merge "ASoC: msm: qdsp6v2: Fix out-of-bounds access in put functions" 2017-01-12 22:39:15 -08:00
Linux Build Service Account
e85386ee66 Merge "ARM: dts: msm: enable display panel for sdm660 QRD" 2017-01-12 22:39:14 -08:00
Linux Build Service Account
fe716a1881 Merge "drm/msm/sde: add driver for sde support" 2017-01-12 22:39:13 -08:00
Linux Build Service Account
e3fd750a77 Merge "drm/msm/dsi-staging: add catalog for dsi driver" 2017-01-12 22:39:12 -08:00
Linux Build Service Account
45654cc956 Merge "drm/msm/dsi-staging: add hardware driver for dsi controller" 2017-01-12 22:39:11 -08:00
Linux Build Service Account
a1442d31e2 Merge "defconfig: msm: enable dvb demux modules compilation" 2017-01-12 22:39:10 -08:00
Linux Build Service Account
75b99c075a Merge "Merge remote-tracking branch 'remotes/origin/tmp-896bb812' into HEAD" 2017-01-12 22:39:09 -08:00
Linux Build Service Account
a7d8f02960 Merge "NFC: Fix interrupt state in recovery" 2017-01-12 22:39:08 -08:00
Linux Build Service Account
710fa5be49 Merge "msm: ipa: AP+STA statistics support for IPAv2 driver" 2017-01-12 22:39:08 -08:00
Linux Build Service Account
337b3cd854 Merge "input: qpnp-power-on: set boot_reason when system-reset exists" 2017-01-12 22:39:07 -08:00
Linux Build Service Account
cfa822c282 Merge "msm: mdss: Fix ctl flush bits reset by dspp programming" 2017-01-12 22:39:06 -08:00
Linux Build Service Account
075893a011 Merge "ARM: dts: msm: add PMI GPIO1 to control WLED for msm8998 QVR" 2017-01-12 22:39:05 -08:00
Linux Build Service Account
23cbc75d2f Merge "ARM: dts: msm: Add TLB dump entries for msm8998" 2017-01-12 22:39:04 -08:00
Abhijit Kulkarni
54a4a3fb41 drm/msm/sde: add driver for sde support
Initial DRM/KMS driver to support snapdragon display engine.

Change-Id: I2f93d7cd24acf77359682f90b6b9647017ed62ba
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
2017-01-12 11:08:55 -08:00
Ajay Singh Parmar
af5a0d5df1 drm/msm/dsi-staging: add catalog for dsi driver
Add catalog for DSI controller and phy drivers.

Change-Id: Iff7f55592834fef0230982282af5b8b2890f97a5
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
2017-01-12 11:08:55 -08:00
Ajay Singh Parmar
a47691f8c9 drm/msm/dsi-staging: add hardware driver for dsi controller
Add hardware driver for DSI controller v1.4.

Change-Id: I74a3b5ebbde1ca43b060d6e5ba2462fb66f0a3a8
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
2017-01-12 11:08:37 -08:00
Yahui Wang
f704577710 ARM: dts: msm: add PMI GPIO1 to control WLED for msm8998 QVR
PMI GPIO1 is used to enable and disable WLED for msm8998 QVR,
we should also invert the gpio level according to HW design.

CRs-Fixed: 1101647
Change-Id: If29e41d12a697d7fd6671f1134a1e798c80c3523
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
2017-01-12 09:42:55 +08:00
Udaya Bhaskara Reddy Mallavarapu
ff70aa66a8 defconfig: msm: enable dvb demux modules compilation
Enable dvb_core, mpq demux plugin, TSPP modules compilation.

CRs-Fixed: 1108990
Change-Id: I330c64d0f27ed8c700814b0333e40ee005435594
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
2017-01-11 21:28:03 +05:30
Gaurav Singhal
94594358b9 NFC: Fix interrupt state in recovery
If read function is waiting for interrupt and after that
NFCC goes to recovery, MW will call ioctl (0) and ioctl (1),
In ioctl (0) call we are disabling interrupt so read function
was waiting for interrupt and ioctl call has disabled interrupt,
now there is no possibility interrupt will be enabled again
because only read function enables the interrupt.

Enabled interrupt in ioctl (1) so that we can receive data
after reset/recovery.

Change-Id: I1677a50129534b1eaa4b8c20820a15db299cd9c1
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
2017-01-11 17:33:25 +05:30
Mao Jinlong
56a6f88a34 input: qpnp-power-on: set boot_reason when system-reset exists
Some platforms don't configure qcom,secondary-pon-reset like 8998.
So set boot_reason when "qcom,system-reset" node exists to avoid
setting a wrong value to boot_reason.

CRs-Fixed: 1102732
Change-Id: I9e9ff2f2d0ffac6baa5d0663664001eb30638e87
Signed-off-by: Mao Jinlong <c_jmao@codeaurora.org>
2017-01-11 15:45:49 +08:00
Utkarsh Saxena
e1131a815f msm: ipa: AP+STA statistics support for IPAv2 driver
Add IPA stats support on AP+STA mode for V2 driver
when CNE queries. Also add metering funtionality
on WIFI interface to stop the data transfer
when quota reached on WIFI-case.

Change-Id: I51a771423e6a35ea0453b978be484d0464bddf14
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-01-11 13:02:10 +05:30
Yahui Wang
1e19092380 ARM: dts: msm: enable display panel for sdm660 QRD
nt36850 wqhd command panel will be used for sdm660 QRD,
so enable it for sdm660 QRD.

CRs-Fixed: 1107352
Change-Id: Ia7a691949bfef8777f78e846b6fb92e01658441f
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
2017-01-11 09:51:50 +08:00
Runmin Wang
5d18545892 ARM: dts: msm: Add TLB dump entries for msm8998
Add TLB dump entries to setup memory space for the cpuss dump
driver to dump TLB entries.

Change-Id: I7514969c1540d18d2102088b43d959adec68152f
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-01-10 14:41:51 -08:00
Linux Build Service Account
2dc96b1cbb Merge "msm: camera: fd: Call fd buffer done on active buffer" 2017-01-10 12:27:11 -08:00
Linux Build Service Account
9c82f6cac8 Merge "drm/msm/dsi-staging: add dsi definitions for new dsi driver" 2017-01-10 12:27:10 -08:00
Linux Build Service Account
86a4156c95 Merge "ASoC: msm8996: Fix kernel crash in "Speaker Function" mixer control" 2017-01-10 12:27:10 -08:00
Linux Build Service Account
3d66b34e70 Merge "ARM: dts: msm: add audio support for sdm660 qrd skus" 2017-01-10 12:27:09 -08:00
Linux Build Service Account
19511e6726 Merge "ASoC: msm-cpe-lsm: cleanup ioctl functions" 2017-01-10 12:27:08 -08:00
Linux Build Service Account
1847eaf629 Merge "ASoC: msm: Add support for INT5_MI2S vi feedback" 2017-01-10 12:27:07 -08:00
Linux Build Service Account
e7bbbbb031 Merge "ARM: dts: msm: add audio device node for qrd msm8998 interposer" 2017-01-10 12:27:06 -08:00
Linux Build Service Account
36a9ec4be8 Merge "ARM: dts: msm: Add pinctrl for USB type-C analog audio on msm8998" 2017-01-10 12:27:06 -08:00
Linux Build Service Account
8bfd4fdbf3 Merge "clk: qcom: Add support to register GPU rbcpr clocks" 2017-01-10 12:27:05 -08:00
Linux Build Service Account
61b8d2d068 Merge "ARM: dts: msm: enable blink for RGB led" 2017-01-10 12:27:04 -08:00
Linux Build Service Account
aa7e73ef9f Merge "qpnp-pin: Fix null pointer access in qpnp_pin_debugfs_create()" 2017-01-10 12:27:03 -08:00
Linux Build Service Account
7d4cf5211b Merge "security: switched to stackable model for PFT/PFK module" 2017-01-10 12:27:02 -08:00