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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>