Commit Graph

3216 Commits

Author SHA1 Message Date
Bruce Levy
7b02c6d146 Revert "disp: msm: sde: add check to avoid NULL WB output fb"
This reverts commit e46400196a.

Change-Id: Iee38893a5a36cf1439b97aa494b069d1f525a55e
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
2022-09-06 18:59:13 -07:00
Bruce Levy
e8dfa47d10 Revert "disp: msm: dsi: reorder various resets of DSI PHY"
This reverts commit a26fe8667d.

Change-Id: I2c50354521bb0a6ec4490b3a390841c1239d05a4
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
2022-09-06 18:59:03 -07:00
Bruce Levy
b89826f14f Revert "disp: msm: dsi: avoid DSI PHY shutdown during idle"
This reverts commit c4a9630939.

Change-Id: I440c3aa45e5a75f9ba6bf33f7fd9379eb6ead895
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
2022-09-06 18:58:53 -07:00
Bruce Levy
51410a8413 Revert "disp: msm: sde: use new connector state for topology checks"
This reverts commit 762d8a8f1b.

Change-Id: Ibb5c0e248f79659aa1cae7878c40d3e6c3de9bac
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
2022-09-06 18:58:41 -07:00
Linux Build Service Account
1554d485ed Merge "disp: msm: sde: use new connector state for topology checks" into display-kernel.lnx.5.15.r1-rel 2022-08-27 16:45:01 -07:00
Linux Build Service Account
ab47310f7b Merge "disp: msm: dsi: avoid DSI PHY shutdown during idle" into display-kernel.lnx.5.15.r1-rel 2022-08-27 16:45:00 -07:00
Linux Build Service Account
055324bcf8 Merge "disp: msm: dsi: reorder various resets of DSI PHY" into display-kernel.lnx.5.15.r1-rel 2022-08-27 16:45:00 -07:00
Veera Sundaram Sankaran
762d8a8f1b disp: msm: sde: use new connector state for topology checks
Use with the new connector state during validation phase for
checking the 3d-merge topology, since this is the state that
needs to be validated.

Change-Id: Ie212f948affa4dc439ef508363bac6713e560006
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-27 14:34:51 -07:00
Shashank Babu Chinta Venkata
c4a9630939 disp: msm: dsi: avoid DSI PHY shutdown during idle
Avoid shutting down DSI PHY and lanes before entering into
idle collapse.

Change-Id: I62fb40c2398e544b08b8cb8788ac2dc1143a82ce
Signed-off-by: Shashank Babu Chinta Venkata <quic_schintav@quicinc.com>
2022-08-27 14:12:07 -07:00
Shashank Babu Chinta Venkata
a26fe8667d disp: msm: dsi: reorder various resets of DSI PHY
DSI PHY has various resets defined to reset analog, PLL and digital
portions. In current sequence, these resets happen after PLL is locked
which can result in introduction of jitter on PHY lanes.Reordering these
resets to happen before PLL is programmed to have intended clean start
of DSI PHY.

Change-Id: I4eb5c05ea0e6015a5447728b2845b49817411c50
Signed-off-by: Shashank Babu Chinta Venkata <quic_schintav@quicinc.com>
2022-08-27 14:11:17 -07:00
Veera Sundaram Sankaran
e46400196a disp: msm: sde: add check to avoid NULL WB output fb
Change the debug message to error during the writeback
encoder validate for wb output buffer. The output buffer
can be NULL only during disable frame and all other frames
need to have a valid output buffer.

Change-Id: I4d6fecfeaf863e56fe25e17ab1200849003b3309
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-27 14:03:20 -07:00
Linux Build Service Account
ea7e73f13b Merge "disp: msm: sde: add crtc width restriction when 3d-merge is enabled" into display-kernel.lnx.5.15.r1-rel 2022-08-24 10:42:26 -07:00
Linux Build Service Account
cb83e5d8b4 Merge "disp: msm: sde: bound event log traversal to allocated memory in coredump" into display-kernel.lnx.5.15.r1-rel 2022-08-24 10:42:25 -07:00
Linux Build Service Account
c0cb8e74ef Merge "disp: msm: dp: remove disconnect call for downstream port status change" into display-kernel.lnx.5.15.r1-rel 2022-08-24 10:42:18 -07:00
Veera Sundaram Sankaran
d66b542c43 disp: msm: sde: add crtc width restriction when 3d-merge is enabled
Add validation during crtc_atomic_check to have crtc width as
multiple of 4 when dualpipe 3d-mux is enabled and multiple of 8
when quadpipe 3d-mux is enabled. This ensures each layer mixer
is having an even width.

Change-Id: I5dc173c1b0349430a8e12a7b1c9440c7854e7ecd
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-24 00:26:14 -07:00
Amine Najahi
174c107f6a disp: msm: sde: bound event log traversal to allocated memory in coredump
Currently, driver is determining the amount of memory to allocate
based on the event log object indexes (first, last). The last index
can change if there is additional logging done during the coredump
phase and potentially cause an out-of-bound memory access during
buffer traversal.

This change restrict the event log object traversal to a maximum
of the output buffer size.

Change-Id: I91e5734362d2d7a796129fce85e27611bab2245f
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-08-24 00:25:27 -07:00
Sandeep Gangadharaiah
10ac060759 disp: msm: dp: remove disconnect call for downstream port status change
During MST scenario, plugging out all the downstream monitors connected
to the MST hub would trigger a disconnect handler which would cleanup
display structure. This isn't required since MST hub is still connected
and the display cleanup would be taken care during the actual MST hub
disconnect. Also, handling the disconnect immediately on port status
notification leaves the usermode in an invalid state where it assumes
the display is still enabled and results in commit errors.

Change-Id: Ia9a58fadd89bd05746da25f142b54b31e8567258
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-08-24 00:00:01 -07:00
Veera Sundaram Sankaran
7b4ea8c54c disp: msm: sde: update hw configs on dnsc_blur disable
Currently, dnsc_blur hardware block is not updated when the connector
dnsc_blur property is set to NULL or when dnsc_blur_count is 0. Update
the dnsc_blur hw block configs to avoid stale configs affecting the
current frame.

Change-Id: I39934a8b9490a13a0f77f3b5dbc5053b76a9370b
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-23 23:56:49 -07:00
Linux Build Service Account
f47a4bd39b Merge 5a5adbba9f on remote branch
Change-Id: I82779224a7c3752c42974842515efd6e06acdfd7
2022-08-19 15:24:37 -07:00
Arya Anand
16512fbd66 Revert "disp: msm: sde: reduce stack size in _sde_crtc_check_rois"
This reverts commit 9e8739b820.

Change-Id: I27fa7eae4c6f243779534c9d6561ce27bdac437e
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:33:35 -07:00
Arya Anand
e097620d90 Revert "disp: msm: dp: address race condition in LM allocation"
This reverts commit ad1b9376ab.

Change-Id: Ib5eae02546b3a31c3609b5a6af32910b4193ca38
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:33:22 -07:00
Arya Anand
a315c77ed7 Revert "disp: msm: sde: update hw configs on dnsc_blur disable"
This reverts commit 728f9d65ca.

Change-Id: I664a71adfece87f0c570a273b929a8e9e9691108
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:33:10 -07:00
Arya Anand
77a8968663 Revert "disp: msm: sde: enable encoder resources before phys enc disable"
This reverts commit 8eef598b0b.

Change-Id: Ia219731034901fd6bbbd80a53e7865b2fcda4bc4
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:32:59 -07:00
Arya Anand
2d176f445c Revert "disp: msm: sde: use mode from new state during CP check phase"
This reverts commit a9294b7329.

Change-Id: I1258955eebc11ae2694ea106e0a90e7221e4d82d
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:32:47 -07:00
Arya Anand
9c68afbcb0 Revert "disp: msm: sde: reset wb output crop during cwb disable"
This reverts commit 600e4ef057.

Change-Id: Ida30631e3a7272ed8d72e711da1a33792d95ba19
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-18 16:32:34 -07:00
Veera Sundaram Sankaran
9e8739b820 disp: msm: sde: reduce stack size in _sde_crtc_check_rois
Use pointer and allocate dynamic memory for msm_mode_info
in _sde_crtc_check_rois instead of object to reduce the
stack memory size.

Change-Id: Ida8fc7e2b94e19b3c791dcda55a465a4107ef976
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
Signed-off-by: Jeykumar Sankaran <quic_jeykumar@quicinc.com>
2022-08-15 08:08:06 -07:00
Linux Build Service Account
69d4b70dd9 Merge "disp: msm: dp: address race condition in LM allocation" into display-kernel.lnx.5.15.r1-rel 2022-08-13 22:02:48 -07:00
Linux Build Service Account
109ff3e2f7 Merge "disp: msm: sde: update hw configs on dnsc_blur disable" into display-kernel.lnx.5.15.r1-rel 2022-08-13 22:02:48 -07:00
Linux Build Service Account
8bcdc2f87e Merge "disp: msm: sde: enable encoder resources before phys enc disable" into display-kernel.lnx.5.15.r1-rel 2022-08-13 22:02:47 -07:00
Linux Build Service Account
f344738459 Merge "disp: msm: sde: use mode from new state during CP check phase" into display-kernel.lnx.5.15.r1-rel 2022-08-13 22:02:46 -07:00
Alex Danila
ad1b9376ab disp: msm: dp: address race condition in LM allocation
Addresses a race condition which could cause the RM to overcommiting LMs to
DP when multiple DP displays are used.

sde_rm_get_resource_info now uses the RM's mutex and assumes a null
encoder is not a built in display so that it can return an accurate
count of unreserved resources.

DP layer now maintains internal accounting of LMs in use to avoid
validating modes that have insufficient remaining resources.

Change-Id: I908c1597c1d651b6f9c9b74a34137f30087d8801
Signed-off-by: Alex Danila <quic_eadanila@quicinc.com>
2022-08-13 21:23:34 -07:00
Veera Sundaram Sankaran
728f9d65ca disp: msm: sde: update hw configs on dnsc_blur disable
Currently, dnsc_blur hardware block is not updated when the connector
dnsc_blur property is set to NULL or when dnsc_blur_count is 0. Update
the dnsc_blur hw block configs to avoid stale configs affecting the
current frame.

Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
Change-Id: If64dc5548b03edba401fb7f40edf3419dbe57ca3
2022-08-13 21:22:49 -07:00
Veera Sundaram Sankaran
8eef598b0b disp: msm: sde: enable encoder resources before phys enc disable
Enable the clks/irqs & update RSC state during encoder disable.
This ensures RSC is in correct state during the non-primary disable
commit as it might have entered idle power collapse before the
disable.

Change-Id: Idf82efb3a7bc895e1a97c6cdeeb62970184c8e5d
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-13 21:22:11 -07:00
Amine Najahi
a9294b7329 disp: msm: sde: use mode from new state during CP check phase
Currently previous mode information is passed to CP check phase
instead of the new incoming mode, which cause RC to silently
pass the check phase when there is a resolution mismatch between
the RC mask and new mode.

This change also adds various event log to better track RC codeflow.

Change-Id: I8953fd76e2cb0eb12e2df23038a7866edd3dcb1e
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-08-13 21:21:31 -07:00
Veera Sundaram Sankaran
600e4ef057 disp: msm: sde: reset wb output crop during cwb disable
Reset the wb crop configs from hardware, while disabling
concurrent writeback. This avoids stale configs which
affects the subsequent writeback session.

Change-Id: I4927effd0650bcdca2852a5d72c3e5478683a90f
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-13 21:20:46 -07:00
Linux Build Service Account
d7c495fba1 Merge df69a7d379 on remote branch
Change-Id: I07c21074e78da573a17e1568cf008aeb7239b68b
2022-08-11 11:55:27 -07:00
Arya Anand
d387c7f251 Revert "disp: msm: sde: force RC mask revalidation during mode switch"
This reverts commit acfb3acb1f.

Change-Id: I196b6e76e4aeb2ee3446eecf539c5b57234f77c7
Signed-off-by: Arya Anand <quic_aryaanan@quicinc.com>
2022-08-10 15:48:59 -07:00
qctecmdr
5a5adbba9f Merge "disp: msm: dp: address race condition in LM allocation" 2022-08-09 20:49:21 -07:00
qctecmdr
e540ee198b Merge "disp: msm: sde: enable encoder resources before phys enc disable" 2022-08-08 20:01:57 -07:00
qctecmdr
88df673d58 Merge "disp: msm: sde: reduce stack size in _sde_crtc_check_rois" 2022-08-08 20:01:57 -07:00
Amine Najahi
18d42a6eb3 disp: msm: sde: use mode from new state during CP check phase
Currently previous mode information is passed to CP check phase
instead of the new incoming mode, which cause RC to silently
pass the check phase when there is a resolution mismatch between
the RC mask and new mode.

This change also adds various event log to better track RC codeflow.

Change-Id: I8953fd76e2cb0eb12e2df23038a7866edd3dcb1e
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-08-08 13:31:12 -04:00
Veera Sundaram Sankaran
965ac39c84 disp: msm: sde: enable encoder resources before phys enc disable
Enable the clks/irqs & update RSC state during encoder disable.
This ensures RSC is in correct state during the non-primary disable
commit as it might have entered idle power collapse before the
disable.

Change-Id: Idf82efb3a7bc895e1a97c6cdeeb62970184c8e5d
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-08 10:15:11 -07:00
qctecmdr
771d2ae78d Merge "disp: msm: sde: Add scaler offset for de lpf" 2022-08-07 20:39:14 -07:00
qctecmdr
cf9129e168 Merge "disp: msm: dp: fix aux state during individual plug out/in" 2022-08-06 03:04:57 -07:00
qctecmdr
adde40d0a0 Merge "disp: msm: dsi: Enable TPG functionality" 2022-08-06 03:04:57 -07:00
Sandeep Gangadharaiah
0763e33723 disp: msm: dp: fix aux state during individual plug out/in
When a display is powered off, the DP driver currently clears the aux
state and forces it to OFF, expecting a subsequent hpd_low. But in MST
scenarios it is possible for individual displays to be unplugged and then
plugged back in without disconnecting the hub. In this use case, after
the unplug of last display, the aux state is in OFF, and on the
subsequent plug-in, the driver appends the ON flag, leaving both flags
to be set which is an incorrect state. This change removes this
assumption and properly sets the ON/OFF state on enable/disable
respectively.

Change-Id: I96355938a14c77fe958b86bd5f1dabad67584e4e
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-08-03 20:33:56 -07:00
Renchao Liu
fcaf279afd disp: msm: sde: Add scaler offset for de lpf
Scaler offset is missed while writing de lpf register,
which may cause DE works mainly on the left part of panel.
this change adds the offset to fix this issue.

Change-Id: I7cdc3afd3523cb9e15a7ae79adae07e2b52b8c2e
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-08-04 10:10:50 +08:00
Nisarg Bhavsar
5e0d93196b disp: msm: dsi: Enable TPG functionality
Allow TPG patterns to be displayed on command mode and
video mode panels.

Change-Id: Ie9ba9b404ceb965f8a06d1f19e932dd2e051983b
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-08-03 15:04:54 -07:00
Veera Sundaram Sankaran
ac427feb9e disp: msm: sde: reduce stack size in _sde_crtc_check_rois
Use pointer and allocate dynamic memory for msm_mode_info
in _sde_crtc_check_rois instead of object to reduce the
stack memory size.

Change-Id: Ida8fc7e2b94e19b3c791dcda55a465a4107ef976
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
Signed-off-by: Jeykumar Sankaran <quic_jeykumar@quicinc.com>
2022-08-03 14:27:06 -07:00
Srihitha Tangudu
9857e36ddb disp: msm: dsi: Avoid re-initializing PLL registers during dyn clk switch
Currently we are always initializing PLL registers whenever PLL is
configured. Re-initializing PLL registers during dynamic clock switch in
case of cphy video mode is moving the PLL to some bad state resulting in
display freeze. Avoid this by restricting initialization of PLL registers
to only while turning on the PLL.

Change-Id: I09eacbb37fff4e0e91d226ac08e7d5a2bfbbfe26
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-08-03 00:46:15 -07:00