Commit Graph

502 Commits

Author SHA1 Message Date
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
Lei Chen
e4fc324197 disp: msm: dsi: refine the logic for mode filling and calculation
Video and command mode will be included in same timing node
when POMS is enabled, but DFPS is only applicable for video
mode, so add this change to differentiate panel mode, and fill
display mode according to panel mode.

Change-Id: I6aa0f8572f23f0612684ed7cdf406b20ab3df822
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-12 11:30:36 +08: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
Vara Reddy
ddd2b4fe12 drm/msm/dsi-staging: update dsi debug bus error message
Change lowers the log level of the debug bus dump to info.

Change-Id: I129f9f2e611428dc392d7888df43870beddac307
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-09-11 14:33:58 -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
Lei Chen
e50cce2dfe disp: msm: sde: ensure input handler unregistration in command mode
Input handler is only registered in command mode, so add this change
to ensure that the input handler will be only unregistered in command
mode.

Change-Id: I15f652439339eee45b0ed3c011aa2922151f68ba
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-10 14:58:57 +08:00
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
Tatenda Chipeperekwa
1d1ce83ab1 disp: msm: dp: remove session lock for power state update
Remove session lock for power state update to improve functionality
for fast hotplug use cases. This allows the controller and aux modules
to be updated asynchronously based on hotplug state. For example,
in disconnected state all aux transactions will be aborted.
Updates to the power state can be done without the session lock
since this path is only exercised during compliance testing.

Change-Id: Ibe175624ef56d9f7b953b9b54928682f1cac906a
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2019-09-03 18:01:58 -07:00
Tatenda Chipeperekwa
93893b319b disp: msm: dp: clear scrambler bypass for test pattern 4
Clear the scrambler bypass bit while programming test pattern 4
for electrical compliance. This bit is only used for debugging
purposes and must be unset in order to get the correct test pattern
output from the controller.

Change-Id: If54ba17dc5bdd096899cf57cc4f276aab1837308
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2019-09-03 17:01:02 -07:00
Bruce Hoo
52eed6a827 disp: pll: update dynamic dsi clock sequence
Update dynamic dsi clock sequence for 7nm pll, change the register
which is used to store pre-cal code.

Change-Id: I0cd700f65a1dca965372adbda83416dfbbddd60f
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
2019-09-03 16:31:46 +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