Commit graph

3798 commits

Author SHA1 Message Date
Linux Build Service Account
414269dd95 Merge "msm: mdss: dp: fix wdog_bite while disconnecting DP cable" 2017-09-13 10:58:19 -07:00
Linux Build Service Account
98fa67f230 Merge "msm: mdss: hdmi: correctly validate the cec msg frame size" 2017-09-13 10:58:18 -07:00
Linux Build Service Account
3bbf983f45 Merge "msm: mdss: hdmi: fix no audio over HDMI on device bootup" 2017-09-13 10:58:15 -07:00
Linux Build Service Account
288edc578d Merge "msm: mdss: Increase the max layer count to 13" 2017-09-13 10:58:14 -07:00
Linux Build Service Account
5a5b79c5fc Merge "msm: mdss: hdmi: configure hdcp feature support" 2017-09-13 10:58:04 -07:00
Yuan Zhao
f2e445edd1 msm: mdss: disable HDMI block before HDMI core off
Switching HDMI display mode many times, could find
sometimes color distortion or no signal display.
If disable HDMI block before setting HDMI core off,
that could be fixed.

Change-Id: Ib0e8002f59e017a81298d4a5a39736a7516e3435
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2017-09-13 20:02:51 +08:00
Krishna Chaitanya Devarakonda
606fb649e1 msm: mdss: Fix potential race condition in rotator
There might be a possible race condition in rotator, where two
threads can free same perf structures. Adding proper locking
to avoid such race conditions.

Change-Id: I4976da6f176df24da2ec86c4c1f176cc43aba05b
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2017-09-12 23:38:18 -07:00
Krishna Chaitanya Devarakonda
5475f94ca5 msm: mdss: Increase the max layer count to 13
The maximum number of layers could be 13 including the
cursor layer. Increasing the maximum layer count to
accommodate cursor layer.

Change-Id: I907feb14fbd2d2ab5de66b4dee83d90d94c59595
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2017-09-12 23:38:15 -07:00
Narender Ankam
8eb5765563 msm: mdss: hdmi: notify hdmi audio event after video is up
Modify HDMI driver so that video and audio events are notified
separately. Notify video events asynchronously. send audio
events only after video is up.

Change-Id: Ie6e4e564456d65f6b6d733b8accd14b9ce4c7e15
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-09-12 12:57:33 +05:30
Krishna Chaitanya Devarakonda
cd2291139f msm: mdss: Enable clocks for WFD setup
The WFD setup path has few register writes. If the MDP clocks
aren't switched on, the register access might cause SMMU
faults. Turn on the clocks, before calling WFD setup.

Change-Id: Icc865178f43dc6068b6b4b201b8f9eada2570598
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2017-09-04 22:43:23 -07:00
Linux Build Service Account
eb80711888 Merge "msm: mdss: hdmi: validate HDMI EDID's max number of CEA blocks" 2017-09-03 23:04:21 -07:00
Narender Ankam
1ce78a4230 msm: mdss: hdmi: configure hdcp feature support
Configure hdcp feature support in hdmi driver.

Change-Id: I961a762490c41549899050551ca2010d48817a62
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-28 15:19:39 +05:30
Narender Ankam
27d4a476f6 msm: mdss: hdmi: correctly validate the cec msg frame size
HDMI CEC message is being validated against the operand
size (MAX_OPERAND_SIZE). Instead validate against the
frame size (MAX_CEC_FRAME_SIZE).

Change-Id: I9fd66781feedbe9bc1090b0e28ef9d814edcca5a
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 17:01:06 +05:30
Narender Ankam
ccf418d0ef msm: mdss: dp: fix wdog_bite while disconnecting DP cable
As a corner case, if DISCONNECT_IRQ_HPD event is timedout and
now if cable is disconnected and userspace triggers BLANK call
at the same time, dp core may be turned off before trying to
put it in IDLE state. Add changes to avoid this un-clocked
register access.

Change-Id: I3511443a3be4d3b70f5e68b31234b682e475ebdf
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 16:44:58 +05:30
Narender Ankam
4d811fc832 msm: mdss: dp: fix div by zero error
If for some reasons like ioctl fuss test or reading dpcd caps failed,
max lane count supported might be zero. In such cases handle link clk
calculation gracefully.

Change-Id: I7cb08abce76025930681f6532c03708793d3acc4
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 16:23:40 +05:30
Narender Ankam
e465963e36 msm: mdss: hdmi: validate HDMI EDID's max number of CEA blocks
No upper-bound validation is performed when reading number of
extended CEA blocks from the untrusted source (EDID). Add a check
to limit the number of CEA extension blocks.

Change-Id: I69f09ed0ad28a4c267cf3e8f7a12efe46f75e244
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-23 16:45:50 +05:30
Linux Build Service Account
3403db6eab Merge "msm: mdss: do not set sink max TMDS clock for DVI device" 2017-08-21 00:19:50 -07:00
Yuan Zhao
25816b726a msm: mdss: do not set sink max TMDS clock for DVI device
DVI device does not have CEA extension blocks, we could
not get max TMDS clock from EDID.

Change-Id: I9adcb3006066c2abe6cd79c79865a4f954c1450c
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2017-08-08 15:45:03 +08:00
Linux Build Service Account
3f5958b23f Merge "msm: mdss: Add VIG double buffered CSC capability" 2017-08-07 04:11:12 -07:00
Linux Build Service Account
77be18d0c9 Merge "msm: mdss: setup infoframe for all HDMI modes" 2017-08-03 20:51:24 -07:00
Linux Build Service Account
647fc98bc8 Merge "msm: mdss: Fix the DSI lane swap programming logic" 2017-08-03 20:51:23 -07:00
Linux Build Service Account
a9009e8dd5 Merge "qcom: scm: update function return value and input parameter type" 2017-08-03 10:07:53 -07:00
Linux Build Service Account
e29d253ecf Merge "msm: mdss: dsi: Remove redundant opmode configuration" 2017-08-01 13:41:03 -07:00
Animesh Kishore
f1b8a000d1 msm: mdss: Add VIG double buffered CSC capability
CSC block in VIG pipe is double buffered starting
SDM 3.x.x.

Change-Id: I720449ae8a4efdcd088696e4fe354948f8a6d031
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
2017-08-02 01:54:47 +05:30
Animesh Kishore
9b91b842c9 msm: mdss: Allow CSC reconfiguration for staged pipe
CSC registers are double buffered from msm8998 onwards. Hence
allow reconfiguration of CSC for staged pipe.

Change-Id: I8108d0a70b54c07d71c165b6b5f596726b027425
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
2017-08-02 01:52:47 +05:30
Linux Build Service Account
6be8573eca Merge "msm: mdss: recalc pclk for Y420 format" 2017-07-31 23:43:57 -07:00
Rashi Bindra
5f292a6eae msm: mdss: Fix the DSI lane swap programming logic
In the current programming sequence, if a particular logical lane
is not used, we map the corresponding physical lane for this to '0';
which means no connection. This can cause DSI FIFO overflow issues
for panels which don't use all the 4 lanes. Fix this by programming
the LOGICAL_LANE_SWAP_CTRL for all the 4 lanes always, irrespective
of the number of lanes used.

Change-Id: I31a703f8f5133eb85c33fd0d3728f824a435392d
Signed-off-by: Rashi Bindra <rbindra@codeaurora.org>
2017-07-30 22:13:36 -07:00
Linux Build Service Account
c0737029c3 Merge "msm: mdss: fix the use after free problem in rotator ioctl" 2017-07-28 16:49:01 -07:00
Linux Build Service Account
826a2e3cd0 Merge "msm: mdss: dp: avoid aux transactions if dp cable is disconnected" 2017-07-28 16:48:59 -07:00
Linux Build Service Account
a6e2c2983f Merge "msm: mdss: do not update polarity for DSI interface" 2017-07-28 08:21:45 -07:00
Linux Build Service Account
7aaa3c344e Merge "msm: mdss: Fix race condition during mdp dump" 2017-07-28 08:21:43 -07:00
Linux Build Service Account
e58ec92ae4 Merge "msm: mdss: Remove check to cap requested mdp clock" 2017-07-28 08:21:42 -07:00
Yuan Zhao
1260d2e765 msm: mdss: setup infoframe for all HDMI modes
Setup AVI infoframe for all HDMI modes otherwise
the sink does not turn on. For all non-CEA modes,
VIC value of zero shall be used as per the spec.

Change-Id: I4458c8aec093342ef6cdd02e51a188391f662db7
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2017-07-26 16:23:53 +08:00
zhaoyuan
d62fb81693 msm: mdss: do not update polarity for DSI interface
Polarity should be updated based on HDMI resolution
for HDMI display. However, DSI interface does not need
to update polarity.

CRs-Fixed: 2046790
Change-Id: I4a30fcd7ebec70224accd2178c14bd37d2059f4e
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2017-07-26 00:30:47 -07:00
Linux Build Service Account
a37c10a168 Merge "msm: mdss: sink mode needs to be read from EDID" 2017-07-25 00:36:02 -07:00
Linux Build Service Account
5fd7f75152 Merge "msm: mdss: hdcp2p2: fix check for sink support for HDCP 2.x" 2017-07-25 00:36:01 -07:00
Linux Build Service Account
223b0e823b Merge "msm: mdss: dp: do not program audio registers when DP core is off" 2017-07-25 00:35:58 -07:00
Jayant Shekhar
773b7b1613 msm: mdss: Fix race condition during mdp dump
In mdp debugfs, pipe, mixer, buffers and ctl information
is dumped. While dumping pipe buffer information using
pipe's buffer list, acquire list lock mutex. This is
done to prevent crash if at the same time buffer is freed
in commit thread.

Change-Id: Ibd26cc1484fb08ae7d0852f405100f6bbfa707de
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-07-24 11:14:43 +05:30
Linux Build Service Account
333b2311aa Merge "msm: mdss: Fix possible memory overwrite in pgc config" 2017-07-19 09:10:30 -07:00
Linux Build Service Account
42029fbe8c Merge "msm: mdss: dp: fix watchdog reset with DP connected in AOD mode" 2017-07-19 09:10:27 -07:00
Animesh Kishore
330e834b2b msm: mdss: Remove check to cap requested mdp clock
Invalidate layers with requested mdp clock greater
than max supported.

Change-Id: Ic44787e6c0ad1cce105074533c1b6fd21c79da38
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
2017-07-19 18:12:37 +05:30
Mohammed Khajapasha
18ae33111d qcom: scm: update function return value and input parameter type
Update the function return value and input scm_ret variable
type for restore secure configuration in scm_restore_sec_cfg() fn.
Adding scm_ret input variable for scm_get_feat_version() fn.  

Change-Id: Ideef914ded8dfdb4c780fd27d7273986eeb41f5c
Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org>
2017-07-19 14:22:44 +05:30
Krishna Manikandan
97e44bbbab msm: mdss: fix the use after free problem in rotator ioctl
Currently the fence fd is installed too early. This can cause a
use after free problem if the fence fd is closed in some other thread.
This change will install the fence fd where it is required and
eliminates the problem.

Change-Id: I5cf585ea87ef75fccae06da6cb5a6c16fc74eff3
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-07-19 10:31:16 +05:30
Yuan Zhao
2d3b7411ec msm: mdss: recalc pclk for Y420 format
Pixel clock should be 1/2 for Y420 format display.
Add check for Y420 format support and do pclk
calculation accordingly.

CRs-Fixed: 2071321
Change-Id: I49b366dbbf1f36f147afed3b238363f94e612b37
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2017-07-18 16:35:49 +08:00
Sravan Kumar D.V.N
99a3334a22 msm: mdss: Fix possible memory overwrite in pgc config
Possible memory overwrite in pgc get config is fixed by
eliminating direct reference to user data.

Change-Id: I7117848bacb8e69720eb3121d02bbacf02cab13a
Signed-off-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
2017-07-16 22:34:52 -07:00
Aravind Venkateswaran
a89db690ae msm: mdss: dp: do not program audio registers when DP core is off
It is possible that the DP core may already be shutdown when a
callback from the audio subsystem is invoked. In such cases, ensure
that the callbacks return gracefully without trying to do any
hardware programming.

CRs-Fixed: 2072592
Change-Id: Ib112c0791852e1c835c739167683f160723b3baa
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-07-14 23:13:24 -07:00
Aravind Venkateswaran
8832c1bced msm: mdss: hdcp2p2: fix check for sink support for HDCP 2.x
Current implementation only checks if the sink is HDCP capable.
In addition, it is required that the source also checks for the
HDCP version supported by the sink prior to initiating HDCP 2.x
authentication sequence.

CRs-Fixed: 2062951
Change-Id: I24901202a0abc2ff4336ab9c6c2fd708a53559f2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2017-07-14 21:46:34 -07:00
Linux Build Service Account
f99b15bc11 Merge "msm: mdss: do not resynchronize DSI FIFO if during device boot up" 2017-07-14 17:59:55 -07:00
Linux Build Service Account
d70bfa127b Merge "msm: mdss: Avoid direct dereference user input in pp cache config" 2017-07-14 17:59:53 -07:00
Sravan Kumar D.V.N
bb760cae59 msm: mdss: Fix possible leaks in PP LUT get functions
Possible user information leaks in post processing LUT get
functions are fixed by properly copying user data.

Change-Id: I529f74a79e5857902177c8054d136b4544370be2
Signed-off-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
2017-07-14 07:55:48 -07:00