Commit Graph

3863 Commits

Author SHA1 Message Date
qctecmdr
01fde95aff Merge "disp: msm: sde: add changes to support odd number of dedicated-CWB" 2024-04-24 04:27:31 -07:00
Akhil Jaiswal
bde8c4627e disp: msm: sde: add changes to support odd number of dedicated-CWB
Add changes to support odd number of dedicated-CWB.

Change-Id: I21c8521e98f6a8b5bb002f1c056afc501e7e9780
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-04-23 14:36:01 +05:30
qctecmdr
d6f18e0ef1 Merge "disp: msm: sde: reset llcc_active of crtc on suspend commit" 2024-04-18 22:41:08 -07:00
qctecmdr
fd946778a9 Merge "disp: msm: sde: clear existing interface configuration for CWB" 2024-04-16 06:37:55 -07:00
Mahadevan
bbbf6aae8a disp: msm: sde: reset llcc_active of crtc on suspend commit
In Commit N, llcc is enabled. However in Commit N+1, suspend
is triggered without a llcc disable commit. As a result, llcc
remains active, preventing ADSP from entering the island.

Change-Id: I36fd8cc8c3f8a97e18b53507749a1b639f0c0cfd
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2024-04-15 08:36:26 -07:00
qctecmdr
e78720e096 Merge "disp: msm: sde: increase EPT timeout threshold" 2024-04-11 02:40:58 -07:00
qctecmdr
d3b916c2a0 Merge "disp: msm: sde: enable uidle support for palawan target" 2024-04-07 23:04:09 -07:00
Mahadevan
56789f806f disp: msm: sde: clear existing interface configuration for CWB
In the primary topology (2 2 1), during a full layer mixer
update, CWB requires two layer mixers. However, in the
scenario where Commit N has CWB enabled and uses two LMs
(Merge3D), and Commit N+1 has a single LM with partial update
Merge3D and two CWB and Merge 3D is programmed leads to commit
failure. This change addresses the issue by clearing the
existing configuration.

Change-Id: I8855d761c6eb6ad8809d94872ee961c6a721c541
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2024-04-08 09:47:15 +05:30
Mahadevan
ee8669055e disp: msm: sde: increase EPT timeout threshold
During VTS testing, simulated multi-frame delays
are set using the EPT (Expected Present Time)
property. The test case failed at lower refresh
rates. This change extendes the EPT timeout threshold
to 10 seconds, ensuring support for multiple frame
delays.

Change-Id: I75ee2f3b27083014e560c5819ed9929a137ef8da
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2024-04-07 08:29:13 -07:00
qctecmdr
f92c898192 Merge "disp: msm: replace iommu_attach/detach with iommu_sid_switch" 2024-03-29 06:13:16 -07:00
qctecmdr
9aa2b54ff1 Merge "disp: msm: sde: set vlut only after ltm init" 2024-03-29 06:13:16 -07:00
qctecmdr
546824f3c1 Merge "disp: Enable Bazel compilation for volcano" 2024-03-26 02:58:04 -07:00
Akhil Jaiswal
8352afaa19 disp: Enable Bazel compilation for volcano
Enable Bazel compilation for volcano.

Change-Id: I84a2d46b3c814b766284fdb35a47737bb81e985b
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-03-25 12:10:50 -07:00
Akhil Jaiswal
47acac9dbf disp: msm: sde: add support for virtual sde blocks
This change add support for virtual sde blocks to maintain
the layer mixer id which is used for proper allocation of
dcwb.

Change-Id: I2b21561f72dab3ef833de71ceb1fa6dac886dc04
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-03-25 12:10:41 -07:00
qctecmdr
88111350b5 Merge "disp: msm: sde: store in_clone_mode flag locally in wb_frame_done" 2024-03-24 13:52:59 -07:00
qctecmdr
a386bcdf1a Merge "disp: msm: sde: add rev checks for volcano target" 2024-03-24 13:52:59 -07:00
qctecmdr
e83da26cdf Merge "disp: msm: sde: add mutex lock to protect wb_dev" 2024-03-24 13:52:59 -07:00
Mahadevan
c831956e54 disp: msm: sde: store in_clone_mode flag locally in wb_frame_done
The issue scenario is as follows:
 1. User space issues CWB commit N-1, frame got picked up and wr_ptr_irq
    is received.
 2. Next commit N CWB disable commit is programmed waits for N-1 wb_done
    irq.
 3. The kickoff count is decremented on wb_done_irq of commit N-1
    and wb wait_for_idle is exited.
 4. wb_frame_done irq thread execution stalled before populating fences
    and commit thread execution continues.
 5. wb_reset disables in_clone_mode flag, the stalled wb_done_irq thread
    resumes its execution and signals the release fences on primary
    CRTC.
 6. Commit N-1  frame_done irq is received and release fences is
    signaled again.
Userspace assumes Commit N also completed on receiving of second release
fence causing corruption in screen. This patch stores in_clone_mode
flag in wb_done_irq and only CWB retire fence is signaled.

Change-Id: I758e19178e4ba8722a01fca72d230f066831aec9
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-03-21 03:14:15 -07:00
Anjaneya Prasad Musunuri
cdbaf90cd2 disp: msm: sde: set vlut only after ltm init
This changes add checks to make sure LTM init is set
before setting VLUT.

Change-Id: Ifeeeb1ff176b2c91a2c5f43928fb9621b69585f0
Signed-off-by: Anjaneya Prasad Musunuri <quic_aprasad@quicinc.com>
2024-03-21 14:52:11 +05:30
Akhil Jaiswal
fab63547ed disp: msm: sde: add rev checks for volcano target
Add required revision checks from display for volcano target.

Change-Id: I8d65c0e957602a8069fd7a60077159e6a869c19f
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-03-21 12:05:15 +05:30
Akash Gajjar
fdc95c8dae disp: msm: sde: enable uidle support for palawan target
This change enables the uidle feature support for palawan target.

Change-Id: I91010e4ce26dd74ea0e9367b6eee0165ee7814f7
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-03-21 11:12:05 +05:30
qctecmdr
a4550cab5e Merge "disp: msm: sde: disable dest scaler on suspend event" 2024-03-20 21:49:27 -07:00
qctecmdr
5c7dda5c20 Merge "Revert "disp: msm: sde: avoid race on in_clone_mode flag in wb encoder"" 2024-03-20 21:49:27 -07:00
qctecmdr
1088452eaf Merge "disp: msm: sde: avoid registration of hw_fence registers for reg_dump" 2024-03-20 21:49:26 -07:00
qctecmdr
8f18694bc7 Merge "disp: msm: dsi: Avoid re-initializing PLL registers during dyn clk switch" 2024-03-16 05:47:05 -07:00
qctecmdr
53de7e375b Merge "disp: msm: sde: free the allocated memory of the acl and sgl descriptor" 2024-03-16 05:47:05 -07:00
Jayaprakash Madisetty
53615194b4 disp: msm: sde: disable dest scaler on suspend event
Destination scaler hw can be enabled and disabled runtime for
sharpness only case through QDCM.

Customer is using shared DSI solution and issue scenario is:

1) DS0 configured and enabled for INTF1 display1.
2) Suspend commit is triggered with DS0 disable configuration but
   driver programming doesn't happen as crtc is not enabled.
   for customer case, GDSC is not turned off due to extra vote.
3) On resume commit on INTF1 display2 with different resolution,
   DS0 is not configured from userspace, but in HW,
   DS0 programming is retained.
4) Due to this retained programming, DSI underflow is seen in
   resume commit.

Add changes to disable dest scaler qseed opmode and merge ctrl
as part of cp crtc disable sequence.

Change-Id: Ibb39814e02870394da4c7c7318e6e2780fed9081
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2024-03-14 18:04:29 +05:30
Srihitha Tangudu
28e3c16d2a disp: msm: dsi: Avoid re-initializing PLL registers during dyn clk switch
Currently we are always initializing PLL registers whenever PLL is
configured. Re-initializing PLL registers during dynamic clock switch in
case of cphy video mode is moving the PLL to some bad state resulting in
display freeze. Avoid this by restricting initialization of PLL
registers to only while turning on the PLL.

Change-Id: I09eacbb37fff4e0e91d226ac08e7d5a2bfbbfe26
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2024-03-12 06:15:42 -07:00
Akash Gajjar
8881c37e4a disp: msm: sde: free the allocated memory of the acl and sgl descriptor
Allocated memory for acl and sgl descriptors is not being freed.
This is causing memory leak over multiple cycles of TUI tests.
To avoid this, free The allocated memory of descriptors.

Change-Id: I9bad0563009317d2e814185a8513f363a3359f6b
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-03-12 12:55:47 +05:30
Akhil Jaiswal
a50a83f9ad disp: msm: sde: avoid registration of hw_fence registers for reg_dump
This change avoids registering the hw_fence block for reg_dump
on lower-end targets where hw_fence is not supported.

Change-Id: I6bf017561954a133fa94cf015f5fed80a14fc479
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-03-09 13:37:52 +05:30
qctecmdr
8b01ceb5c1 Merge "disp: msm: sde: deallocate resources if TVM initalization fails" 2024-03-07 03:20:04 -08:00
Akash Gajjar
2122339163 Revert "disp: msm: sde: avoid race on in_clone_mode flag in wb encoder"
This change reverts 'commit 13d31e5111 ("disp: msm: sde:
avoid race on in_clone_mode flag in wb encoder")'.

Change-Id: Id5818ff189a77de0eac35e0c85f3bf67857c0820
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-03-01 22:36:31 -08:00
Yojana Juadi
f995116812 disp: msm: sde: add mutex lock to protect wb_dev
There is null pointer dereference seen due to concurrency
of wb_get_modes from userspace and clearing of writeback
modes in wb_reset. This change acquires mutex lock to provide
exclusive access to wb_dev effectively preventing such
concurrency issues.

Change-Id: Idd38e38696c839f557b94aa9313761d4d7738902
Signed-off-by: Yojana Juadi <quic_yjuadi@quicinc.com>
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-02-29 09:02:51 -08:00
qctecmdr
3790db7fbd Merge "disp: msm: dsi: add dsiclk_sel support for DPHY and CPHY as per HPG" 2024-02-28 05:45:02 -08:00
Akhil Jaiswal
db089cbe45 disp: rotator: add changes to fix offsets for rotator modules
This changes includes updating the rotator register offsets
for Taro family targets.

Change-Id: I5145bd44bba13fd85dd93862b721dcf41dcc0aa4
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-02-26 11:02:47 +05:30
Akash Gajjar
437760d19d disp: msm: sde: deallocate resources if TVM initalization fails
In the TUI use case, during VM acquisition, memory and IRQ
resources are transferred from the Primary VM to the Trusted VM.
However, there may be situations where the resource
initialization on the Trusted VM fails, causing the atomic check
to fail while it still holds the resources. During VM release,
this scenario causes resource reclamation to fail on the Primary
VM. This change ensures that the acquired resources are released
if the Trusted VM resource initialization fails.

Change-Id: I5f1cfe63a3c6580e4dc3f10f36ff15d5d2432adf
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-02-20 20:40:43 -08:00
qctecmdr
a11f7d8f87 Merge "disp: msm: dsi: sync the command DMA packet buffer after update" 2024-02-11 23:34:55 -08:00
Ritesh Kumar
acb7915ca2 disp: msm: dsi: add dsiclk_sel support for DPHY and CPHY as per HPG
Add dsiclk_sel support for both DPHY and CPHY, update pclk_div
calculation w.r.t dsiclk_sel as per HPG for 5nm pll.

Change-Id: Ibdb116ad71bb5f2421a3fae994781f18e21a1bc0
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
2024-02-11 21:50:03 +05:30
Anand Tarakh
c800498ce6 disp: msm: dsi: sync the command DMA packet buffer after update
Sync the command DMA packet buffer after update.

Change-Id: I01b91400bb15ab75cbb7ce3cf9adc4b64f7e923d
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
2024-02-11 14:03:41 +05:30
Akash Gajjar
b93086c567 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>
2024-02-09 03:57:52 -08:00
qctecmdr
93cd794f99 Merge "Revert "disp: msm: sde: increase MAX_SDE_HW_BLK size"" 2024-02-05 22:15:38 -08:00
V S Ganga VaraPrasad (VARA) Adabala
57da43c805 Revert "disp: msm: sde: increase MAX_SDE_HW_BLK size"
This reverts commit 0256443205.

(cherry picked from commit 2ba765eec8).

Change-Id: Iabb29b389291a3df67a502e4e3f4ea9ec4cb026e
Signed-off-by: V S Ganga VaraPrasad (VARA) Adabala <quic_vadabala@quicinc.com>
2024-02-05 01:29:47 -08:00
qctecmdr
4bb719dfd0 Merge "disp: msm: rotator: add revision check for pitti target" 2024-02-01 04:18:17 -08:00
qctecmdr
f455211f1f Merge "disp: msm: sde: Remove lut packets for programming from ROI enable property" 2024-01-28 00:47:13 -08:00
Akhil Jaiswal
d132c7b3fc disp: msm: rotator: add revision check for pitti target
This change includes hw revision check and adds
supported color format for decoder and encoder
of offline rotator.

Change-Id: I0ff20874f756743e1d2bf6b985952b028eeef488
Signed-off-by: Akhil Jaiswal <quic_akhijais@quicinc.com>
2024-01-25 14:58:36 +05:30
Yuchao Ma
b064c29a51 disp: msm: sde: Remove lut packets for programming from ROI enable property
ROI enable is moved to VLUT property. Remove lut packets for programming
same from ROI enable property.

Change-Id: Ia10aa26d272003a31d733b44cfb61dbd7690a7f0
Signed-off-by: Yuchao Ma <quic_yuchaom@quicinc.com>
2024-01-23 00:41:36 -08:00
qctecmdr
d1b5781ecd Merge "disp: msm: dp: program the correct 5nm dp pll ssc_per2 parameter" 2024-01-22 08:30:57 -08:00
qctecmdr
caa41e12ba Merge "disp: msm: sde: clear wb mode and cached cwb encoder mask" 2024-01-22 08:30:57 -08:00
Andhavarapu Karthik
3b361d63e7 disp: msm: replace iommu_attach/detach with iommu_sid_switch
From 5.10 kernel, iommu_attach/detach_device is replaced with a call
to iommu_sid_switch.

Change-Id: I80d204d8b7a7013ad88c0c2c2e5fad316984ca8f
Signed-off-by: Andhavarapu Karthik <quic_kartkart@quicinc.com>
2024-01-19 15:03:53 +05:30
Soutrik Mukhopadhyay
1788f0e2c9 disp: msm: dp: program the correct 5nm dp pll ssc_per2 parameter
The 5nm DP pll ssc_per2 parameter is currently programmed with a
wrong value. This change will correct the value to be programmed.

Change-Id: I3d79b221e81a81ef3db5325783fdd24b55b3f029
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2024-01-18 15:41:46 +05:30