Log ping-pong current line count during ctl-start
and rd-ptr interrupt. This will help in debugging
ping-pong timeout issues.
Change-Id: I58185330fe9e8a64f48d6da60c974b23a9e68b44
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add extra sleep between SST and MST mode if MSTM_CTRL is not cleared
at hpd to make sure dongle exit from previous MST state.
CRs-Fixed: 2411911
Change-Id: I5b1785c71a91df95167bf5083e9d752a275872a8
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Fuad Hossain <fhossain@codeaurora.org>
Add a release operation to free the mst port object when
the object refcount becomes zero.
Change-Id: If628e6da7ccf90d334574ed0f627788fb0a1fa2f
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Add required changes to makefile and enable the configs
for LITO support.
Change-Id: If6da5a5c139220680b0892d0cc8d408a296f1635
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
DSI display may support video mode and command mode both and it may
support transition between these two modes.
This change adds seamless transition between these two modes for DSI
display by avoiding crtc enable/disable and panel power on/off
during modeset.
Change-Id: Id7ddaef7d1f0f7cc7d52283755bad53a246adec6
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
The DP HDCP layer fails to wait on and clear its internal thread
upon an HDCP stop or failure. This can result in use after free
failures if a read or write over aux channel operation is already
queued.
Update the DP HDCP layer to stop and wait on kthread completion
upon HDCP failures, and clear the kthread command queue before
resuming kthread execution. Additionally, ensure the SDE HDCP
worker thread correctly starts and stops execution upon HDCP
enablement and disablement respectively.
Change-Id: I4218d7935f89416b5e5d74afd8f5d22e031b9a38
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Fix few DSC parameters related to 10 bits-per-component
10 bits-per-pixel configuration according to HW programming
guide.
Change-Id: I3ceb1eb9b1247440ef68800e9b62e9ffb7ec5b57
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
The divider clocks in the DSI PLL are 1-based and can accept
a value of 0. Set the flags accordingly in the PLL driver.
CRs-Fixed: 2433864
Change-Id: I82361ae3e2119f9e1922153bd5aba6354e8c5442
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
The global dither memory range can not be accessed from outside.
So the patch fixs this issue through add global dither memory range
to valid range.
Change-Id: I3ab5b87ff1e62f7b19b48a137922d4e98a64040c
Signed-off-by: Yuchao Ma <yuchaom@codeaurora.org>
[cohens@codeaurora.org: resolved trivial merge conflict]
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
The received message logic in the SDE HDCP layer reads the HDCP QSEECOM
response content regardless of the declared response length. Update
this logic to only use the response content if the response length
is non zero.
Change-Id: Ie39923302a5478e0dd39dd5ceaade70b2e4125a3
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Replace all kernel make export <all variables> instances with
export of specific variables. Depending on existing build
environment, exporting all as environment variables and
interaction with existing environment variable expansions
can lead to undefined behavior.
Change-Id: Ia46600be605828f9e509d5ced5d3ad3f8c6cb140
Signed-off-by: David Ng <dave@codeaurora.org>
On the first commit, cont splash flag is still enabled on
encoder, but connector is not yet attached. When a check-only
rm reservation is made, it does not get released due to
cont-splash check. If cont-splash is enabled, rm should
not check for connector, but directly release rsvp_nxt.
Change-Id: I79be3c1bb20b74ce4a95786c90f3accfb587d7f2
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Userspace is not supposed to request vblank until crtc is enabled,
because drm framework rejects the request if crtc is not enabled.
Any vblank request prior to that need to be cached in the userspace.
Hence removing the cache logic from the downstream driver.
Change-Id: I5383e39075377e3e49b8d335598ddfa48ab54666
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
Current sde driver allows vblank enable and wait requests
even after crtc is disabled which would eventually lead to
enable of irq and timeouts in caller context. This change fixes
it by updating vblank callback status as 'on' during crtc enable
and shutdowns vblank callbacks before crtc disable is complete.
Change-Id: I9085103ced06e5fad51219f26bd8dd655fa36fea
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
Start authentication as soon as the stream is successfully powered
on and before the audio notification is sent. This will avoid a
potential delay in starting authentication if the audio subsystem
does not respond to the audio notification.
Change-Id: I83e5746ff521cfe8641f6e2bffd1bed953329a69
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Force encryption for HDCP 1.3 compliance or HDMI use cases only
since DisplayPort supports dynamic encryption enable.
Change-Id: Ice0f462188e4cc96597a4779a6daca7877e36b6c
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This change fixes the destination scaler atomic check
to support PU with CWB disable without an additional
frame in between. It also fixes the destination height
calculation.
Change-Id: I93ae8471d2db0b4e2574d18a873d4d4e180cbcbb
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
The DP standard leaves ambiguity to if sink synchronization
will be set before auxiliary protocols such as HDCP are to begin.
Update the dp_display HDCP worker to check sink sync only if
explicitly instructed to via the new debugfs node 'hdcp_wait_sink_sync'
Change-Id: I4f4d0b14096aa3dc498e47de557de14092d37a58
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
In scenarios where two streams become active in a short time period, HDCP
authentication may incorrectly be kicked off twice. This occurs due to the
HDCP state machine not indicating when authentication is already in
progress.
Update the dp_dispay HDCP state machine to only transfer to the
authenticating state once authentication has begun.
Change-Id: I38211203afe5127b80353c02072032a56e518900
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
If a DP stream is disconnected when HDCP is not fully authenticated,
authentication may not continue for remaining streams. This occurs
due to the worker thread rescheduling itself on auth fail while
disconnect cancels any pending work.
Update disconnect logic to wait for HDCP authentication to complete
before stream de-registration, and reschedule the HDCP worker if HDCP
did not fully authenticate prior to disconnect.
Change-Id: I0f8934e4f34e4f5a8015587e852131795a3dad21
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
If stream registration is invoked while HDCP is still authenticating,
the new stream information may not get sent to the downstream repeater.
Check if stream management is already in progress during stream
registration, and queue another round of stream management if so.
Change-Id: I497e9a4da310870fe792293033f1fb0ce8fbee4c
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
When HDCP stream management needs to be re-performed, the SDE_HDCP state
machine breaks down and reads or writes to the wrong DPCD HDCP offsets.
This results in an authentication failure, effectively allowing stream
management to succeed only on the first attempt.
Update the SDE_HDCP stream management logic to properly take its current
state into account in re-management scenarios. This will reduce the need
for full re-authentications upon content type updates.
Change-Id: Iebefbb060e49a7082b2d4c9efbed22a83a2a5ec5
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>