Commit graph

2,184 commits

Author SHA1 Message Date
Bang Nguyen
942f7d4bcf disp: msm: dsi: Add print info for DSI_CTRL
Add the DSI_CTRL index to indicate which DSI_CTRL is enable.

Port from: 9a63078

Change-Id: I8af0de72ccc0a4152d53db9efd29255ddfa129e8
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697575
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
02d285a728 disp: msm : Add the ACL panel param feature
Add the ACL panel param feature which will be controlled
from the user-space

Port from: 6db5516a8

Change-Id: Ib286fbcbb7e1517bd6390d1338d157f371ce680f
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697573
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
22e8e5a919 disp: msm: Populate the passing panel's info from BL.
BL (bootloader/EUFI) will read the panel information such as panel's
ID and it will pass this information and panel's name in the devtree.
The display driver will populate these information and store in the
sysFS

Port from: 8908f4c

Change-Id: I3e212b48ceb02b52bbb2026d4c37ea8542d9622e
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697472
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
15fe7a6142 disp: msm: Set panel enable_status during probing
Set the panel's enable_status when the panel's cont_splash_enable
feature is set.

This dsi_display_enable_status() API will provide the panels
information such as the panel_name, probe information
and panels's enable/disable information to the touch driver.

Port from: fbc31d9a7

Change-Id: Idba46c92b950965351de9d951e6067d241090b77
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697469
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
Konstantin Makariev
eef9a42827 disp: msm: Add panel name to enable status API
Adding a name to DSI panel enable status API

Port from: f41f8deae

Change-Id: Ibde9b1582454275c7491422b0101c78ba507c7b4
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697410
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
5cdb58b738 disp: msm: Report panel's probe status
Panel API need to report probe status in order for consumer to
determine panel's presence

Port from : 75d097728

Change-Id: I8252c0e0865780e0b0dbe5252dc663981fc16ba3
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697408
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
89c4956f4c disp: msm: provide API to query for panel enable state
This dsi_display_is_panel_enable(int panel_index) API will take in
panel_index equal 0 for Primary and 1 for Seconday display. It will
return TRUE if the panel is ON or FALSE when it's OFF

Port from: b5f053287

Change-Id: I06ec806c9878a9eaa2b1c08b84968102e258bda3
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1412835
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1697406
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
2023-05-06 10:01:47 +08:00
Bang Nguyen
951f3bea00 disp: msm: Adding KMS property testing for motUtil tool
Adding the KMS property (HBM/ACL) testing functionality to
motUtil tool so these KMS property can be tested and verified as
standalone without supporting of the Android FW apk.

Port from 2401ffc.

Change-Id: I548224cf21d266f4f4bb2373f8a9fbf041cf84d7
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1412834
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1697401
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
2023-05-06 10:01:47 +08:00
Bang Nguyen
fd18f11883 disp: msm: add panel's param feature to display FW
Add the display's param feature such as HBM, ACL, or CABC feature to
display framework

Port from: de5326b

Change-Id: I42b8f1319786f21f79b2958f284351ff0ef3ae5f
Signed-off-by: Bang Nguyen <bangnguyen@motorola.com>
Reviewed-on: https://gerrit.mot.com/1697380
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
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