3568 Commits

Author SHA1 Message Date
qctecmdr
a212c4b79c Merge "disp: msm: sde: qos vote for all cpus during vm transition" 2023-02-15 04:17:23 -08:00
Mahadevan
4c7ea38eff disp: msm: sde: qos vote for all cpus during vm transition
For a proxy-scheduled VCPU like the TUI VM, assignment to a
physical core is a runtime decision made by the HLOS scheduler,
and it may change frequently. pm_qos vote added by PVM for
specific CPUs won't be sufficient for addressing irq latency.
This change updates votes for all possible CPUs during TVM
entry and also removes the vote during exit.

Change-Id: Iab5cb5f57e2389ee57689ba2ab69394376f59788
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2023-02-09 17:00:39 +05:30
Soutrik Mukhopadhyay
8588ddb238 disp: msm: dp: turn off aux switch on dp cable disconnect
The dp_display_disconnect_sync is disabling the aux switch during
the attention hpd low processing. Ideally, the aux switch needs to
be turned off only when the dp cable is disconnected. With aux switch
getting turned off even while cable is connected is leading to HDCP
compliance test failure. This change will turn off aux switch only
when the cable is disconnected. It reverts the commit id
b6466ca7f5.

Change-Id: I90cc5f31b2be1afda61f74ea4e0a44332811ead3
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2023-02-07 21:25:50 +05:30
Bruce Hoo
34b4eedec8 disp: msm: sde: set in_log_limited as an unchangeable dump_mode
Default mode of dump_mode in sde_dbg module is in_mem, and
it changes to in_coredump when hw_recovery feature is enabled.
This change allows developer to redefine in_log_limited as
default mode, and it's unchangeable even when hw_recovery is enabled.

Change-Id: I51574b3ac297f32f28ae7a69d008d1a5f443a781
Signed-off-by: Bruce Hoo <quic_bingchua@quicinc.com>
2023-02-07 15:42:38 +08:00
qctecmdr
cd074fb4e9 Merge "disp: msm: sde: add qtimer read after input hw-fence signal config" 2023-01-30 05:34:36 -08:00
qctecmdr
048ee3502e Merge "disp: msm: dsi: update the phy timings and clocks together" 2023-01-30 05:34:36 -08:00
Saurabh Yadav
bcaea1e94f disp: msm: sde: handle rc feature disable for all instances
Add rc feature disable handling in case set rc feature fails.
This will disable rc feature for all instances if set rc feature
fails for any instance.

Change-Id: I159b9bd3ed1416c4b2d32440d10132cb024f9529
Signed-off-by: Saurabh Yadav <quic_sauyad@quicinc.com>
2023-01-28 05:23:00 -08:00
qctecmdr
9f67416317 Merge "disp: msm: dsi: Use macros in DSI_R32/DSI_W32 for registers offset" 2023-01-26 21:05:35 -08:00
qctecmdr
9d0100d29d Merge "disp: msm: dsi: Use macro for buffer size" 2023-01-26 21:05:35 -08:00
Srihitha Tangudu
9c236080b1 disp: msm: dsi: handle case where panel sends more bytes than requested
Reset number of bytes read from panel to the expected value when panel
sends more bytes than requested during DSI read. This can otherwise lead
to negative value of repeated bytes and array out of bounds access.

Change-Id: I9310c521a862108940142ba7c1a8c39838be0f79
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2023-01-25 03:28:12 -08:00
qctecmdr
74e17991c1 Merge "disp: msm: dsi: Reset DMA trigger mux when initializing DSI_TRIG_CTRL" 2023-01-24 00:55:50 -08:00
Ayushi Makhija
c2cf7ebf3b disp: msm: dsi: Use macros in DSI_R32/DSI_W32 for registers offset
Use macros for corresponding registers offset in DSI_R32/DSI_W32.

Change-Id: I91052e9124a11f67e3056c79918820c476a39ad0
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
2023-01-23 21:49:04 -08:00
Anand Tarakh
332c2b7453 disp: msm: dsi: Use macro for buffer size
Use macro for buffer size for command scheduling update params.

Change-Id: Icaa45de0f854d445113fb682c9f38c0ffa97d47e
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
2023-01-24 09:48:51 +05:30
Ingrid Gallardo
cf56cc4411 disp: msm: sde: add qtimer read after input hw-fence signal config
Add debug log to dump qtimer information after the input hw-fence
signal configuration.

Change-Id: I7617b1a6bae3db1e003c42bfe306dbe7f552ad83
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2023-01-23 11:21:46 -08:00
Ingrid Gallardo
2cae324488 disp: msm: sde: add display hw fence-array event log
Add display event log for the display input hw-fence.

Change-Id: Id0fc19565c7b83c8009ab518dae7323db534b66e
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2023-01-23 11:21:28 -08:00
qctecmdr
4d8d00ca97 Merge "disp: msm: sde: handle rc feature disable for all instances" 2023-01-23 06:12:03 -08:00
qctecmdr
96106ef06e Merge "disp: msm: dsi: Fix DMA window scheduling programming" 2023-01-23 06:12:03 -08:00
Saurabh Yadav
8f4a42d481 disp: msm: sde: handle rc feature disable for all instances
Add rc feature disable handling in case set rc feature fails.
This will disable rc feature for all instances if set rc feature
fails for any instance.

Change-Id: I159b9bd3ed1416c4b2d32440d10132cb024f9529
Signed-off-by: Saurabh Yadav <quic_sauyad@quicinc.com>
2023-01-19 12:42:20 -08:00
qctecmdr
654c54706a Merge "disp: msm: dsi: improve logging in panel TE source property parsing" 2023-01-17 23:29:48 -08:00
qctecmdr
7ded56dd2a Merge "disp: msm: sde: flush pp event work queue before vm release" 2023-01-17 23:29:47 -08:00
qctecmdr
f4d1e349c9 Merge "disp: msm: dp: handle the hdcp active sessions during irq_hpd" 2023-01-17 23:29:47 -08:00
Christina Oliveira
f102c29b00 disp: msm: sde: increase display kickoff timeout for hw-fences
Starting with HW-Fencing, the frames hw kickoff
can take longer to trigger, given that HW will wait for the
input fences signal. Therefore, this change increments
the time-outs to wait up to ~10 secs, which corresponds
to the current input dma-fences timeout. This ~10secs
wait is given in intervals, where the dma-fence is also
checked, so in case that the client producer of the fence
signals the dma-fence, but misses the hw-fence signaling,
Display driver can handle this case and do a sw-override
to start the fetching of the incoming frame without waiting
for the input hw-fence ipc signal.

Change-Id: I6fcacbbaa79ca9847da616bd52efdda4bb8fccae
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2023-01-12 11:08:35 -08:00
Ayushi Makhija
6f6213dc78 disp: msm: dsi: improve logging in panel TE source property parsing
Provide more information in the failure case of panel
TE source parsing by improving the error log.

Change-Id: Iaa492886af9c16effca0744950772bd621fb0f50
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
2023-01-11 15:18:05 +05:30
Sankeerth Billakanti
e6ccf8bfb4 disp: msm: dp: handle the hdcp active sessions during irq_hpd
The link maintenance irq_hpd events triggered while the DP hdcp
session is active, require hdcp session disable and reauthentication.
These changes will disable hdcp before processing the link update
irq_hpd and enable hdcp soon after successful relink training and
video enable.

Change-Id: I35f622cc2e058d892ce6f091070f868eabac43d2
Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com>
2023-01-11 10:27:13 +05:30
Saurabh Yadav
487b204f37 disp: msm: sde: flush pp event work queue before vm release
In some vm transitions, pp work might get executed on event thread
after handoff is completed on commit thread leading to crash.
This change flushes the pp event thread queue during vm pre-release
before lending the io resources to the other vm.

Change-Id: I53b76e48bc15084aa5519409fae0e692f49e7558
Signed-off-by: Saurabh Yadav <quic_sauyad@quicinc.com>
2023-01-10 01:59:41 -08:00
qctecmdr
3ec1c470af Merge "disp: msm: dsi: handle all overflow error codes of read_u64" 2023-01-09 23:22:58 -08:00
qctecmdr
a9b5af0e5e Merge "disp: msm: dsi: add check for the invalid modeset" 2023-01-09 23:22:58 -08:00
qctecmdr
a74cda095a Merge "disp: msm: dsi: correct comment for dsi_display_update_dsi_bitrate" 2023-01-06 20:03:12 -08:00
qctecmdr
f875b6cc0a Merge "disp: msm: sde: disable encoder pp for 10bpp or 10bpc dsc config" 2023-01-06 20:03:12 -08:00
qctecmdr
f471be45f9 Merge "disp: msm: dsi: Implement dsi parser u64_read function" 2023-01-06 20:03:11 -08:00
Raviteja Tamatam
b38e3c9e5a disp: msm: sde: wait for pending vsync event in encoder disable
In some corner cases there is pending vsync timestamp event to
sf when encoder is getting disabled. This is keeping vblank irq
to be enabled after sde_encoder_virt_reset leading to NULL ptr
access. In these cases, wait for vsync event to be completed which
disables the irq.

Change-Id: If0a6be1fc282906fb1b9c0fd18ede1d31d2549b3
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2023-01-06 11:04:01 +05:30
Raviteja Tamatam
32bd9ab86f disp: msm: sde: prevent wb commit till cwb is disabled
There is race condition in below scenario leading to crash
in sde_encoder_virt_enable as sde_enc->cur_master is set to
NULL in sde_encoder_virt_reset in earlier CWB disable commit.
1) commit1-CWB retire fence signalled.
2) commit1-CWB disable commit still in progress.
3) commit2-New WB commit in progress.
4) commit1-sde_enc->cur_master is set to NULL in CWB disable commit.
5) commit2-Crash seen in sde_encoder_virt_enable in WB commit.

Also, as WB HW is still attached to commit1 till the next wr_ptr,
new WB session cannot be allowed. Adding validate check to fail
WB session when CWB is still not cleared in CTL path.

Change-Id: I62aca05f8380d3621d4980c0820cdd4da37b3dc1
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2023-01-06 11:02:31 +05:30
Ayushi Makhija
e0aa125834 disp: msm: dsi: handle all overflow error codes of read_u64
The read_u64() of dsi parser utils function can also return
-ERANGE for the overflow in case of dsi parser. Handle this
error for the overflow case.

Change-Id: I3994d1b9c650f6c265913c50a2cca72907a4703d
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
2023-01-06 10:25:15 +05:30
Sanskar Omar
6679663a7f disp: msm: sde: disable encoder pp for 10bpp or 10bpc dsc config
disable encoder post processing module for all ping pong
modules in a given topology.

Change-Id: If81aa7c392e2270dab599e1d15c2ea905cb437d8
Signed-off-by: Sanskar Omar <quic_sansomar@quicinc.com>
2023-01-05 16:13:17 +05:30
Akash Gajjar
4a274a1fc0 disp: msm: dsi: add check for the invalid modeset
There can be a scenario where fps change along with dynamic clock
happen in a same commit. This makes newer dynamic clock configuration
come to impact while leaving panel vblank to function as per the older
configured fps. This is invalid modeset, add validation check for the
same.

Change-Id: I32f15de5260d3abdb16a4b1c3f8eefc8bd634848
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2023-01-05 11:51:07 +05:30
Ayushi Makhija
96ae23252f disp: msm: dsi: Implement dsi parser u64_read function
Implement dsi parser u64_read function which is used to
read 64 bit clk rate.

Change-Id: I4671fb2d3d91df0fbac8ac623b38377447184ee3
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
2023-01-04 18:30:39 +05:30
Ayushi Makhija
de86905022 disp: msm: dsi: correct comment for dsi_display_update_dsi_bitrate
Clock rates are calculated in dsi_display_update_dsi_bitrate(),
not dsi_display_dynamic_clk_switch() in case of dynamic clock.
Correct the comment in dsi_ctrl_update_host_config()
to avoid confusion.

Change-Id: Ie949938accae028a0b7e9dc976508fee355a8e8a
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
2023-01-04 16:26:01 +05:30
Rajeev Nandan
9607226487 disp: msm: dsi: update the phy timings and clocks together
In the case of DMS the dsi phy timings get updated in 
dsi_display_set_mode() and the clock in pre_kickoff().
This brings a mismatch between phy timing and the clock between the
above two operations. For example, during dsi_display_enable(),
the HW is programmed with the new phy timings but the clock is still
running at the older rate. This mismatch can lead to screen flicker
or error.
Update the phy timings and clocks together during pre_kickoff().

Change-Id: I30198e91aba5879b1773103c088d94175639790c
Signed-off-by: Rajeev Nandan <quic_rajeevny@quicinc.com>
2023-01-02 22:54:25 -08:00
Linux Build Service Account
1ec2914518 Merge 1ad20d00ad on remote branch
Change-Id: Ib287801c3b271af219ba745d74f0b10a6e9dabec
2023-01-02 21:19:37 -08:00
Kashish Jain
772fa4ffcf disp: msm: dsi: Reset DMA trigger mux when initializing DSI_TRIG_CTRL
When broadcast command is sent with command DMA window scheduling enabled,
DSI_TRIG_CTRL.COMMAND_MODE_DMA_TRG_MUX does not get reset after command
transfer. Due to this next unicast command on slave fails.
This change resets DMA trigger mux during DSI_TRIG_CTRL initialization.

Change-Id: I74503d82ab1cb6ca4d61a9d14f2b3cd2c3936ea7
Signed-off-by: Kashish Jain <quic_kashjain@quicinc.com>
2023-01-01 21:20:23 -08:00
Rajeev Nandan
69893a3ce4 disp: msm: dsi: Fix DMA window scheduling programming
In DMA start window scheduling, TRIG_CTRL.COMMAND_MODE_DMA_TRIGGER_SEL
is programmed to SW + DMA start window trigger. But if DMS switch
comes after command is scheduled, COMMAND_MODE_DMA_TRIGGER_SEL gets
reprogrammed to SW trigger leading to command transfer failure.

Program the COMMAND_MODE_DMA_TRIGGER_SEL only from the CMD DMA Tx path.

Change-Id: I01062497bb70aa5fdcb25be3715c7cbc4c68b681
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
Signed-off-by: Rajeev Nandan <quic_rajeevny@quicinc.com>
2023-01-01 21:02:46 -08:00
qctecmdr
1ad20d00ad Merge "disp: msm: dp: avoid waiting for panel to send the first SDP" 2022-12-26 23:25:26 -08:00
qctecmdr
549826554b Merge "disp: msm: sde: clear cached rectangles when PU ROI is set" 2022-12-23 02:01:45 -08:00
qctecmdr
8bc9b55099 Merge "disp: msm: dsi: Correct typo in qcom,bl-dsc-cmd-state property name" 2022-12-23 02:01:45 -08:00
qctecmdr
656e0dee6a Merge "disp: msm: dsi: fix error messages in the PHY tuning parameters" 2022-12-23 02:01:45 -08:00
qctecmdr
b88df42dd2 Merge "disp: msm: dp: do not skip wait for usb disconnect with dp_sim" 2022-12-23 02:01:44 -08:00
Anjaneya Prasad Musunuri
c913456588 disp: msm: sde: clear cached rectangles when PU ROI is set
clear cached rectangles when PU ROI is set to avoid incorrect
cached rois when two subsequent state duplications occur due
to timing. This will lead to commit N and commit N+1 to have
same cached ROIs as commit N-1. This results in issues when
commit N-1 is PU, N is full frame and N+1 is PU with same
ROI as N-1.

Change-Id: I3bb9390e500d327e703e41d64f7aaae5e5f1b4f2
Signed-off-by: Anjaneya Prasad Musunuri <quic_aprasad@quicinc.com>
2022-12-22 18:11:04 +05:30
qctecmdr
a3df85af37 Merge "disp: msm: dsi: Send Qsync commands asynchronously to avoid frame drops" 2022-12-21 04:18:21 -08:00
qctecmdr
a8c5bc0da0 Merge "disp: msm: sde: update idlepc handling for wfd display" 2022-12-21 04:18:21 -08:00
qctecmdr
77f9191c69 Merge "disp: msm: dp: avoid using freed panel for dp mst" 2022-12-21 04:18:21 -08:00