Commit Graph

447 Commits

Author SHA1 Message Date
Fuad Hossain
c348cb858a drm: msm: dp: Fix DSC and FEC handling
Ensure that the driver is handling DSC and FEC
enablement properly. FEC can now be independently
enabled without DSC. FEC configuration is also
now performed after link training in order to
avoid link training failures as per the DP spec.
Consequently, DSC can now be left on during
compliance testing. For DSC use-cases, ensure
that the minimum supported bpp is set to 24, as
required by the DSC spec.

CRs-Fixed: 2517994
Change-Id: I40339585da5b4e51251a3be7119b6959954954d7
Signed-off-by: Fuad Hossain <fhossain@codeaurora.org>
2019-09-13 15:59:59 -04:00
qctecmdr
8babba1d11 Merge "disp: msm: sde: fix panel mode check during SUI validations" 2019-09-13 07:51:40 -07:00
qctecmdr
c0642217b3 Merge "drm: msm: dp: turn off audio before dp lane status toggling" 2019-09-13 01:08:05 -07:00
qctecmdr
d31d35ca72 Merge "disp: msm: dp: fix locking in hotplug processing" 2019-09-12 21:05:25 -07:00
Veera Sundaram Sankaran
4776221d5b disp: msm: sde: fix panel mode check during SUI validations
During SUI validations and transitions, the encoders
are iterated to find the panel-mode. If concurrent
writeback is enabled, it is assumed as video mode.
Add check to consider only the built-in display
panel mode during sui to avoid wrong interpretation.

Change-Id: I2901eb29a0799571a95f6ab6f9f3f2c6154424c5
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-09-12 13:56:30 -07:00
qctecmdr
d89ef9471c Merge "disp: drm: dp: wait for a graceful dp_mst disable" 2019-09-11 20:08:22 -07:00
qctecmdr
6795628a68 Merge "disp: msm: dsi: enable multi mode support for video mode panel" 2019-09-11 16:07:01 -07:00
qctecmdr
66a975dcce Merge "disp: msm: sde: fix panel mode check during secure transition" 2019-09-10 18:42:23 -07:00
qctecmdr
5dab5f4592 Merge "drm:msm:dsi: Add check for max controller count" 2019-09-10 09:21:21 -07:00
Sankeerth Billakanti
fdd562dc66 disp: drm: dp: wait for a graceful dp_mst disable
DP MST userspace connect and disconnect notifications
are sent from dp_mst_drm. When a MST disconnect event
is notified from dp_mst_drm, the dp_display skips
sending the disconnect event and proceeds to process
the host unready. This is causing graceful dp display
disable to fail and affect the next dp display enable.

DP driver should ideally wait for the graceful disable
of DP display and then proceed. In this change, the DP
driver will wait for the display disable, if enabled,
before proceeding with host_unready.

Change-Id: Ief6857a9d59bf3995543792c8022245ddeac9ae6
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2019-09-10 14:08:49 +05:30
Tatenda Chipeperekwa
c11dcbf65e disp: msm: dp: fix locking in hotplug processing
Return immediately after releasing the lock if the connect event
has already been processed.

Change-Id: I80552b4c569d436ec85a945f4ddc3d389e3af43f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2019-09-09 14:13:00 -07:00
Lei Chen
6c75ae324d disp: msm: dsi: enable multi mode support for video mode panel
Multi-panel can't be supported by video panel, but multi panel
operating mode can be supported for video mode panel, so enable
multi-mode support for video mode panel for panel operating mode
switch.

Change-Id: I9a62ba0c880d13c7201235b9cb65728fa13e3232
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-09 02:50:28 -07:00
qctecmdr
0ce6ca8992 Merge "disp: msm: sde: revert to previous smmu state upon failure to switch" 2019-09-08 11:20:10 -07:00
qctecmdr
f36e7f7103 Merge "drm: sde: Remove feature support for IGC/3D LUT for virtual planes" 2019-09-07 04:07:30 -07:00
Veera Sundaram Sankaran
c24da68432 disp: msm: sde: fix panel mode check during secure transition
During transition from sui to non-secure if concurrent
writeback is enabled, it is incorrectly assumed as
video-mode panel. This leads to wrong video-mode
validations and false errors. Fix the check to get the
panel mode only from the primary display.

Change-Id: I3da3076d17cfe2314118b947133cbfc55581a195
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-09-06 16:28:56 -07:00
qctecmdr
f32cb6cf2f Merge "disp: msm: dp: fix for dp link layer cts failures" 2019-09-06 14:35:42 -07:00
qctecmdr
0c4807df30 Merge "disp: msm: sde: Add check to avoid list double add" 2019-09-06 14:35:42 -07:00
qctecmdr
b4d5b093d8 Merge "disp: msm: sde: Get connector roi state even PU disabled" 2019-09-06 14:35:42 -07:00
qctecmdr
37fb9a67b6 Merge "disp: msm: dsi: Enable ESD check after POMS done" 2019-09-06 14:35:42 -07:00
Lei Chen
3d1b73abc6 disp: msm: sde: Get connector roi state even PU disabled
Partial update will be disabled while panel operating
mode switch from command to video.
Display validation will be failed once CRTC and connector
ROI state are not the same.
So add this change to get connector roi state even partial
update is disabled.

Change-Id: Iebb1d001c1c11b659141ce301400704c16390ee6
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-05 19:43:43 -07:00
Ping Li
74e9521557 disp: msm: sde: Add check to avoid list double add
When LTM hist disable and LTM queue buffer are both queued to driver
in the same commit, if LTM hist disable call is handled by driver first,
all the LTM hist buffers will be moved to buffer_free list. When LTM
queue buffer call is handled, it will try to add the same buffer
to the buffer_free list again, and cause a list double add error.
This change checks if the buffer is already in the buffer_free list
before adding.

Change-Id: I74debdede551ceacfa2735fdb327a37654ad70f7
Signed-off-by: Ping Li <pingli@codeaurora.org>
2019-09-05 13:36:44 -07:00
Samantha Tran
ad97f0cf4d disp: msm: sde: revert to previous smmu state upon failure to switch
This change saves the previous state before moving into the transitional
smmu state, during secure-display/secure-camera usecases. Upon failure
to complete the transition, set smmu state to the previous state.
Previously, smmu state was staying in transitional state.

Change-Id: I1a78ddcf6ac1c7ea66c8c2095cd1a6d6160647a1
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-09-04 15:16:27 -07:00
Sankeerth Billakanti
1cc485a4cd disp: msm: dp: fix for dp link layer cts failures
The DP link layer CTS tests issue continuous DP plug/unplug.
When that happens, sometimes the DP sw state machine is going
into a bad state causing DP blankout. This is happening when
the post_enable call fails and the hpd handling logic in the DP
driver skips sending the disconnect and next subsequent connect
notifications. This change will fix the conditions to correctly
notify the userspace about the DP connection status.

Change-Id: I41310c8c465901eb5e5bd8fdec2038fe3c01e50a
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2019-09-04 14:40:32 +05:30
Lei Chen
4e679c086d disp: msm: dsi: Enable ESD check after POMS done
ESD check is disabled while switching panel operating mode.
This change enables ESD check after panel operating
mode switch is done.

Change-Id: I421d70d9be4c14107a7b51470801157d28874ffb
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-04 15:18:27 +08:00
qctecmdr
dc7e1224cc Merge "disp: msm: add length check for debugfs_ctrl" 2019-08-30 20:06:42 -07:00
RAJAT GUPTA
078b0f0793 drm: msm: dp: turn off audio before dp lane status toggling
There is an audio turn off timeout error whenever DP handles
the link state toggling requests from sink during audio
playback session. The audio hw is waiting for DMA write done
interrupts before issuing a audio session tear down. As the
DP controller is put into reset before link training, the
DMA write done is not sent by the DP controller hence causing
audio timeout errors. These changes turn off audio before the
DP controller is put into reset so that the audio session
tear down takes place within the stipulated time.

Change-Id: I7b88d0385a84f308d8537c2766e6fbc25a2ddc3b
Signed-off-by: RAJAT GUPTA <rajatgu@codeaurora.org>
2019-08-30 15:17:40 +05:30
qctecmdr
643c2e2fce Merge "disp: msm: vote for reg bus during rsc pm_runtime events" 2019-08-29 11:06:13 -07:00
Prashant Singh
4145770b07 disp: msm: add length check for debugfs_ctrl
Add check for length of debugfs_ctrl value before
copying to user buffer invoked during read operation.

Change-Id: I199110992921d0ae3791129fa0bf1e51dcca9107
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-08-27 20:34:45 +05:30
Veera Sundaram Sankaran
386dd329c5 disp: msm: vote for reg bus during rsc pm_runtime events
Add reg bus vote separate for RSC on top of the SDE
driver vote during the pm_runtime suspend/resume
events to avoid register access issues.

Change-Id: Ifbaead747b7b10db107696c8cce8e1ecfae5e0f8
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-08-26 16:06:50 -07:00
qctecmdr
685240ed01 Merge "disp: msm: get and release lock on msm_obj before put iova" 2019-08-26 14:02:54 -07:00
qctecmdr
220f4941da Merge "disp: msm: dp: fix test pattern selection" 2019-08-26 08:54:42 -07:00
qctecmdr
103fc67d5c Merge "disp: msm: sde: add SSPP CP features to dirty list during IPC" 2019-08-22 01:20:22 -07:00
Dhaval Patel
6f06e5cd6f disp: msm: sde: wait for specific pp_done instead of zero
2 Frames transfer pending is possible with posted start.
One ongoing frame and another triggered frame. Current SW
waits for pp_done interrupt if pending frame count is greater
than 1. It is possible that interrupt may be missed for ongoing
frame. In that case, SW should run pp_done wait for one by one
frame instead of two frames together. It allows encoder to
check the ctl scheduler status and trigger the frame done
event on time.

Change-Id: I4817842292d96747890ee70da8a5bdf9b56816ed
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2019-08-20 21:12:52 -07:00
Ajay Singh Parmar
8fb6f89363 disp: msm: dp: fix test pattern selection
Use one level lower test pattern in case the current
test pattern fails to train link. This helps with few
monitors which sometimes fail with a selected test
pattern. Instead of failing the link, try with a lower
test pattern.

CRs-Fixed: 2507729
Change-Id: I394253398f49b03084dc547dacaededa49a9c527
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2019-08-19 14:36:17 -07:00
Samantha Tran
27b60379d1 disp: msm: get and release lock on msm_obj before put iova
This change will acquire the proper lock before calling
put_iova and release the lock on return.

Change-Id: I04334597018a6041eab0107660b2d441f8e3cc92
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-08-19 11:55:59 -07:00
Vishnuvardhan Prodduturi
ea1176e4f8 drm:msm:dsi: Add check for max controller count
Add check for max controller count while iterating through
display ctrl structure to avoid out of bounds access.

Change-Id: If4d32c648e7d34591726286226600a92a357479a
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2019-08-16 18:35:07 +05:30
Christopher Braga
47ecefa419 drm: sde: Remove feature support for IGC/3D LUT for virtual planes
Attempts by virtual planes to set IGC and 3D LUT values are unsupported
and will result in LUTDMA hangs. Update virtual DRM planes capabilities
to disallow these features and make any attempts to set them a NOP.

Change-Id: I50eee7e981208ba53dfae833ab53b8fd0e5cda4e
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2019-08-14 10:39:54 -04:00
Prashant Singh
dc6f198f99 disp: msm: add null pointer sanity checks
Add missing null pointer checks for variables
before referencing them.

Change-Id: I5592ea136d2759e0a4adb288492c6ef00ae79c4d
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-08-14 18:04:45 +05:30
qctecmdr
2f41e9ab66 Merge "disp: msm: sde: ensure LUTDMA is complete when auto-refresh enable" 2019-08-13 21:01:42 -07:00
qctecmdr
778635ae10 Merge "disp: msm: sde: cache vbif QoS parameters" 2019-08-12 22:36:26 -07:00
qctecmdr
c0a6abefe7 Merge "disp: msm: fix re-entry problem for msm_atomic_commit" 2019-08-12 19:15:32 -07:00
qctecmdr
b1ad60a7fd Merge "disp: msm: dp: use the correct checksum for EDID" 2019-08-12 09:49:12 -07:00
qctecmdr
fa73055e20 Merge "disp: msm: sde: fix release fence signaling in error cases" 2019-08-12 02:41:05 -07:00
qctecmdr
50e8ef62d3 Merge "disp: msm: add proper null checks and propagate error" 2019-08-11 20:21:19 -07:00
qctecmdr
61d32e7925 Merge "disp: msm: sde: update splash resource allocation for dual display" 2019-08-10 07:51:01 -07:00
qctecmdr
70bb28eaba Merge "disp: msm: dsi: set default value of PPS CMD delay to zero" 2019-08-09 19:20:51 -07:00
qctecmdr
105e91a931 Merge "disp: msm: dsi: update the threshold time based on panel jitter" 2019-08-09 16:06:03 -07:00
qctecmdr
0193855c3c Merge "disp: msm: sde: fix dsi bridge init" 2019-08-08 21:14:07 -07:00
qctecmdr
2a9da1c03b Merge "disp: msm: dp: fix register read/write delays" 2019-08-08 16:50:41 -07:00
qctecmdr
28022d54f0 Merge "disp: msm: dp: fix dp_display module's state handling" 2019-08-08 16:50:40 -07:00