Commit Graph

1666 Commits

Author SHA1 Message Date
qctecmdr
b267a4e5a2 Merge "disp: msm: sde: fix vblank handling during trusted UI" 2020-10-16 00:13:41 -07:00
qctecmdr
81b698b276 Merge "disp: msm: sde: support qsync and vrr in same atomic commit" 2020-10-16 00:13:41 -07:00
qctecmdr
6edad6b0ad Merge "disp: msm: dsi: Add support for secondary display using firmware approach" 2020-10-15 21:39:04 -07:00
qctecmdr
95955d984a Merge "disp: msm: dsi: Fix num of displays for firmware approach" 2020-10-15 10:08:10 -07:00
Lipsa Rout
a43ff33da8 disp: msm: dsi: Add support for secondary display using firmware approach
Currently, changing panel configuration from firmware approach is present
for single display. This change adds support for secondary display using
firmware approach.

Change-Id: I8095dceed1567d8582c7473c0ac7f59c4666a200
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
2020-10-15 18:04:32 +05:30
Yashwanth
30b1dd339b disp: msm: sde: support qsync and vrr in same atomic commit
This change adds support to program both qsync and variable
refresh rate in the same atomic commit. During vrr
usecase, if qsync is enabled, avr ctrl gets programmed
during prepare phase as well as after configuring timing
engine. This change also handles such scenarios to prevent
double programming of avr ctrl.

Change-Id: I19461423b0ae08c8204b5edeb98e3d73ce16a21b
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-10-15 16:03:46 +05:30
qctecmdr
c83a1df2b3 Merge "disp: msm: sde: avoid tx wait during cwb disable and reset" 2020-10-14 23:19:14 -07:00
qctecmdr
09dad7e79b Merge "disp: msm: sde: add verbose evtlogs for debug purpose" 2020-10-14 23:19:14 -07:00
Veera Sundaram Sankaran
9d1eee0817 disp: msm: sde: fix vblank handling during trusted UI
Currently vblank enable/disable events are processed based
on the vm ownership check. Use the vblank helper functions
instead, during the transitions to avoid processing the
vblank from DRM framework level.

Change-Id: Icb2bd569e73d9206a234489a288320fecf631845
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-10-14 11:06:58 -07:00
qctecmdr
4e1159d7c6 Merge "disp: msm: add support to have same panel names for dual display" 2020-10-14 03:17:39 -07:00
Jayaprakash
d1b2e0be42 disp: msm: sde: add verbose evtlogs for debug purpose
Add changes to extend the current evtlogs for ease
of debug purposes.

Change-Id: Ibe136afbf25b8b8decfc06ef3868e3f628df4dcb
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-10-14 11:19:05 +05:30
qctecmdr
484801e93c Merge "disp: msm: dsi: fix return value for alter_esd_check_mode" 2020-10-13 22:45:51 -07:00
Harigovindan P
e290135ccf disp: msm: add support to have same panel names for dual display
This change adds support to have same panel names for dual displays.
Without this change, the secondary panel bind will fail if it has the
same panel name as primary since the primary panel debugfs directory
would have been created during its display bind and when display bind
for secondary panel is initiated with the same name it will try to
create a debugfs directory with the same name resulting in bind failure.
This change appends a string as secondary in the panel name and creates the
debugfs directory.

Change-Id: I2bd25672ce0105a3b8225bbf17e13d4e373ad10b
Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
2020-10-13 22:20:45 -07:00
Veera Sundaram Sankaran
689f5eb836 disp: msm: sde: fix trusted-ui transition checks
Avoid crtc_state active_changed flag and explicitly check new/old
crtc_state active to decide if trusted vm transition checks are
required. As the active_changed might not be set at this point
in atomic_check sequence.

Change-Id: I142befad68359ae5ee862a1306bdc75531d63e70
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-10-13 15:10:32 -07:00
qctecmdr
59571e81dc Merge "disp: msm: dp: remove function get_min_req_link_rate" 2020-10-13 00:22:43 -07:00
qctecmdr
bd70659510 Merge "disp: msm: dp: use correct lane_count to validate mode" 2020-10-13 00:22:43 -07:00
qctecmdr
b581ca2910 Merge "disp: msm: dp: modify handling of CP_IRQ to fix HDCP 2.3 CTS test 1B-09" 2020-10-13 00:22:43 -07:00
Lipsa Rout
298cb1459b disp: msm: dsi: Fix num of displays for firmware approach
Currently, in firmware approach, the panel node is null
for secondary display. As a result, the number of display
remains one, in case of dual display also. This change
updates the number of displays.

Change-Id: I4b945b8b94d931e0dedf7ca7b27cb1a288b9d6ab
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
2020-10-12 23:37:21 -07:00
Sankeerth Billakanti
8f89a26df1 disp: msm: dp: remove function get_min_req_link_rate
Remove unused function dp_panel_get_min_req_link_rate.

Change-Id: I91c0860074d1b8e121bf3aef35520e6ffce8552a
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2020-10-11 20:02:29 -07:00
Sankeerth Billakanti
cba1cdf6af disp: msm: dp: use correct lane_count to validate mode
The lane_count used for validating the display mode
to be set is wrongly taken from the initial panel
capability. So, when lane count is reduced during
link training, the reduced lane count will not be
considered for validating supported modes. Hence
reporting incorrect display modes.

This change will use the correct lane count which
is obtained after the link training sequence.

Change-Id: Iab6239280c29961f7bc6f945ff3ecee9954b0b73
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2020-10-11 20:02:18 -07:00
qctecmdr
fa97229906 Merge "disp: msm: dp: reinit video_comp variable before using it again" 2020-10-11 07:37:24 -07:00
Aravind Venkateswaran
38407b22c4 disp: msm: dp: modify handling of CP_IRQ to fix HDCP 2.3 CTS test 1B-09
Upon receiving a CP_IRQ, the current implementation waits for up to 200
milliseconds for the link polling to be enabled, before reading the
message from the sink. This wait is currently done in the DP HDCP
module's main event thread. However, polling mode is also enabled in the
same event thread upon a wakeup triggered by the HDCP engine. This can
be problematic if the CP_IRQ comes before link has been transitioned to
the polling mode. Such a sequence of event is easily seen when executing
HDCP 2.3 CTS test 1B-09 using Unigraf UCD-400 test equipment.

To address this, wait for the polling mode to be enabled from the CP_IRQ
handler context directly and invoke the event thread only for reading
the CP_IRQ message after the link has transitioned to polling mode.

In addition to the above change, increase the wait time for link to
transition to polling mode to 300ms. This is needed because, in the
current implementation there is a fixed delay of 200ms as part of the
call to the QSEECOM API to enable encryption after the authentication is
successful.

Change-Id: I0bdd4893bf63e6ae0fcda5dfb61f23e901061207
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2020-10-09 22:56:00 -07:00
Rajat Gupta
91dce244a4 disp: msm: dp: reinit video_comp variable before using it again
Reinitialize video_comp completion variable before using it again
to wait for interrupt.

Change-Id: Ifc105eaa758d85ef604a440b3be7adfdafe7fc0f
Signed-off-by: Rajat Gupta <rajatgu@codeaurora.org>
2020-10-09 14:13:37 +05:30
qctecmdr
eb3d20eb39 Merge "Revert "disp: msm: dsi: Panic on getting continuous ESD check failures"" 2020-10-09 01:18:46 -07:00
qctecmdr
7ab3158794 Merge "disp: msm: dp: add support for Trusted UI transitions" 2020-10-08 21:51:47 -07:00
Dhaval Patel
d9f194e6f7 disp: msm: sde: avoid tx wait during cwb disable and reset
Avoid TX wait during CWB encoder disable and delay
reset call after last CWB frame trigger.

Change-Id: I9f96d522cfe4205e0272b6b3fa9edd409cab3648
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-10-08 21:51:23 -07:00
Ritesh Kumar
4a82bfb9c7 Revert "disp: msm: dsi: Panic on getting continuous ESD check failures"
This reverts commit 93fa9bdf60.

Change-Id: Ia29c690202d53207377fad9117199d9c024a33cf
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2020-10-08 21:50:15 -07:00
Tatenda Chipeperekwa
f3b2c5f89c disp: msm: dp: add support for Trusted UI transitions
We add support for Trusted UI (TUI) transitions and address the
following use cases:

1. Display was active before TUI start
    - Power off on TUI start, power off on TUI stop
    - Register access not allowed after TUI start (skip all
      events except disconnect)
2. Hotplug while TUI is active
    - Connect: skip sending connect uevent
    - Disconnect: send disconnect uevent and skip any controller
      programming
3. TUI start while processing HPD High
    - Complete all connect work (and therefore any register access)
      then send connect uevent
4. Audio
    - Disable audio at TUI start and skip audio programming if TUI
      is active

Change-Id: I553e5fa9f3b8265dd0410bf2d616a9accf90605f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-10-08 15:58:57 -07:00
qctecmdr
ff5233ee86 Merge "disp: msm: sde: only flush SSPPs when enabling sys-cache read" 2020-10-08 11:34:59 -07:00
qctecmdr
74f9934cfc Merge "disp: msm: dp: improve interop experience for fast hotplug scenarios" 2020-10-06 01:26:25 -07:00
Aravind Venkateswaran
7454e06259 disp: msm: dp: improve interop experience for fast hotplug scenarios
Current implementation waits for 10ms prior to sending the connection
notification to user mode. This delay is to check for any potential
IRQ HPD event from the sink which may require a link maintenance.
However, this delay may not be sufficient for certain use cases.
Increase this delay to 150ms and modify the implementation to exit
the wait whenever an IRQ HPD is received. This ensures that we can
process the IRQ HPD in a timely manner as per the specification. To
further improve debug ability, add the support to configure this delay
though debugfs:

   echo [delay_ms] > /sys/kernel/debug/drm_dp/connect_notification_delay_ms

Certain cables are unable to handle back-to-back HPD notifications and
may end up skipping some events. To improve interoperability, delay the
handling of disconnect notification. Sinks would typically issue an HPD
high following an HPD low only after they sense that the mainlink has
been torn down. Delaying the handling of HPD low would in turn delay the
issuing of the subsequent HPD high from the sink. Here again, make this
delay configurable through debugfs to improve debug ability of these
interop issues:

   echo [delay_ms] > /sys/kernel/debug/drm_dp/disconnect_delay_ms

Change-Id: Ie29198af4dcda6d392798a3a93ebb3ddaa6746c8
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2020-10-05 15:05:48 -07:00
qctecmdr
b19b9e4355 Merge "disp: msm: dp: reduce log level for messages" 2020-10-02 17:13:06 -07:00
qctecmdr
48aedc81e0 Merge "disp: msm: dsi: decrease log level of messages during modeset" 2020-10-02 14:14:01 -07:00
Satya Rama Aditya Pinapala
3617217ecf disp: msm: dsi: decrease log level of messages during modeset
Change decreases logs during a mode set in dsi_display and adds the
info to event logs.

Change-Id: I3bbe328f942008004c15b39230dd8be3e4cb64b5
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-10-02 01:33:33 -07:00
Aravind Venkateswaran
d1d2d5a809 disp: msm: dp: reduce log level for messages
Decrease the log level for messages that are typically printed from a
real time thread execution environment (such as the display commit
thread). This can help with cases where a console lock held during the
execution of these real time threads can result in RT throttling issues.

Change-Id: I41e1e4f171b5eee9966d8a7d26d64430a81bc6fc
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2020-10-01 23:38:58 -07:00
qctecmdr
2a32d717d4 Merge "disp: msm: sde: ignore sspp check in rm splash init during vm handoff" 2020-10-01 22:13:22 -07:00
qctecmdr
76293cfe64 Merge "disp: msm: sde: enable system cache support for shima" 2020-10-01 06:53:44 -07:00
qctecmdr
cf51cabb69 Merge "disp: msm: dp: skip link training in simulation mode" 2020-10-01 00:36:12 -07:00
qctecmdr
5e96441e58 Merge "disp: msm: sde: delay cwb done wait for last frame" 2020-10-01 00:36:12 -07:00
qctecmdr
4063d019aa Merge "Revert "disp: msm: sde: trigger esd recovery before event notification"" 2020-10-01 00:36:12 -07:00
qctecmdr
d2aca007bb Merge "disp: msm: dsi: update DSI CPHY enable sequence" 2020-10-01 00:36:12 -07:00
qctecmdr
1916b3ae6c Merge "disp: msm: dsi: fix ESD checks for sim and vid panel modes" 2020-10-01 00:36:12 -07:00
qctecmdr
77a8b983ed Merge "disp: msm: sde: return proper errno when register event fails" 2020-10-01 00:36:12 -07:00
Krishna Manikandan
70d2ee1bf4 disp: msm: sde: enable system cache support for shima
This change enables system cache support for shima
target which allows sde to read image from system
cache instead of DDR memory during static display
for video mode panels.

Change-Id: I2d7e17c4a6f6b477acf84fd2914c8db2d83df286
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-10-01 12:02:42 +05:30
Aravind Venkateswaran
5ba397e17e disp: msm: dp: fix the check for link maintenance
Current implementation checks for loss of channel equilization
or clock recovery only if the sink sets the link status updated
bit in the DPCD. However, it is possible that the sink can issue
an IRQ HPD to notify a link loss without setting the link status
updated field. Update the implementation to perform a link
maintenance whenever clock recovery or channel equalization is not
ok irrespective of whether the link status updated bit is set.

Change-Id: I2d765236b1e8ddae3c410087406546d0422cdf07
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2020-09-30 22:58:22 -07:00
Zhao, Yuan
01466c6032 Revert "disp: msm: sde: trigger esd recovery before event notification"
This reverts commit 9ce6a2fbb3.
Revert the change for sde_encoder.c, and keep the change for
sde_connector.c.

Change-Id: I19ff26e4543b9b338ccaf363c99c5eb2c115f99b
Signed-off-by: Zhao, Yuan <yzhao@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-09-30 10:52:59 -07:00
Satya Rama Aditya Pinapala
ca818526c3 disp: msm: dsi: fix return value for alter_esd_check_mode
The file operation write expects a non zero return value for a
successful exit from the file op.

Change-Id: I5e956333f39c33708ba24e2722713484c613f0ee
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-09-30 10:38:50 -07:00
Dhaval Patel
8d6fea832e disp: msm: sde: delay cwb done wait for last frame
Commit Ifa100424733 ("disp: msm: sde: delay
encoder disable for clone mode") delays the CWB
encoder disable but it is also skipping the CWB
disable flush. That can cause the underrun on dp
display if it uses the same 3d_merge HW block. This
change reverts the portion of original code and
only delays the last cwb frame done wait. It still
keep the last CWB frame done wait as it is if crtc
is also moving to inactive state.

Change-Id: I3461188a35197f2925899ceea7ef705adf00a398
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-09-30 10:19:23 -07:00
Satya Rama Aditya Pinapala
cfa1f49125 disp: msm: dsi: fix ESD checks for sim and vid panel modes
Enure that ESD check doesn't result in a false negative while
booting up with a simulation panel or if TE based check is enabled
and panel switches it operating mode to video.

Change-Id: I62ff088f513d28d2883ce5a6d22f8bac1783fcd2
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-09-29 21:13:39 -07:00
Satya Rama Aditya Pinapala
a84ce9e4f7 disp: msm: dsi: update DSI CPHY enable sequence
Update the DSI CPHY enable sequence as per latest HW recommendation.

Change-Id: Ibb8e9a70e9ea0ebc3d054e5e376beefbde416aef
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-09-29 13:41:14 -07:00