Commit Graph

3653 Commits

Author SHA1 Message Date
qctecmdr
0f8456bfda Merge "disp: msm: sde: pass fence error value in hw fence error handling" 2023-07-26 20:14:17 -07:00
qctecmdr
19cb917ff1 Merge "disp: msm: sde: reset cwb encoder after commit done complete" 2023-07-26 20:14:17 -07:00
Nisarg Bhavsar
60c9dce746 disp: msm: dp: Add null check after payload allocation
Adds null check for MST port and connector after payload
allocation. Prevents calling mst helper functions with
a null port or connector on a failed payload allocation.

Change-Id: I8e228bd1498b11b302371c1ad6d805d5f941667e
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2023-07-26 09:07:41 -07:00
Prabhanjan Kandula
74796543cf disp: msm: sde: reset cwb encoder after commit done complete
Postpone virtual encoder reset until commit done complete
on all the encoders of the crtc to ensure cwb encoder
resources are held until it's primary encoder commit with
cwb resources disable is picked by HW.

Change-Id: I820317d13c00b44f6edd69acff83dc3b494b6282
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2023-07-24 13:30:02 -07:00
GG Hou
34e9a682d7 disp: msm: sde: pass fence error value in hw fence error handling
Passing the same error code received from the input fence error.

Change-Id: I59865e89eb974d1ee9f7c2fe3e13acd66cb82617
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2023-07-21 01:44:04 +08:00
Yu Wu
f78456a7fa disp: msm: sde: add parameter NULL pointer dereference checks
Add parameter NULL pointer dereference checks to improve code quality.

Change-Id: I79edf073c9b6d0c225a032017cf3a67ce4cd1d57
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2023-07-17 11:09:42 +08:00
qctecmdr
8fc8477586 Merge "disp: msm: sde: add buffer size checks" 2023-07-13 03:27:41 -07:00
qctecmdr
403ae7becd Merge "disp: msm: limit reglog to user debug builds" 2023-07-08 12:16:43 -07:00
qctecmdr
1e5f63da67 Merge "disp: msm: dp: send hotplug event on mst sim port status update" 2023-07-06 08:35:36 -07:00
qctecmdr
d8ba3f5ceb Merge "disp: Enable MSM_EXT_DISPLAY config for dp_audio." 2023-07-06 08:35:36 -07:00
qctecmdr
815b01d61d Merge "disp: msm: dp: Release connector reference after reading crc frame value" 2023-07-06 08:35:35 -07:00
Varsha Suresh
6830449deb disp: Enable MSM_EXT_DISPLAY config for dp_audio.
Add support for all the configs symbols under config_options under DDK framework.

Change-Id: Iba2949175afe5f55a2e3107d2afd71e55b862d61
Signed-off-by: Varsha Suresh <quic_varssure@quicinc.com>
2023-07-04 14:57:07 -07:00
Yu Wu
bb70fda262 disp: msm: sde: add buffer size checks
Add buffer size checks to improve code quality.

Change-Id: I99c64d6157d7b0475b0b28e093ea70820981fddd
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2023-07-04 14:23:43 +08:00
Soutrik Mukhopadhyay
198f8c702f disp: msm: dp: Release connector reference after reading crc frame value
This change decrements the specific drm connector's reference count
after it has been used for reading crc frame value. Without this
change, there might be a chance of a connector's reference count
still remaining positive, even if it is not accessed anywhere
further in code.

Change-Id: I9058ca046fa114bc10159045f98c40ac68ade751
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2023-07-03 17:31:33 -04:00
qctecmdr
17ec75404a Merge "disp: msm: sde: avoid white color solid fill staging on input fence timeout" 2023-07-03 14:03:22 -07:00
qctecmdr
e699aa2b24 Merge "disp: msm: fix coherent device check" 2023-07-02 07:56:27 -07:00
qctecmdr
7fa3cad70f Merge "disp: msm: dsi: Use pr_err_ratelimited to log PHY contention error" 2023-06-30 17:16:35 -07:00
Prabhanjan Kandula
74b0b24920 disp: msm: limit reglog to user debug builds
This change limits reglog feature by default to user debug
builds only and provides debug option to selectively disable
reglog for power and perf profiling if required. This change
is needed as reglog is considerably heavy on commit thread
execution.

Change-Id: Id06a63e10fd0c93ba0af6c6f2d1ae36b70c47f67
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2023-06-29 16:21:13 -07:00
Rajkumar Subbiah
ba25a62e03 disp: msm: dp: send hotplug event on mst sim port status update
For MST Simulation use case, whenever the port status is updated on
an individual display, send a hotplug event to usermode to make
sure it is handled.

Change-Id: I959290f2c67378e057933356f3ffe692f8b858d7
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2023-06-28 17:56:19 -04:00
qctecmdr
91367258b6 Merge "disp: msm: sde: update demura error handling" 2023-06-27 17:12:34 -07:00
qctecmdr
1e2c50a227 Merge "disp: msm: dp: Add null check for payload allocation" 2023-06-27 13:40:29 -07:00
Shamika Joshi
3c93b79824 disp: msm: fix coherent device check
Coherency check is done for all kernel revisions during
begin_cpu_access, but the check is limited to older kernel
revisions during end_cpu_access. Fix it to have the
coherency check for all begin & end cpu access.

Change-Id: I03ada0d7dea6875f0be7b4f807738480bcfb3c70
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2023-06-27 11:49:59 -07:00
Rohith Iyer
446c1b69b5 disp: msm: dsi: Use pr_err_ratelimited to log PHY contention error
Replace DSI_CTRL_ERROR with pr_err_ratelimited to reduce PHY contention
logging errors, as excessive logging in kernel can lead to system crash.

Change-Id: Ibd81a0e852a73186144ebefc8a1c09020a6e74f0
Signed-off-by: Rohith Iyer <quic_rohiiyer@quicinc.com>
2023-06-26 12:08:06 -07:00
qctecmdr
63f9170aa4 Merge "disp: msm: dp: Enable DP AUX IPC logs for GKI builds" 2023-06-25 00:24:21 -07:00
Nisarg Bhavsar
64682fee0e disp: msm: dp: Add null check for payload allocation
Adds null check for payload allocation to prevent calling
mst helper functions with a null payload.

Change-Id: I63951eec7714bbf00ff7c968ea4e6b1ced9a29e3
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2023-06-23 09:08:50 -07:00
Sanskar Omar
5ad7be85e5 disp: msm: sde: update demura error handling
update error handling to not error out when demura is disabled.

Change-Id: I06a7ccc3008e8d96ac8883551e5f6a7894b6653d
Signed-off-by: Sanskar Omar <quic_sansomar@quicinc.com>
2023-06-23 02:32:21 -07:00
qctecmdr
b49c08791c Merge " disp: msm: sde: reset bl_scale_sv in power off case" 2023-06-21 12:09:53 -07:00
qctecmdr
4f8e696b77 Merge "disp: msm: sde: set layer mixer for each wb display mode" 2023-06-21 07:39:29 -07:00
Nisarg Bhavsar
c536df6893 disp: msm: dp: Enable DP AUX IPC logs for GKI builds
Enable DP AUX IPC logs for GKI builds to allow more complete
log collection.

Change-Id: I2f61c167d5856f1d310b4c7145cb18dbb5d7d6dd
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2023-06-20 12:31:07 -07:00
qctecmdr
07d177f44e Merge "disp: msm: sde: add detect_ctrl to tear_check block" 2023-06-16 21:49:34 -07:00
qctecmdr
3b9e03401a Merge "disp: msm: sde: avoid EPT timeout in non-qsync panels to improve performance" 2023-06-16 21:49:34 -07:00
qctecmdr
097864eb63 Merge "disp: msm: sde: add parameters checks to improve code quality" 2023-06-16 17:52:51 -07:00
qctecmdr
6ab3d0f548 Merge "disp: msm: dsi: fix no suspend on RFI clk change" 2023-06-16 17:52:50 -07:00
Shamika Joshi
fbb95ab7c2 disp: msm: sde: add detect_ctrl to tear_check block
This change adds detect_ctrl to tear_check block and
programs it to its default configuration.

Change-Id: I7665b373a6cd846bf5979c2dc02bc0bdfdf309ab
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2023-06-16 14:46:25 -07:00
qctecmdr
9bd9b0da30 Merge "disp: msm: Add LOCAL_MODULE_DDK_BUILD argument" 2023-06-16 13:40:11 -07:00
qctecmdr
010887dc15 Merge "disp: Update the deps and configs" 2023-06-16 13:40:11 -07:00
Shamika Joshi
96154069b0 disp: msm: sde: avoid EPT timeout in non-qsync panels to improve performance
This change avoids wait for EPT to timeout in non-qsync panels
when the EPT time is within last & next expected vsync time
calculated based on current fps for panel.

Change-Id: I9e385c14a20994b29b5bc4afb024f147e6cc035c
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2023-06-16 11:55:59 -07:00
Kirill Shpin
52089c78fa disp: msm: dsi: fix no suspend on RFI clk change
During drm_bridge_mode_fixup, we deny a simultaneous crtc state
change and seamless variable refresh. Incorrect translation logic
between drm_mode and dsi_mode made it such that whenever the dsi
bit clock is not the default value, any drm commit would be marked
with the variable refresh flag, denying all suspends. This change
fixes the suspending issue.

Change-Id: If3c1f603af3e2917f82be6487bee1084a6e1b605
Signed-off-by: Kirill Shpin <quic_kshpin@quicinc.com>
2023-06-15 23:36:46 +00:00
Yu Wu
59b4bc2772 disp: msm: sde: add parameters checks to improve code quality
Add more parameter check including NULL pointer check, buffer
access bonds check etc.

Change-Id: I8d2a4967bed8750c206bc6d265205b257fc999c3
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2023-06-15 11:02:23 +08:00
Prabhanjan Kandula
7d8dbc2fb3 disp: msm: fix debug bus test point selection
Extension bits of test point selection is needed when test
point value exceeds three bits, not based on blcok id value.
This change fixes debug bus test point selection when
value is more than 3 bits and extension bits are required.

Change-Id: I37688b2c6e476b1271daad0bbddb5896edc530d1
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2023-06-14 14:23:15 -07:00
qctecmdr
34cfc1c19a Merge "disp: msm: dsi: follow the HPG guidelines for DATABUS_WIDEN" 2023-06-14 07:12:20 -07:00
qctecmdr
bb09525fc6 Merge "disp: msm: dsi: add dsiclk_sel support for DPHY and CPHY as per HPG" 2023-06-14 07:12:19 -07:00
qctecmdr
099cb930fb Merge "disp: msm: dsi: avoid taking ctrl lock while waiting for CMD DMA done" 2023-06-13 06:52:58 -07:00
Lei Chen
99aee9b733 disp: msm: sde: set layer mixer for each wb display mode
Set the number of layer mixer for each wb mode based on the
current mode hdisplay width. If the hdisplay width of current
mode is greater than the maximum layer mixer width of HW supported,
set dual layer mixers for this mode and check if the split
hdisplay width is an even number.

Change-Id: I0190830ed559f008f9e2c0752858ddc5e7cb83cd
Signed-off-by: Lei Chen <quic_chenlei@quicinc.com>
2023-06-13 10:57:48 +08:00
Yuchao Ma
dd47950072 disp: msm: sde: reset bl_scale_sv in power off case
In userspace, the backlight scale of LTM will be set to the maximum value
in the suspend case. However, sometimes this value is sent to the driver
after resume. This will cause a backlight flicker issue.
For fix this issue, this change resets the backlight scale in the suspend case.

Change-Id: I0eb586eeefbf3444d6f44281d58789460300dffc
Signed-off-by: Yuchao Ma <quic_yuchaom@quicinc.com>
2023-06-12 01:01:45 -07:00
Varsha Suresh
3ad1e9f9c4 disp: Update the deps and configs
Module deps and config symbols update with respective makefile system.

Change-Id: I4e2ae1be6ff6a4ec5a17047f22f79b91a949cc25
Signed-off-by: Varsha Suresh <quic_varssure@quicinc.com>
2023-06-11 01:08:08 -07:00
qctecmdr
9b23a8f4aa Merge "disp: msm: dp: ensure failsafe mode in connector mode list" 2023-06-08 13:43:43 -07:00
qctecmdr
060d3bb8a5 Merge "disp: msm: sde: inversely allocate DSC for non built-in displays" 2023-06-07 20:28:48 -07:00
Rajkumar Subbiah
ff99320123 disp: msm: dp: ensure failsafe mode in connector mode list
The driver currently inserts a failsafe mode when EDID read fails
for SST. But for cases where the edid read succeeds but all the
modes are getting filtered out because of resource availability,
the driver does not add the failsafe mode. But the usermode
expects the failsafe mode to be always present in the mode list
as per DP specification. Also, the driver currently does not
add the failsafe mode, if the edid read fails on an MST monitor.

This change covers all these missing cases and makes sure the
failsafe mode is always in the connector's mode list if it is
in connected state.

Change-Id: I92eeaa00ad7b26a18b3689aa1c2ada4244aba3bc
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2023-06-07 10:58:08 -04:00
Lei Chen
7898a8b208 disp: msm: sde: inversely allocate DSC for non built-in displays
Allocate DSC inversely for non built-in displays to avoid Quad DSC
can't be contiguous reserved as the below scenario.

Use case: Primary display with 2 DSC, and DP display can support 8K@60
with 4 DSC and 4k@60 with 2 DSC.
	--> when both display are in powered off, all DSC blocks are free.
	--> enable DP display with 4k@60.
		DSC 0/1 is allocated by DP display
	--> enable primary display.
		DSC 2/3 is allocated by primary display.
	--> switch DP display to 8K@60
		DSC 0/1 + DSC 4/5 are allocated by DP display.
But the DSC must be contiguous allocated for Quad pipe.

Change-Id: I465c115bb7ec775483dc6a984306a9aa51750b14
Signed-off-by: Lei Chen <quic_chenlei@quicinc.com>
2023-06-06 22:40:52 -07:00