Graphe des révisions

1649 Révisions

Auteur SHA1 Message Date
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
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
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
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
Tatenda Chipeperekwa
46e93edf2e disp: msm: dp: skip link training in simulation mode
Skip link training when in simulation mode considering that we
are not yet implementing tests specific to link training. This
change will reduce the time it takes to power on the panel in
simulation mode, and also reduce the likelihood of failures
caused by unresponsive host machines.

Change-Id: Ie215cafd545bb25b4a033ceae1f275c690e7433d
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-09-29 11:24:28 -07:00
qctecmdr
90c3cec488 Merge "disp: msm: dsi: Panic on getting continuous ESD check failures" 2020-09-29 09:59:58 -07:00
qctecmdr
43cafa8095 Merge "disp: msm: skip rsc client vote for clk state update only" 2020-09-29 00:36:45 -07:00
qctecmdr
8ec396fb16 Merge "disp: msm: sde: update input fence after plane state destroy" 2020-09-29 00:36:45 -07:00
Narendra Muppalla
e13e1ea727 disp: msm: skip rsc client vote for clk state update only
This change skips RSC client vote for clk_state update when
delta vote and update_tcs_content are false.

Change-Id: I4597167c261f06811ffbd84b2eba4e6aa78d1eea
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-09-28 20:01:01 -07:00
Steve Cohen
0c946dca85 disp: msm: sde: only flush SSPPs when enabling sys-cache read
The worker function for enabling sys-cache re-uses the flushes
from the previous commit. This ends up flushing several
blocks which have no programming update. Instead, only flush
planes attached to the CRTC which is entering sys-cache state.

Change-Id: Ieed68a713e9e56a5718518cf1a6b632f37864fb9
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-09-28 13:21:06 -04:00
qctecmdr
2cff4ac8e7 Merge "disp: msm: register rotator platform driver after genpd init" 2020-09-28 04:39:41 -07:00
Yashwanth
312bd53656 disp: msm: sde: update input fence after plane state destroy
In few cases, even though input fence is freed, it might
get accessed through debugfs node while dumping fence list.
This change updates input fence to NULL in plane state
destroy once it is freed to prevent accessing it further.

Change-Id: I1a3799249e6a177af87653e17d014d1dad7ca638
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-09-28 11:53:39 +05:30
qctecmdr
5100a8e9e9 Merge "disp: msm: sde: check for null topology in dither setup path" 2020-09-25 10:44:51 -07:00
Yashwanth
2683324973 disp: msm: register rotator platform driver after genpd init
Due to power-domain, if rotator driver is registered early,
probe might get deferred several times and get stuck
indefinitely. So, this change adds driver registration
after genpd init to handle such cases.

Change-Id: I8dcb640d0ab0cdf0818cbce1b1fb460c28d8b9e7
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-09-25 21:16:42 +05:30
Amine Najahi
43113b945e disp: msm: sde: check for null topology in dither setup path
Check for invalid topology value before extracting the number
of LMs in dither setup path. This occurs when there is a race
condition between runtime supend/resume and dynamic FPS switch.

Change-Id: Ibf4bd2fe5f094ddec11ebc5b85ea9a5cfa0e91a7
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-09-25 10:32:10 -04:00
Yashwanth
af9841fa44 disp: msm: enable SDE rotator driver configs for GKI
This change enables and exports configs to support SDE
offline rotator in GKI. It also removes unused ioctls
for rotator compilation with GKI config.

Change-Id: I7f67aec394f644478173dcfe9e3ff52fe9129615
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-09-25 14:32:24 +05:30
Raviteja Tamatam
74dd4682cd disp: msm: sde rotator driver configs for probe only
Added code for dummy probe defined under
CONFIG_SDE_ROTATOR_INIT_ONLY to address cases where
rotator device node is defined but driver needs to be
disabled. This is stop gap arrangement until v4l2
configs are available in GKI.

Change-Id: I069b37f818d2e4401b3992f1f1e308858a7e29e6
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-09-25 13:49:23 +05:30
qctecmdr
ffde2ecd77 Merge "disp: msm: sde: populate connector modes during init" 2020-09-24 16:51:56 -07:00
Jeykumar Sankaran
9de6eee40e disp: msm: sde: accept and reclaim resources on user prompt
Currently, trusted VM accepts and releases the resources
on RM notifications.

In cases, where TUI fails to submit the first frame on the trusted
vm, display cannot rely on the teardown commit IOCTL to release the
resources back to primary VM.

To handle scenarios where RM notification drops, the VM's should be
able to ACCEPT/RECLAIM resources without relying on the RM.

To address above scenarios, this change moves the resource handling
calls from notification handlers to user prompt. With this change,
trusted VM will ACCEPT the resource only on the first frame commit and
primary VM can RECLAIM the resources back if the TUI use case fails
or any of the RM notifications fail to deliver.

Change-Id: Iebb1724a7558e52567f8af1a49e38f8adbec88a0
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-09-24 11:24:28 -07:00
Jeykumar Sankaran
a521764b53 disp: msm: sde: populate connector modes during init
When continuous splash is enabled, KMS populates the modes of
a connector during splash config. With TUI VM enabled, this path
will also be exercised by trusted vm for splash handoff, where for
a given display we try to use the same HW blocks configured by
the primary VM.

Since the trusted VM invokes the path under connection_mutex lock,
calling fill_modes will lead to a deadlock. So, move the connector
mode population during init for DSI displays, since the modes are
available for the connector during initialization.

Change-Id: I12f920f4af84b7bccc97a5f5edb5117ada49b960
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-09-24 11:24:03 -07:00
Ping Li
b4d055a10d disp: msm: sde: return proper errno when register event fails
When HW resource is not available, return ENODEV so that user space can
check the errno and do proper handling.

Change-Id: If5422f1020c262ede4ac7226a274da2c5713b446
Signed-off-by: Ping Li <pingli@codeaurora.org>
2020-09-24 11:06:25 -07:00