Gráfico de commits

3220 Commits

Autor SHA1 Mensaje Fecha
Veera Sundaram Sankaran
13cc91eee9 disp: msm: avoid crtc seamless check if active_changed is set
Currently, _msm_seamless_for_crtc returns true when multiple connectors
are attached to the old_crtc_state and connector_changed flag is set.
The crtc disable is skipped due to this check when the suspend request
comes with primary + cwb. This makes the sde crtc out of sync between
user-mode and driver. Fix this by avoiding crtc seamless check when
active_changed is set as in those cases, crtc enable/disable has to
executed.

Change-Id: Ibe4e3996009712d3bd6a13651b051d5e89ec131a
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-06-07 13:30:22 -07:00
qctecmdr
249b73b0c7 Merge "disp: msm: sde: override tearcheck rd_ptr_val when qsync is enabled" 2022-06-07 09:42:49 -07:00
qctecmdr
9c84b15b00 Merge "disp: msm: dsi: move warn to info if secondary panel is not assigned" 2022-06-07 09:42:49 -07:00
qctecmdr
22914338db Merge "disp: msm: sde: add missing validations for dnsc_blur" 2022-06-06 20:57:56 -07:00
qctecmdr
38f3aa63db Merge "drm: msm: allow opr_en in spr bypass mode" 2022-06-05 19:40:43 -07:00
Jayaprakash Madisetty
a6658ee7e9 disp: msm: sde: override tearcheck rd_ptr_val when qsync is enabled
When qsync is enabled with a large threshold start window, there
is a chance that two frames can be latched by mdp HW in single
vsync window. This change overrides the tearcheck rd_ptr_val
to a value larger than the end of the Tear check start window
to ensure new frame is not latched in current vsync window.

Change-Id: I21273f0bca83747210792b911e964dfd2d50079f
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-06-01 11:33:01 -07:00
Narendra Muppalla
8edcc604f3 disp: msm: dsi: move warn to info if secondary panel is not assigned
This change moves warning log to info log if secondary default panel
is not available.


Change-Id: Iad420a05c6440afdf0fcc5f7d33197eaf5c158c4
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-06-01 10:42:26 -07:00
Srihitha Tangudu
ad4b936b50 disp: msm: dsi: turn on the PLL before switching RCG parent during clk on
When display is left on from the bootloader, disp_cc driver will put a
proxy vote on clocks to maintain the hardware configuration of bootloader.
Once all the consumers have been probed, the dispcc driver will synchronize
the hardware state of the device to match the aggregated software state
requested by all the consumers using sync_state call.

If there is an idle power collapse or a suspend before sync state call,
branch clocks and in turn RCG will not get turned off during clocks
disable sequence because of the proxy vote of disp_cc driver. This can be
the case even if there is a vote from any other disp_cc consumers.

During a subsequent call to enable the clocks from DSI driver, we are
currently switching RCG parent to PLL and then turning on the PLL.
If the sync state call doesn't happen before we enable the clocks back,
we'll be setting PLL which is off as a parent to RCG that is on.
But ideally when RCG is on, both the old and new sources should be on
while switching the RCG parent.

Avoid this by turning on the PLL before switching RCG parent during clock
enable sequence.

Change-Id: I1597cf2c8095957cd2b2a20a72bf7199e0d61809
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-05-29 20:49:45 -07:00
Ping Li
e8befa9d12 drm: msm: allow opr_en in spr bypass mode
Allow user to enable opr in spr bypass mode.

Change-Id: I3783a37334ffd0ee66bdd552bf93feee64c286c9
Signed-off-by: Ping Li <quic_pingli@quicinc.com>
2022-05-27 14:03:09 -07:00
Rajeev Nandan
d26a3a480e disp: msm: dsi: add missing dsi ctrl mutex lock in host timing update
Acquire dsi_ctrl->ctrl_lock lock before programming dsi ctrl
registers. Failing this may lead to race conditions in register
programming.
Add missing mutex lock inside dsi_ctrl_host_timing_update().

Change-Id: Ic86cbe282333c0b4d63ae3d5b3356a5d24752203
Signed-off-by: Rajeev Nandan <quic_rajeevny@quicinc.com>
2022-05-26 21:50:47 -07:00
Veera Sundaram Sankaran
30aa675422 disp: msm: sde: add missing validations for dnsc_blur
Add crtc checks to ensure the crtc width is always even number,
so there is no loss while dividing by num_mixers. Add checks in
dnsc_blur to ensure the src is always greater than the dest.

Change-Id: I876f19aa20857dc9ed2649c9cb7569348e7d5fd3
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-05-26 16:17:16 -07:00
Amine Najahi
f2ebcab793 disp: msm: sde: add support for LUTDMA VBIF clock split
Add support for localized CLK_CTRL access through LUTDMA
hardware block.

This change aggregates RD/WR LUTDMA CLK_CTRL in a single
ops.

Change-Id: Id5c24bebf7dfcd9f768b2a6f6fa03f8b01747354
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2022-05-26 17:20:10 -04:00
qctecmdr
0c0cf5f2ca Merge "disp: msm: remove parsing deep color modes in sde parser" 2022-05-25 04:41:51 -07:00
qctecmdr
8c4fd05ac2 Merge "disp: msm: send power_on event in dual display composer kill scenario" 2022-05-25 04:41:49 -07:00
Linux Build Service Account
74a51b65a7 Merge "disp: msm: dsi: pass DRM_BRIDGE_ATTACH_NO_CONNECTOR during bride attach" into display-kernel.lnx.5.15 2022-05-24 20:32:33 -07:00
Veera Sundaram Sankaran
b40c05519d disp: msm: sde: log vblank timestamp in eventlogs
Log the vblank timestamp during vblank callback. This will be
useful in calculating the precise difference between the vsync
while debugging. As part of the change, remove the vblank
counter logging in sde_crtc as it floods the logs with 4 entries
for each vblank request.

Change-Id: I6b532ad657581fb2a34318541acbd81a44858819
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-05-23 14:09:11 -07:00
Jayaprakash Madisetty
b837aa4c77 disp: msm: send power_on event in dual display composer kill scenario
On composer kill event, drm lastclose occurs during which suspend
commit gets triggered on primary. If secondary display is stuck in
continuous splash, then we do a early return without triggering
this suspend commit. On composer start, userspace waits for power on
event, but the drm_driver has never entered suspend state, so power
on event is never sent to userspace. This causes HWC deadlock side
effect and the current change triggers null_commit on secondary
display and then issues a suspend commit on both the displays to
avoid this deadlock issue.

Change-Id: I126f43ba3dd2c3bfa83346e8fd4678f35527893d
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-05-23 11:24:01 -07:00
qctecmdr
7a013221ae Merge "disp: enable the msm_drm packing for auto builds" 2022-05-20 18:02:27 -07:00
qctecmdr
8a1413eaad Merge "disp: msm: dp: change display status log level" 2022-05-18 18:55:00 -07:00
qctecmdr
d97f724677 Merge "disp: msm: dp: update DSC resource book keeping for mst" 2022-05-18 18:55:00 -07:00
qctecmdr
fd82e28541 Merge "disp: config: add hw fence configuration files for Kalama" 2022-05-18 14:42:41 -07:00
Sandeep Gangadharaiah
9e8f2710ea disp: msm: dp: change display status log level
Some of the display status changes such as re-enable
or re-disable are not critical errors and can be ignored.
This change downgrades such errors as warnings.

Change-Id: I6800e534fc7fb825a472f37bb78a928e2e78d63a
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-05-18 10:34:00 -07:00
Christina Oliveira
21ca2acab9 disp: msm: sde: add support for hwfence profiling
This change adds hwfence input and output fence profiling
registers and debugfs to enable them.
To enable input hw fences timestamps:
echo 0x1 > /d/dri/0/debug/hw_fence_status
To enable output hw fences timestamps:
echo 0x2 > /d/dri/0/debug/hw_fence_status
To enable both, input and output hw fences timestamps:
echo 0x3 > /d/dri/0/debug/hw_fence_status.

Change-Id: I269a38f3843a01ec8c0816890e50bb7d847a4ed9
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-18 09:38:40 -07:00
Sandeep Gangadharaiah
bbe2404b91 disp: msm: dp: update DSC resource book keeping for mst
Currently in an MST scenario, DSC resources are updated in
bookkeeping only when the corresponding stream is enabled.
This would lead to assigning already reserved DSC blocks to the
2nd stream, if 2nd stream is validated before the 1st stream is
enabled. This change would update the bookkeeping as soon as the
mode is validated.

Change-Id: I7f89a16639efcde3e5dfdf423715ed354e1de66a
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-05-18 06:49:07 -07:00
Rahul Sharma
aea055ebc6 disp: msm: dsi: pass DRM_BRIDGE_ATTACH_NO_CONNECTOR during bride attach
Pass the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag when attaching the
bridge so that the bridge driver would not create another
drm connector.

Change-Id: I838bd87c40d0eea3df36187befeb7195fb87d5b3
Signed-off-by: Rahul Sharma <quic_rahsha@quicinc.com>
2022-05-17 22:09:43 +05:30
Christina Oliveira
d2d060cf80 disp: msm: sde: add hw fence support for prog line count
This change adds support for triggering output
hw fence upon programmable line count.

Change-Id: Ie4b8252e4f9a448a8c11d17696b9bb0ded81b04b
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:45:49 -07:00
Christina Oliveira
9a33a2a1fd disp: msm: sde: hw_fence update autorefresh disable sequence
This change updates the autorefresh disable sequence to manually
trigger output hw_fence during the transition. This is required
since on the last autorefresh frame HW will not trigger the output fence.

Change-Id: I6789fc6b51421524f88dcbdd1a063ae947646ae4
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:45:27 -07:00
Christina Oliveira
5f554a52b9 disp: msm: sde: disable hw_fence for cmd/vid mode switch
This change disables hw_fences when a mode switch
from video to command mode or command to video mode
is ongoing.

Change-Id: I6f99226b59b381c6d2ff34a85753f8608080f546
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:45:12 -07:00
Christina Oliveira
d3104b1f9f disp: msm: sde: add fence ready in event log
This change adds the value of hw-fence ready to
event logs for video and command modes.

Change-Id: I40a2e886a3b95e8853efcbdddf7fd9f6ce48eb9b
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:44:59 -07:00
Christina Oliveira
0e20e27cc1 disp: msm: sde: adds mem mapping for hwfence ipcc reg
This change adds one-to-one memory mapping for the hwfence
ipcc register memory needed for hw fence feature.

Change-Id: I0e264183e02d0ed5f2254b409cc5e776d670f0dc
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:44:45 -07:00
Ingrid Gallardo
62ad586d91 disp: config: add hw fence configuration files for Kalama
Add configuration files to compile hw-fence driver
for Kalama display.

Change-Id: Icd45b7688988b54d6b31bd07998b811116506b30
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-05-16 12:43:35 -07:00
Christina Oliveira
640c8111d3 disp: msm: sde: add support for hw-fence feature
Starting mdss 9.0, dpu supports triggering
the frame fetch through hw-fencing. This change
adds support for this hw-fence feature.

Change-Id: Icc7d0b69fc2a51103d14612f5ac89b44a47ed826
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-05-16 12:41:28 -07:00
qctecmdr
487e4ebec2 Merge "disp: msm: sde: add reg dma support for vig DE lpf" 2022-05-16 08:37:45 -07:00
Rahul Sharma
840b5d7003 disp: enable the msm_drm packing for auto builds
remove the TARGET_BOARD_AUTO flag check to enable
the display driver msm_drm.ko packing for automotive builds.

Change-Id: I3eda4b3ecb497be71cbe156acb62a0731f12ccde
Signed-off-by: Rahul Sharma <quic_rahsha@quicinc.com>
2022-05-14 23:06:15 +05:30
qctecmdr
705ad08735 Merge "disp: msm: dp: add ability to select pattern for tpg" 2022-05-13 09:58:57 -07:00
Vara Reddy
194baedbee disp: msm: remove parsing deep color modes in sde parser
Change removes downstream parsing of deep color modes function
_sde_edid_update_dc_modes, which is presently parsed in upstream
function drm_parse_ycbcr420_deep_color_info in drm_edid file.

Change-Id: I4426e190cdc1e5f139a0c0439cc45f3cc7884c3d
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-05-12 20:06:42 -07:00
qctecmdr
7f6a4cdee7 Merge "disp: msm: sde: add custom event to notify OPR, MISR value change" 2022-05-10 21:25:05 -07:00
qctecmdr
98d739db59 Merge "disp: msm: sde: toggle LLCC SCID for consecutive LLCC write" 2022-05-10 08:38:47 -07:00
Akshay Ashtunkar
9423445a34 disp: msm: sde: add custom event to notify OPR, MISR value change
This change collects the OPR, MISR values. If the values are
different than the previous then notify to client with custom event.

Change-Id: I2546439be1f665d90e6505d65283d28096bf7cdd
Signed-off-by: Akshay Ashtunkar <quic_akshayaa@quicinc.com>
2022-05-10 09:51:16 +05:30
Amine Najahi
d03f18c6b9 disp: msm: sde: toggle LLCC SCID for consecutive LLCC write
Toggle LLCC SCID for each consecutive LLCC write
operations and force read allocate when NSE bit
set.

Change-Id: Ice473cb126b627056b7346f142bc84c120e05f0b
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-05-09 17:07:58 -04:00
Renchao Liu
b56c45e4be disp: msm: sde: add reg dma support for vig DE lpf
This change adds reg dma support for vig DE lpf.

Change-Id: I9108046bb2afb987eec49224df4a45c37f9c27cd
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-05-07 16:34:11 +08:00
qctecmdr
0384633caf Merge "disp: msm: sde: update vsync soure as part of post modeset" 2022-05-06 06:09:04 -07:00
qctecmdr
63a9b89055 Merge "disp: msm: sde: fix precise vsync feature check" 2022-05-06 01:23:21 -07:00
Narendra Muppalla
f014267f93 disp: msm: sde: update vsync soure as part of post modeset
This change updates vsync source as part of rc post modeset. For some
use cases like idlepc with DFPS, vsync could be configured for
previous fps and can cause timeouts during next frame.

Change-Id: I110fd958d2970eaca50ace0e72c4faea3fc64ce8
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-05-03 15:02:54 -07:00
qctecmdr
be3eb851cf Merge "disp: msm: dsi: Don't clear status interrupts while error interrupts toggle" 2022-04-30 22:49:59 -07:00
qctecmdr
25dd16eeb0 Merge "disp: msm: Address static analysis issues" 2022-04-30 18:45:41 -07:00
Nisarg Bhavsar
75aedb1c53 disp: msm: Address static analysis issues
Avoid various possible nullptr dereferences.
Addresses various issues highlighted by static analysis.

Change-Id: I36d34d610b37bf2799a7e34cd1de8b909b5c0ae4
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-04-28 11:53:38 -04:00
Rahul Sharma
d28f68dede disp: msm: add augen3 configuration
Add augen3 configuration for SA8155/SA8195/SA6155 family.

Change-Id: I206f0a636ef9f33b4c46cb0159ae2659a3dced59
Signed-off-by: Rahul Sharma <quic_rahsha@quicinc.com>
2022-04-28 07:42:28 -07:00
Srihitha Tangudu
4799920fc7 disp: msm: dsi: Don't clear status interrupts while error interrupts toggle
To toggle error interrupts, we currently read the DSI_INT_CTRL register,
toggle the DSI_ERROR_MASK bit and write back to the register. While doing
so we are also writing back 1 to any status bits set by HW, thus clearing
the status interrupts. Clearing the status bits should always be done as
part of interrupt handling, which otherwise can lead to command transfer
failures.

Avoid clearing status interrupts while error interrupts are toggled.

Change-Id: Iaae10c279f2341269ed49074448167e68ab7e13c
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-04-27 11:28:05 +05:30
Rajkumar Subbiah
609f084c8a disp: msm: dp: improve accuracy of mvid/nvid calculation
The software mvid/nvid values represent the ratio of mode clock
to link clock. Currently we are converting the link clock to vco
clock, get the ratio of vco clock to mode clock and then adjust
the resulting values to get the ratio of link clock to mode clock.
This change simplifies this logic by directly using the link
clock to get the ratio and uses fixed point arithmetic to scale
the resulting mvid, nvid values to meet requirements.

Change-Id: Ifdfa27edb73d2db6381e592db219e75806d6bdc7
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2022-04-26 18:58:47 -07:00