Commit Graph

14 Commits

Author SHA1 Message Date
bb71415f94 disp: msm: sde: let dma-fence driver set timestamp on signal
Avoid corrupting the cb_list by setting timestamp before signal.
The fence driver changed in msm-5.4 by creating a union for the
fence cb_list, timestamp, and rcu. Therefore only one of these
fields can be used at a time. Fence driver will take care of
setting the timestamp during dma_fence_signal after it has
cached the cb_list. Also, use fence framework API to set fence
error instead of modifying the dma_fence struct directly.

Change-Id: I58dbaa495027cb575f4f0b03275ca4aa551ecacb
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2026-05-31 11:15:35 +01:00
92d5f87662 techpack: drm/msm/sde: add sysfs node for trigger wake up early
Add sysfs node on crtc to trigger sde wake up early.
The command to trigger wake up early give in shell:

echo 1 > /sys/class/drm/sde-crtc-*/early_wakeup

Bug: 150196517
Test: trigger wake up and switch display power state
Test: testInflatingEmojiListViewFling
Test: testBrowseContentScroll
Change-Id: I96e6ad73e83e8a9e3e5e65e064c92f8e6a6d63f8
Signed-off-by: Midas Chien <midaschieh@google.com>
2026-05-18 17:45:54 -07:00
a23387f38d disp: msm: dsi: fix function type for dsi_display_clk_ctrl
dsi_display_clk_ctrl is assigned as a callback function to struct
sde_connector_ops::clk_ctrl. This changes changes the function type to
match the pointer type to avoid Control-Flow Integrity (CFI) failures.

Bug: 148470764
Change-Id: Id67a6971a597b047524cf6eac6c48c057e8f9e9a
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2026-04-20 23:15:56 -04:00
94a728093f disp: msm: sde: fix typo in trace message
This change fix trace message in sde trace.

Change-Id: I73a873984564f995f84e0c08f9e49164cb67063a
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2026-01-05 00:33:25 +02:00
1b0507b695 disp: msm: dp: avoid dp sw reset on disconnect path
In an effort to reset the DP controller states on a disconnect, the
driver is issuing a SW reset to the controller. But SW reset on
the controller doesn't necessarily restore the controller to its
full reset state. It only resets part of the logic. So if for some
reason the MST streams were not disabled properly, ie. the slot
allocations were not reset properly in the controller, then a SW
reset would result in the DP controller raising state interrupts.
Since this SW reset is issued in the tail end of the disconnect
processing, the driver turns off all the clocks and also
removes the irq handler. This results in an interrupt storm at
the MDSS top level.

This change removes the SW reset on the disconnect path and
relies on the SW reset that already exists in the connect path
to restore controller state.

Change-Id: Ie7115e17d3c50c46c83c6f0e333da5cb534b8227
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2026-01-04 21:13:13 +02:00
2e944be10e disp: msm: sde: add mutex lock to handle ppdone timeout usecases
The irq register and unregister calls in ppdone timeout
path can result in race condition which can lead to
scenarios where irqs will be enabled with no
callback registered. Add vblank mutex lock to avoid
such scenarios.

Change-Id: I02b07b773d6b9a28c3af431eb3d8314292769f12
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2026-01-04 21:01:17 +02:00
e0ba35e805 disp: msm: dsi: Reset irq_stat_mask in _dsi_ctrl_destroy_isr
Change-Id: Icd1cc37170342fae5b5ed16cc0285acb2191efd6
2026-01-04 21:01:15 +02:00
df0f2dc567 msm: Check irq,Restore msm irq.
If there is unbalanced refcount for any interrupt, irq_stat_mask
does not get clear during suspend. On resume, enable irq is not
called leading to ctrl ISR permanently disabled. This is a defensive
check to recover from such scenario.

Change-Id: If78a1be5286f9b6e7ca5241cb5c980e60da00a48
Signed-off-by: daiss1 <daiss1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2088247
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
2026-01-04 20:59:50 +02:00
388e2df8b9 disp: msm: dsi: add null pointer check in dsi_display_dev_remove
This change add display null pointer check in dsi_display_dev_remove.

Change-Id: Ib31756c3b22256d19cbcb508f60de4550e3834e1
Signed-off-by: Jinfeng Gu <quic_gjinfeng@quicinc.com>
2025-03-13 00:20:56 +00:00
aab8bf69cb msm/sde: prevent double register of input handler
During Dynamic mode switch case, input_register_handler
is called even after it is registered leading to
list double add warnings and panic.

Change-Id: I312112deb08c998af516252f2117bc629eb13b37
2024-06-11 19:47:29 +03:00
1988c1a1a4 Merge tag 'LA.UM.9.12.r1-15500-SMxx50.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-4.19-kona
"LA.UM.9.12.r1-15500-SMxx50.QSSI13.0"

* tag 'LA.UM.9.12.r1-15500-SMxx50.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: clear platform device drvdata on msm_drm bind fail
  disp: msm: add support to parse HDMI VSDB block

Change-Id: I5a5d2b4e8d529e9a4356fb472a7c59d4a7902395
2023-07-11 15:20:12 +03:00
61c42b756e techpack: display: drm/msm: add idle state sysfs node
Add a sysfs mechanism to track the idle state of display subsystem.
This allows user space to poll on the idle state node to detect when
display goes idle for longer than the time set.

Bug: 139655049
Bug: 126304228
Change-Id: I21e3c7b0830a9695db9f65526c111ce5153d1764
Signed-off-by: Adrian Salido <salidoa@google.com>
Signed-off-by: Robb Glasser <rglasser@google.com>
(cherry picked from commit 11a2193b434cb3130743fbff89a161062883132e)
Signed-off-by: Ken Huang <kenbshuang@google.com>
2023-06-06 18:36:04 +03:00
d230856d41 Merge tag 'LA.UM.9.12.r1-15100-SMxx50.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-4.19-kona
"LA.UM.9.12.r1-15100-SMxx50.QSSI13.0"

* tag 'LA.UM.9.12.r1-15100-SMxx50.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: dp: disable ASSR before link training
  disp: msm: dsi: clear the panel esd_recovery_pending in power on commit

Change-Id: I3452dbc689d042edee94b74b7e85e320a996064d
2023-01-03 20:49:45 +02:00
078c8b4302 Add 'techpack/display/' from tag 'LA.UM.9.12.r1-14900-SMxx50.QSSI13.0'
git-subtree-dir: techpack/display
git-subtree-mainline: 59d05eab57
git-subtree-split: 06878e0bb5
Change-Id: I3eb42ba067416dfb810d911813649ff7865da02e
2022-11-20 19:45:00 +02:00