Commit Graph
1181 Commits
Author SHA1 Message Date
Bang Nguyen 2e4c31c1e8 disp: msm: sde: Add motUtil Debugfs framework
Adding the motUtil debugfs in /d/dri/0/debug to provide a tool for
developer/tester to interface with the Display driver framework

Port from: 11cb128

Change-Id: I5a385f9f789b56f7a36bde865234325039ec5e36
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444397
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509799
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 197a688b67 disp: msm: dsi: Raise BUG for continous panel recovery failure
After the ESD detection and recovery keep trying to recover panel, but
after 5 times, unsuccessfully recovery the panel, then cal BUG to reboot
the phone.

Port from: 9a4d104

Change-Id: Ibd1aa3e4d83638c029c163fe1de88d7ef4ba5fe2
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444396
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509798
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 2d60cf1313 disp: msm: dsi: Trigger ESD event if display isn't on
Check display turns on  during the display resume. If it doesn't, then
trigger the ESD to restart the panel, instead waiting until the ESD
thread starts, detects, and perform ESD recovery.

Port from: f1cfef0

Change-Id: Ib7c0f2451b5e5cf1630b6335ac1d7ce1ff332d22
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444395
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509797
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 88ab274b03 disp: msm: dsi: Check panel's power_mode during resume
Check the panel's power_mode after it turns on, to see if the panel can turn
on correctly. If it doesn't not, then trigger the ESD recovery to fix it.

Port from: 0301a79

Change-Id: I7e6cdb099dd50559f570e201568479ba00aa0e66
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444394
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509796
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 8072f67d7d disp: msm: dsi: parsing BL setting ESD and panel
After the Boot Loader (BL) detects the panel information, or reading
the ESD UTAG setting, the BL will write these information to the DTS.
The display driver from kernel and parse and save these setting.

Port from: 61c3e44

Change-Id: I3759b73c2e1eff01269a42dfa11d20807affa17a
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444393
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509795
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen fb1d5e61d1 disp: msm: sde: Change display ESD checking interval to 8s
Change the ESD detection and recovery interval to 8 second

Port from: 1318dae

Change-Id: I530c74592941ff2cd68362224179d38df3ef8f60
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1444392
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509794
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen c4ac8db3fe disp: msm: dsi: add prints for DSI/panel turning off/on
Add some pr_info to indicate the DSI and panel are turning off
and on for ESD or black screen investigation.

Port from: 6fcdea6
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>

Change-Id: I334890799fd18be9951b8d7579717d362c9878c3
Reviewed-on: https://gerrit.mot.com/1444391
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509793
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 82dd11b2b6 disp: msm: dsi: Add "bl_ctrl_dummy" to panel bl type
Add a new display's backlight type "bl_ctrl_dummy". With this
backlight type, the panel backlight driver will ignore any backlight
requests. This new backlight type will be used with a bare_board or
no-display configuration and the display driver doesn't need to have
any communication with panel.

Port from: cfb2acd

Change-Id: I2108d7477009d06ac350ca49c380b64c9d004f65
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1442424
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509792
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
Bang Nguyen 0ce5683cb1 disp: msm: dsi: Add support display 2bytes brightness.
Normal, there is a brightness level from 0-255 (1 byte), but some
panels are support 2 bytes for brightness, (0-1023).

Port from 68e0c10

Change-Id: Id948d3d97fb3611e458b18a3345cec6a64e5c034
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1410291
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1509791
Reviewed-by: Hua Tan <tanhua1@motorola.com>
2023-06-01 00:43:20 -03:00
dengwei1 aa252c3330 guam: input add drm support
input add drm
support

Change-Id: I156438665fb27d9a1f5afeaec11ef4fd736ea812
Signed-off-by: dengwei1 <dengwei1@motorola.com>
Reviewed-on: https://gerrit.mot.com/1510616
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Hua Tan <tanhua1@motorola.com>
Submit-Approved: Jira Key
2023-06-01 00:43:20 -03:00
dengwei1 fac316f8af input add touch support
touch init
himax ic

Change-Id: I260085bd4397089ca1c865e601c9ece4f87b75bc
Signed-off-by: dengwei1 <dengwei1@motorola.com>
Reviewed-on: https://gerrit.mot.com/1508817
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Hua Tan <tanhua1@motorola.com>
Submit-Approved: Jira Key
2023-06-01 00:43:20 -03:00
Linux Build Service Account 8c5ef45462 Merge 033018f33d on remote branch
Change-Id: I5db209235df7229391c466c250190a95742eb892
2022-12-08 03:56:50 -08:00
qctecmdr 033018f33d Merge "disp: msm: dsi: clear the panel esd_recovery_pending in power on commit" 2022-11-07 04:10:40 -08:00
Navjyot SINGH ac7d25ba6b disp: msm: dp: disable ASSR before link training
Power on reset value of DPTX_CONFIGURATION_CTRL.ASSR (alternate scrambler
seed reset) is high. This fails link training 2 with TPS4 pattern.
Change disables this before link training starts.

Change-Id: Iee95de04625658254b242afdcbba6db24a52606d
Signed-off-by: Vara Reddy <varar@codeaurora.org>
Signed-off-by: Navjyot SINGH <quic_navjsing@quicinc.com>
2022-10-19 17:19:36 +05:30
Srihitha Tangudu 093b739546 disp: msm: dsi: clear the panel esd_recovery_pending in power on commit
Currently the panel esd_recovery_pending flag is cleared for every mode
set. The ESD recovery completes only after the suspend and resume. Clear
the flag only during power on commit.

Change-Id: I97e370feba0aad34558e4675168b4bcb7f5901ca
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-10-05 23:21:21 -07:00
Linux Build Service Account 7904c105a6 Merge 492bde87ae on remote branch
Change-Id: I06cdd714941b55da5e8fdea9da2ce7bdebea3164
2022-09-08 06:19:50 -07:00
qctecmdr 492bde87ae Merge "disp: msm: correct dsc parameters for 8 bpc 8 bpp" 2022-08-23 05:08:59 -07:00
qctecmdr 1a9ad52708 Merge "disp: msm: use vzalloc for large allocations" 2022-08-16 05:12:57 -07:00
Linux Build Service Account 38af337c04 Merge 1d5f7b8944 on remote branch
Change-Id: Ibadaa3544b5d48265e4fe70b6fb51d022abba899
2022-08-15 02:37:31 -07:00
Raghavendra Ambadas af513b4b54 disp: msm: correct dsc parameters for 8 bpc 8 bpp
Correct DSC 1.1 rate control parameter related to
8 bpc 8 bpp configuration according to VESA DSC
specification.

Change-Id: I4b17c61f79ea2b497cbf243a2b99c9b40a9b7ea8
Signed-off-by: Raghavendra Ambadas <quic_c_rambad@quicinc.com>
2022-07-29 14:13:13 +05:30
xiangxuy 1d5f7b8944 disp: msm: dp: support dp for rb5
adjust aux channel by dts setting.
support max resolution cfg by dts.

Change-Id: I13e48630cf62edc6353f13d0f42cadb2cbd9423d
Signed-off-by: xiangxuy <quic_xiangxuy@quicinc.com>
2022-07-23 22:16:51 +08:00
Jayaprakash Madisetty 687ad854c3 disp: msm: use vzalloc for large allocations
Large allocations using kzalloc can lead to timeouts. This updates
the allocation calls accordingly to use vzalloc to remove
requirements on contiguous memory.

Change-Id: Ica54483787509ed0e9283289fc9d523e8cde9238
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-07-13 10:33:57 +05:30
Linux Build Service Account c398a97fe0 Merge ce33c52e42 on remote branch
Change-Id: I8f2753de47c90b2dd02cf004fdaed285ccb06e25
2022-03-08 23:08:09 -08:00
Raghavendra Ambadas 971ffaef06 disp: msm: sde: synx: Add quic copyright
Change fixes adding quic copyright as instructed.

Change-Id: I2331492b78c013969fa1d48e9ab9afdb03e2f999
Signed-off-by: Raghavendra Ambadas <quic_c_rambad@quicinc.com>
2022-02-07 01:25:29 -08:00
Linux Build Service Account b00c1cd755 Merge ebb5874623 on remote branch
Change-Id: I103311c66eb383b64b48eab02adfe1dcad92b597
2022-02-02 09:59:01 -08:00
qctecmdr ce33c52e42 Merge "disp: msm: sde: synx: Add quic copyright" 2022-01-30 22:25:11 -08:00
qctecmdr d82f9c01d3 Merge "disp: msm: avoid BW down vote after splash memory release" 2022-01-29 03:29:22 -08:00
Mahadevan 9c35c4f24c disp: msm: avoid BW down vote after splash memory release
In RSC disabled targets during display bootup with continuous
splash constant ab and ib votes are set. Upon issuing first
commit these values gets updated and at the end of first commit
on release of splash resource the votes are removed using
sde_power_data_bus_set_quota API. On the very next commit if
bandwidth is changed from previous commit, new BW voting is
reflected else the disable splash vote exists and underruns are
seen. This patch removes the downvote and fixes the underruns
seen in video mode in targets for which rsc is disabled.

Change-Id: I628d426ad11c703dd972be89fa998588c53a57bb
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2022-01-28 14:22:22 +05:30
Raghavendra Ambadas 70588f69b2 disp: msm: sde: synx: Add quic copyright
Change fixes adding quic copyright as instructed.

Change-Id: I2331492b78c013969fa1d48e9ab9afdb03e2f999
Signed-off-by: Raghavendra Ambadas <quic_c_rambad@quicinc.com>
2022-01-28 12:01:01 +05:30
Srihitha Tangudu 8f3d634598 disp: msm: dsi: Only enable lanes required during phy enable
Currently we are enabling all the lanes irrespective of the
lanes we are actually going to use. Add support to enable
only those lanes that are required and thus save power.

Change-Id: I9aae76eeaa05a79337d4e4b1f2e36ea9842bd580
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-01-25 08:26:11 -08:00
Srihitha Tangudu d171e18f7c disp: msm: sde: while timing engine enabling poll for active region
DCS commands triggered right after timing engine enable can conflict
with blanking period causing command transfer failures. Right after
timing engine enable poll for frame start and line count reaching
active region of display before any DCS commands.

Change-Id: Ia3967e01c3bb5bc82aa3549c300fa8335e00210c
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-01-20 18:09:18 +05:30
qctecmdr ebb5874623 Merge "disp: msm: sde: switch rsc state before CTL_PREPARE in dual display" 2022-01-19 07:43:35 -08:00
Nilaan Gunabalachandran a5f50d3044 disp: msm: increase size of sde_kms_info
With requirements to support an increased number of display modes,
the current size of sde_kms_info is insufficient. This change
increases the sde_kms_info max size.

Change-Id: Ie0f29003732870dad9ce31ee7d484e84f12ba542
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-01-12 22:40:37 -08:00
Raghavendra Ambadas 36e3a87435 disp: msm: sde: switch rsc state before CTL_PREPARE in dual display
In dual display usecase when both displays comes out of
idle following scenario will cause wr_ptr timeout.

 1. Both displays goes to idle and RSCC enters Mode-2.
 2. Primary display exit idle upon DRM commit N RSC
    enters Solver State.
 3. Secondary display exits idle upon DRM commit M and
    waits on input fence after CTL_1_PREPARE is set.
    RSC is still in CMD state.
 4. Primary Commit N frame transfer got successful and
    commit N+1 is queued in primary display when RSC
    in solver state which leads to timeout in primary.

This is because RSCC will not generate a wakeup in sync with
primary timelines leading to timeout. This is because RSCC
still sees idle low thinking frame transfer is taking long
time. This change will switch the rsc state to AMC mode
before CTL_PREPARE is set which resolves such issue.

Change-Id: Ic32e48b4febbbcc54d94876194d38fe6ef3d0981
Signed-off-by: Mahadevan <mahap@codeaurora.org>
Signed-off-by: Raghavendra Ambadas <quic_c_rambad@quicinc.com>
2022-01-04 13:33:12 +05:30
Linux Build Service Account 42fc7dfb75 Merge 315c86a3f9 on remote branch
Change-Id: I0c94937956356c6516b1d30641e3225c964bbb5b
2021-11-16 22:25:34 -08:00
Krishna Manikandan 315c86a3f9 disp: msm: sde: protect file private structure with mutex lock
Access file private data structures inside the
mutex lock only to avoid use-after-free issues .

Change-Id: If70731f517bcb47d4515f131fecafe702064cb45
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2021-11-01 13:50:02 +05:30
Linux Build Service Account 397f6dc950 Merge de43b66203 on remote branch
Change-Id: I01829b62c3df53aa07d3979fcafd7489e6c2fc52
2021-10-17 03:58:00 -07:00
Pawan Chilka 1a0d14dd15 disp: msm: sde: handle partial update transitions in rounded corner.
This change handles partial update use case transitions. Rounded
corner should be programmed to full ROI when transitioning out of
partial update use case.
This change also clear cached ROIs when rounded corner feature is
disabled to ensure full frame ROI for first frame when feature
is enabled again. This change depends on HAL change to disable PU
for one frame when RC mask config is set.
This change also moves cached rectangles from crtc state to crtc
structure to avoid cached rectangles being incorrect due to race
conditions between updating cached rectangles in crtc state and
duplicating crtc state when next commit starts.

Change-Id: I4c48ccd3f64409d1b0fa19f0e6f92eab5f86d069
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-10-05 16:33:02 +05:30
qctecmdr de43b66203 Merge "disp: msm: dp: parse displayport label dt property" 2021-09-30 08:52:26 -07:00
Pawan Chilka 7f067beb28 Revert "disp: msm: sde: handle partial update transitions in rounded corner".
This reverts commit 99041a16f2.

Change-Id: I332ba310680fb173d234c54feda29656ea44a0d1
2021-09-30 15:23:04 +05:30
Narender Ankam 5b6aedd27f disp: msm: dp: parse displayport label dt property
Add logic in DP driver to parse "label" dt property.
This info will be useful to configure DP as primary
or secondary.

Change-Id: I708179c5940c82256034bc6c8338b01ee52f2f79
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2021-09-29 15:29:50 +05:30
Anjaneya Prasad Musunuri e121bd2026 disp: msm: sde: handle partial update transitions in rounded corner
This change handles partial update use case transitions. Rounded
corner should be programmed to full ROI when transitioning out of
partial update use case.
This change also clear cached ROIs when rounded corner feature is
disabled to ensure full frame ROI for first frame when feature
is enabled again. This change depends on HAL change to disable PU
for one frame when RC mask config is set.
This change also moves cached rectangles from crtc state to crtc
structure to avoid cached rectangles being incorrect due to race
conditions between updating cached rectangles in crtc state and
duplicating crtc state when next commit starts.

Change-Id: I4c48ccd3f64409d1b0fa19f0e6f92eab5f86d099
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-09-27 09:25:06 +05:30
Anjaneya Prasad Musunuri 99041a16f2 disp: msm: sde: handle partial update transitions in rounded corner
This change handles partial update use case transitions. Rounded
corner should be programmed to full ROI when transitioning out of
partial update use case.
This change also clear cached ROIs when rounded corner feature is
disabled to ensure full frame ROI for first frame when feature
is enabled again.

Change-Id: I4c48ccd3f64409d1b0fa19f0e6f92eab5f86d099
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-09-23 23:01:02 -07:00
Linux Build Service Account 9c33c63ee6 Merge 1ff0a561f0 on remote branch
Change-Id: I586c56d820355246b038a561b3929fbd84238f29
2021-09-19 21:52:12 -07:00
qctecmdr 1ff0a561f0 Merge "disp: msm: sde: handle partial update use case in rounded corner" 2021-09-13 01:44:53 -07:00
Anjaneya Prasad Musunuri aedd309e71 disp: msm: sde: clear partial update mask during last close
Clear partial update mask during last close to avoid
rounded corner to be programmed without valid mask during
shell stop/start operations.

Change-Id: I378adc62b5bc5913abfc32fa3528c8e28ea273d4
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-09-12 23:36:46 -07:00
Anjaneya Prasad Musunuri 2cb29de376 disp: msm: sde: handle partial update use case in rounded corner
Currently, driver expects usermode to set RC blob flags based on
the RC PU use case, which causes issue when commits are staggered
and is unnecessarily reprogramming RC mask data on every PU frame.
This change uses existing driver logic to internally determine the
RC PU use case and programs the RC region enable bits accordingly.
It also adds essential logging in RC functions to help debugging.

Change-Id: I19ae59a79dbee20f357b384c12acd7d2a6a93fb4
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-09-05 12:02:55 +05:30
Anjaneya Prasad Musunuri c219fc2bd2 disp: msm: sde: clear partial update mask during last close
Clear partial update mask during last close to avoid
rounded corner to be programmed without valid mask during
shell stop/start operations.

Change-Id: I378adc62b5bc5913abfc32fa3528c8e28ea273d4
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-09-01 12:04:04 +05:30
Linux Build Service Account 52a34db1c8 Merge 9f479d9b1c on remote branch
Change-Id: I00c3019f37f9db1782ca6a1f3080b12eda598c59
2021-08-23 01:59:06 -07:00
Ravikanth Tuniki 9f479d9b1c disp: pll: Improve logging for 7nm dsi pll
For the targets not having slave pll, "slave pll unavailable"
warning gets logged on suspend, resume and idle power collapse.
Change pr_warn to pr_debug to avoid extra logging.

Change-Id: I2f06d88f3ea8ceb03e30095439c24a6729daae97
Signed-off-by: Ravikanth Tuniki <rtunik@codeaurora.org>
2021-08-11 13:11:45 +05:30