Commit graph

2,175 commits

Author SHA1 Message Date
Bang Nguyen
0263204e97 disp: msm: Provide a dynamic method to disable the ESD.
Providing a dynamic method to disable ESD detection and recovery with UTAGS.

Port from: 3c35c27

Change-Id: I95a9861855dc0babfd69c392111b713ed7c89c0e
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697323
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
58fb008ae0 disp: msm: Add DispUtil tool to motUtil Debugfs
Add the Display Utility(DispUtil) support to the motUtil Debugfs Framework.
This dispUtil tool will send a command from the motUtil debugfs to the panel
or it can read any information from panel back.
The 1st byte (set to 0) will indicate for the displUtil tool.

DispUtil Format:

1st         2nd         3rd    4th  5th       6th
0=DispUtil  0=Pri Disp 0=write 0=HS 0=DCS     number byte to read
            1=Sec Disp 1=read  1=LP 1=Generic

7th        8th         9th....
payldLen_u payldLen_l  payload

Port from: 890aa1c9

Change-Id: I4ebba9f87dadcc3e9c22ddb58b4412c7124d7895
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697321
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
047e987980 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: 890aa1c9

Change-Id: I5ca8fbd5f8aa17233683d82a66fe6ed45e722305
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697292
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
f4490c44a2 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: c3d7c03

Change-Id: I595027afdbb7934b63d2f41c151277a9c48b5e21
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697290
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
fc4eaf19ee 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: 17e936d

Change-Id: I040b35c7ff27d35db15eedcbf94df80e6185da19
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697288
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
ffaa831b2a 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: 767ee61

Change-Id: Iaf7f5da55a839037b0fa1e25ac84faf5df480ae5
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697279
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
0223f45a59 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: 2701eb2

Change-Id: Ibd1c9429854655ea7c80222ce64c3b86c6df2eda
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697267
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
5e7ff8e6bd disp: msm: sde: Change display ESD checking interval to 8s
Change the ESD detection and recovery interval to 8 second

Port from: 9679d374c0f7229febbd23cd5531694a9faf6c6c

Change-Id: Iad8b11db9a5794fa10e32a52035456f32ee0d304
Reviewed-on: https://gerrit.mot.com/1697251
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
0fc8989fbd 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: (CR).

Change-Id: I1b0c2759deaa4b0808fd4f0503943a191842235e
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697250
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
b6b7d77704 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: 8c661f3540990aa1c37f1ef9b5b361114eec86ce
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>

Change-Id: I7c05aa6b0cf8f0128c8421d58d5a22647fd1b164
Reviewed-on: https://gerrit.mot.com/1697229
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Bang Nguyen
72ad7c669b 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).

Change-Id: I861aaa3d26e4dbe13183df92f408fdefa709fe61
Reviewed-on: https://gerrit.mot.com/1697222
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shuo Yan <shuoyan@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2023-05-06 10:01:47 +08:00
Linux Build Service Account
58ebb0f74b Merge 7c41afb5ec on remote branch
Change-Id: I4e4e68f499de037b0f1c9d9dad31739af2d241be
2023-03-28 21:37:58 -07:00
Linux Build Service Account
c3e2899b24 Merge a4fdef4c12 on remote branch
Change-Id: Ibaa3b316a10506bbb40ede7aeaa7efff35b7ec6e
2023-02-12 22:14:25 -08:00
qctecmdr
7c41afb5ec Merge "disp: msm: sde: cancel delayed idle_notify_work beginning of every commit" 2023-02-09 18:33:32 -08:00
Jayaprakash Madisetty
a4fdef4c12 disp: msm: sde: drop suspend state if commit is skipped
Drop refcount on pm_suspend commit state if atomic
commit is skipped due to failure. It will avoid frame
trigger during pm_resume call.

Change-Id: Iecd98b106454c82c81a1ef9faaf1af4be2bf19e6
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2023-01-23 22:58:05 +05:30
Linux Build Service Account
8b85f62bb9 Merge 73a4620464 on remote branch
Change-Id: Id52f5b4d6aec018ca519cb444a01d959e46bc779
2023-01-20 04:16:32 -08:00
Mahadevan
0a00bff777 disp: msm: sde: cancel delayed idle_notify_work beginning of every commit
In some cases HAL sets CRTC_PROP_IDLE_TIMEOUT property to zero
and idle_notify_work which is already scheduled will send notfication
on timer expire. This will cause janks in subsequent commit. This
change cancels the existing delayed idle_notify work and will get
rescheduled after frame trigger if CRTC_PROP_IDLE_TIMEOUT property is
non zero.

Change-Id: I8b9ebce8282425f55838b94cfd345b5e733fa645
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2023-01-16 15:39:28 +05:30
Rajeev Nandan
90a2dca98f 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-11-22 23:37:50 -08:00
qctecmdr
73a4620464 Merge "disp: msm: dsi: Handle absence of dsi select clocks in device-tree" 2022-11-15 01:55:43 -08:00
Linux Build Service Account
b8850f1fea Merge c714fc0871 on remote branch
Change-Id: I35bfc7b9752a044a3d77c70c75dad446432445c2
2022-11-02 00:33:59 -07:00
Mahadevan
d538367ebd disp: rsc: update mode-1 threshold config to 1 hz
Update mode-1 threshold configuration to 1 hz to avoid
selecting mode-2 if panel vsync is irregular.

Change-Id: I9d48d088ac1e84f9d0e422d006458527e1944ed8
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2022-10-26 15:50:44 +05:30
Srihitha Tangudu
1d01b6c5e1 disp: msm: dsi: Handle absence of dsi select clocks in device-tree
Initialize pll clocks to NULL and warn if dsi select clocks are not
defined in device-tree.

Change-Id: If831692021278b020d49c06c3bb15d631c0376a4
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-10-21 16:13:33 +05:30
Linux Build Service Account
c714fc0871 Merge "disp: msm: dsi: clear the panel esd_recovery_pending in power on commit" into display-kernel.lnx.5.4 2022-10-11 10:27:02 -07:00
Linux Build Service Account
921345b348 Merge d5dd61b011 on remote branch
Change-Id: I3a7514f2598d9f6e25954898c495485808fdf290
2022-10-07 07:31:34 -07:00
Srihitha Tangudu
31a6cf6c8b 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:22:18 -07:00
Soutrik Mukhopadhyay
25edb2950d drm: msm: remove YUV format setting
Remove the YUV format setting, will use the upstream code
for YUV mode check.

Change-Id: I24f059ff7cd4cf64f41d7f77bfa6517df0cccfde
Signed-off-by: Zhao, Yuan <yzhao@codeaurora.org>
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2022-10-06 10:35:59 +05:30
Mahadevan
d5dd61b011 disp: msm: sde: fix min ib vote in mnoc and ebi_ib path
This change sets proper minimum vote for lcc_mnoc and
ebi_ib path.

Change-Id: Idbb8667a7416e359e848d3f4dc266531979639d3
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2022-09-20 20:54:09 +05:30
Linux Build Service Account
89b623a3d3 Merge 40e19ff3ed on remote branch
Change-Id: I60ad593b57eacee26ddc0bd2c0b7f0a041ad14dd
2022-09-02 02:13:26 -07:00
Linux Build Service Account
99186da220 Merge 71b489f33e on remote branch
Change-Id: I62efbbe19d9bbdb3194706d3def3b483e86705c6
2022-08-25 01:42:41 -07:00
Deven Solanki
40e19ff3ed disp: msm: dsi: add support for dsi config
Add uio support for dsi config.

Change-Id: I2098a6b3abe95794cf3e08dbb34198543d15385c
Signed-off-by: Deven Solanki <quic_dsolanki@quicinc.com>
2022-08-18 00:16:34 -07:00
qctecmdr
71b489f33e Merge "disp: msm: add msm framebuffer emulation" 2022-08-16 21:17:12 -07:00
Linux Build Service Account
3166162059 Merge ed8c317940 on remote branch
Change-Id: I2cde9955a5ddbd93e67e92660270e22f81cfcdc5
2022-08-08 02:23:12 -07:00
Kai Xing
7015ffdd0b disp: msm: add msm framebuffer emulation
This change copies msm_fbdev.c from msm-5.14 kernel, which adds
frame buffer support to display driver. And this file is from
msm-5.4 commit <5fce077d> ("drm: msm: Fix the format prints in
display driver").

Change-Id: I113cb6441334ff6b61cfd15cf863c325d51091b4
Signed-off-by: Kai Xing <quic_kxing@quicinc.com>
2022-08-03 15:06:14 +05:30
Kai Xing
29a7eac491 makefile: add gki config support for display techpack for kona
Add required changes to makefile and enable the gki
config keys for kona target compilation.

Change-Id: I39422750ac6000078278ddc7705e7148f6b0ae6b
Signed-off-by: Kai Xing <quic_kxing@quicinc.com>
2022-08-01 14:04:31 +05:30
Linux Build Service Account
5c4461d955 Merge a965033fba on remote branch
Change-Id: I74fa689c1c54ddb8690cc766ce6911df2aef1bc3
2022-07-14 09:06:48 -07:00
Naresh Kumar Lingagalla
ed8c317940 Revert "disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch"
This reverts commit a965033fba.

Change-Id: Ifb3d9b1a10a28cd281459174a9291fea79ec781d
Signed-off-by: Naresh Kumar Lingagalla <quic_nlingaga@quicinc.com>
2022-07-07 10:11:43 +05:30
Linux Build Service Account
0df3c08c0d Merge 6a0f0b0f1f on remote branch
Change-Id: I77fe76675a54409cc621eea4a728bfa772087770
2022-06-16 06:38:26 -07:00
Kai Xing
a965033fba disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch
Add DSI PLL support for 7nm_v4_1 architecture

Change-Id: I4adf1ec6ed40fea16aa80579d34a3c918faa8478
Signed-off-by: Kai Xing <quic_kxing@quicinc.com>
2022-06-14 21:46:34 +05:30
Linux Build Service Account
0abe1c0fdd Merge 5cf1bae57a on remote branch
Change-Id: Iab11544a7850ec5a73b9d6702e239d0c9320f751
2022-06-04 10:26:11 -07:00
Sai Srujana Oruganti
6a0f0b0f1f disp: msm: sde: disable dsi ctrl regulator during deepsleep
Disable DSI ctrl regulator while entering deepsleep and restore
during resume. Refactor deepsleep related code to helper function.

Change-Id: If6da0471db59fbdfa9d9855ee1464fcab90cae15
Signed-off-by: Venkata Prahlad Valluru <quic_vvalluru@quicinc.com>
Signed-off-by: Sai Srujana Oruganti <quic_osaisruj@quicinc.com>
2022-05-30 22:17:15 -07:00
qctecmdr
5cf1bae57a Merge "disp: msm: sde: update uidle ctl register only for master encoder" 2022-05-24 07:14:15 -07:00
Linux Build Service Account
169582ce22 Merge be3f2e68c9 on remote branch
Change-Id: Icb5b4006391f6a6f0cac43c2d742c6113ec99d53
2022-05-17 01:39:34 -07:00
Yashwanth
5e4c130f36 disp: msm: sde: update uidle ctl register only for master encoder
In case of dual dsi usecase, since both the encoders use
the same CTL path, this change ensures that uidle ctl
settings are updated only by the master encoder.

Change-Id: I7bd75ae0195d34f0c1810403fa5e390fbaa64ed0
Signed-off-by: Yashwanth <quic_yvulapu@quicinc.com>
2022-05-16 11:52:13 +05:30
qctecmdr
be3f2e68c9 Merge "disp: msm: add skip panel power off dt property" 2022-05-08 06:57:24 -07:00
Linux Build Service Account
f20d8bc556 Merge a2aacd57a3 on remote branch
Change-Id: I954caf6fccc15a21c6f0fc63f6c1217fb5cd0e83
2022-05-04 23:48:21 -07:00
Jayaprakash Madisetty
09ec818831 disp: msm: avoid minidump region addition for mdss register dumps
This change enables minidump for register dumps, debug bus collection
based on CONFIG_QCOM_VA_MINIDUMP config. The minidump driver in 5.4 kernel
needs physical contiguous memory allocation as a requirement. The
minidump collection failure is seen with commit fdf36d7124
("disp: msm: use vzalloc for large allocations") and it uses
vzalloc to address memory allocation failure with order 5. This
patch will disable minidump collection for regdumps, debug bus
to address minidump collection failure.

Change-Id: If5ff91ff95279ee2997765599dbeab16ac2dae60
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-05-04 12:31:28 +05:30
Sai Srujana Oruganti
fc3be600f7 disp: msm: add skip panel power off dt property
This property skips the panel power off for panels
with in-cell design.

Change-Id: I61ff7b8696940b74a58c79eef5b9cd43fd551c01
Signed-off-by: Sai Srujana Oruganti <quic_osaisruj@quicinc.com>
2022-04-28 10:58:11 -07:00
qctecmdr
0bd399fda0 Merge "disp: msm: dsi: handle read cmd tx failure from dsi host transfer" 2022-04-27 23:10:05 -07:00
Sai Srujana Oruganti
2b84165300 disp: msm: dsi: avoid setting ulp load to disable load
When there is no ulp load entry, ulp load should be set to
enable load.

Change-Id: I531108b4d2137cf9262874bc411ff06592302374
Signed-off-by: Sai Srujana Oruganti <quic_osaisruj@quicinc.com>
2022-04-18 15:38:49 +05:30
qctecmdr
a2aacd57a3 Merge "disp: msm: sde: unset and set clk parents during pm_suspend" 2022-04-17 05:31:50 -07:00