提交图

3791 次代码提交

作者 SHA1 备注 提交日期
Vinod Polimera
e3a8090d04 disp: rotator: remove msm_rtb.h
This change removes msm_rtb.h which is depricated as part of
kernel 6.1 and replaces writel_relaxed_no_log/read_relaxes_no_log
with writel_relaxed/readl_relaxed apis.

Change-Id: Ie0bbb2e186445e16c52be12255c4ffe39869d454
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:22:01 +05:30
Vinod Polimera
dfca0b2264 disp: rotator: update parameters for vb2 get_userptr api
This change updates the parameters needed for vb2 get_userptr
api in kernel 6.1.

Change-Id: I43fb78c701f182e57d3f016ff54d3601f0773fff
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:21:47 +05:30
Vinod Polimera
07e8012420 disp: rotator: add version.h to import kernel version related macros
This change adds the latest header where the linux kernel
version macros are defined in kernel 6.1.

Change-Id: Ie42e0c6af08bad6418e56d00ef9f65a8edb9a51d
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:21:32 +05:30
Vinod Polimera
93e48fe2de disp: rotator: handle debugfs_create_bool properly
The return type of debugfs_create_bool is changed
to void in 6.1 kernel. Add changes to handle
this accordingly.

Change-Id: I1a5413d5f769bc6102918052aa9cdce606185196
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:20:02 +05:30
Gaurav LNU
2d706273cb disp: rotator: update mapped buffer size retrieval from sg_table
This change corrects the logic of accumulated size
of mapped entries of sg table for DMA BUFFER.

Change-Id: I2baef8d438cab8314c5526aac2ea8a3227176888
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:19:56 +05:30
Gaurav LNU
fbb942c2bb disp: rotator: use proper dma buf API for cpu access unmap
This change adds support to use dma_buf_vunmap
instead of dma_buf_kunmap as the latter is
deprecated.

Change-Id: I665c410b1f75854a8840e1da8a21ba2b5cc65ad8
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:19:50 +05:30
Gaurav LNU
0256443205 disp: msm: sde: increase MAX_SDE_HW_BLK size
In the current implementation, the length of
certain dt entries like qos can take upto 36
entries for each fps value. This change
increases the size of MAX_SDE_HW_BLK to
handle such cases to support qos parsing
for targets which have multiple fps support.

Change-Id: Ie125191f731730f1a5e371930b4c15767ca5ac27
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
2024-01-04 23:19:43 +05:30
Gaurav LNU
0181500cc8 disp: rotator: handle debugfs_create_u64 properly
The return type of  debugfs_create_u64 is changed
to void in 5.10 kernel. Add changes to handle
this accordingly.

Change-Id: I326ae223bb4d1377d0c1c9ec7f64a5064888133c
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:19:15 +05:30
Gaurav LNU
fbfef15361 disp: rotator: use VFL_TYPE_VIDEO instead of VFL_TYPE_GRABBER
VFL_TYPE_GRABBER is renamed with VFL_TYPE_VIDEO
in v4l2 driver code. Add required changes to
handle this in rotator driver.

Change-Id: Ia4165295003867f661324bbf8a471fa1f27ddf72
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:19:05 +05:30
Gaurav LNU
985f8bc0da disp: rotator: set priority for rotator threads
Set the rotator threads priority (commit and
done) to RT.

Change-Id: Ia2db4a86efe1d3ca990cade8424a5c72b3d4595b
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:18:43 +05:30
Gaurav LNU
126186bb88 disp: rotator: remove deprecated dma_buf_ops callbacks
Map and unmap calls are removed from dma_buf_ops.
Add support to remove the deprecated callbacks
from rotator driver.

Change-Id: I93dff0629d1393983807e015dbd06293940dceb3
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
2024-01-04 23:18:16 +05:30
Gaurav LNU
ca333561cf disp: rotator: use proper color format name for sde rotator
This change updates the color format names and adds
the correct header file for rotator.

Change-Id: I198df87bc4f93a9b390beeba01c29c0c4fb641cc
Signed-off-by: Gaurav LNU <quic_glnu@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
2024-01-04 23:07:21 +05:30
qctecmdr
9665516c60 Merge "disp: msm: sde: traverse the entire CTL list during splash_resource init" 2024-01-02 10:09:03 -08:00
qctecmdr
8da103aa3e Merge "disp: msm: dsi: change log level for dsi pll slave config" 2024-01-01 21:57:07 -08:00
Mahadevan
a747c88d73 disp: msm: sde: traverse the entire CTL list during splash_resource init
This change fixes an issue, where in CTL_2 was programmed for
secondary display and handoff was not done as the list traversal
logic was restricting it.

Change-Id: Icd945cfb3401ecc9c9c33059f5208a87979ada77
Signed-off-by: Yojana <quic_yjuadi@quicinc.com>
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2024-01-02 11:24:10 +05:30
qctecmdr
8ffa8d427b Merge "disp: msm: sde: fix state transition and vm release in TUI" 2023-12-26 09:15:06 -08:00
Linux Build Service Account
8bbb79fffb Merge "disp: msm: dp: fix call to undeclared function build error" into display-kernel.lnx.1.0 2023-12-25 03:08:05 -08:00
qctecmdr
b31864b9cd Merge "disp: msm: dsi: update the phy timings and clocks together" 2023-12-21 05:13:20 -08:00
Kashish Jain
617fa19be1 disp: msm: dsi: change log level for dsi pll slave config
Change log level for unavailable slave pll from warn to debug
to avoid redundant logs as parrot supports only one DSI.

Change-Id: I200a2f382a1dca7035e4960d3bb0c877867f8ba8
Signed-off-by: Kashish Jain <quic_kashjain@quicinc.com>
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
2023-12-21 15:32:13 +05:30
qctecmdr
8efe11c0ba Merge "disp: msm: sde: avoid race on in_clone_mode flag in wb encoder" 2023-12-20 05:12:21 -08:00
qctecmdr
4c8ffb7d17 Merge "disp: msm: sde: update rsc timer during video mode boot up" 2023-12-20 05:12:21 -08:00
jianzhou
5ddfb2b11e disp: msm: dp: fix call to undeclared function build error
drm_dp_mst_hpd_irq was removed, replaced by
drm_dp_mst_hpd_irq_handle_event.

Change-Id: I2a897283ab27ebd1d6a0e89f0f2fa10757a64c04
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
2023-12-20 01:01:03 -08:00
Andhavarapu Karthik
13d31e5111 disp: msm: sde: avoid race on in_clone_mode flag in wb encoder
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.

Made changes to avoid the race between irq thread and commit thread
over in_clone_mode flag, by adding a lock over wb physical encoder.

Change-Id: Iba9b6613c49d413239c9603228fe16b0d64c0ab6
Signed-off-by: Andhavarapu Karthik <quic_kartkart@quicinc.com>
2023-12-18 18:14:40 +05:30
qctecmdr
39d1a4857e Merge "disp: msm: dp: Update internal lm tracking" 2023-12-18 01:58:05 -08:00
qctecmdr
6d7ac58f55 Merge "disp: msm: sde: assign a non-pairable DSC to a topology that requires single DSC" 2023-12-18 01:58:04 -08:00
Andhavarapu Karthik
b35752cb3c disp: msm: sde: update rsc timer during video mode boot up
When poms supported panel is booting up with video mode
rsc timers are not configured. Made changes to update rsc
timers configuration during bootup with video mode as well,
to avoid rsc stuck issues during poms switch.

Change-Id: I8c03b3e5483c17f73e3d8c6b57bd8d3eabb33b10
Signed-off-by: Andhavarapu Karthik <quic_kartkart@quicinc.com>
2023-12-18 14:38:05 +05:30
Rajeev Nandan
d6e2761b94 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-12-15 10:37:06 +05:30
Shamika Joshi
723d8a5895 disp: msm: sde: fix state transition and vm release in TUI
This change fixes state machine transition during TUI process
kill to disable crtc and release vm resources cleanly.

Change-Id: If92c548bea5a3ed69721a9ecc28848910b44558d
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2023-12-14 09:24:43 -08:00
Akash Gajjar
4676e59d3d disp: msm: sde: assign a non-pairable DSC to a topology that requires single DSC
During suspend-resume in a dual-display scenario with primary
display topology <2 2 1> and secondary display topology <1 1 1>
with 3 DSC instances, allocating DSC block 1 to the secondary
display results in DSC blocks 2 and 3 being assigned to the
primary display. However, as DSC block 2 is not a peer of DSC
block 3, it triggers an atomic check failure as a part of the RM
reservation failure. While reserving the DSC resources, prefer non
pairable DSC if the topology requests for single DSC instance. If
there are no non pairable DSCs available, then select one of the
available DSC.

Change-Id: I3e3f7ec343b5bc99aa23786a3cb65cf7bbbd7275
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2023-12-14 16:03:02 +05:30
qctecmdr
953d70e49b Merge "disp: msm: sde: force revalidation of LTM and RC features" 2023-12-10 04:51:01 -08:00
qctecmdr
89bfdcfedb Merge "disp: msm: sde: update dither, unsharp along with VLUT" 2023-12-10 04:51:01 -08:00
Nisarg Bhavsar
56d1c40031 disp: msm: dp: Update internal lm tracking
Clear internally tracked total number of lm blocks in
use when there are zero active streams.

This is required to have an accurate count of lm blocks
in use in a mst scenario.

Change-Id: Ida5d509bab60b3b6a4c0ace07c7c68380d28a0dd
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2023-12-06 13:54:15 -08:00
Anjaneya Prasad Musunuri
61e3e2b6cf disp: msm: sde: update dither, unsharp along with VLUT
Dither, unsharp should not be enable when VLUT
is disabled. This change ties dither, unsharp to VLUT
enable/disable and not during init property.

Change-Id: Idfad899a13252b22104c9746c86f4e158d9b0980
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Anjaneya Prasad Musunuri <quic_aprasad@quicinc.com>
2023-12-06 19:16:31 +05:30
Mitika Dodiya
1bc25bb976 disp: msm: sde: add support for cwb capture downscale
Anti aging requires cwb capture for algorithm. This change adds
support for cwb capture with downscale. Dnsc block needs to be
disabled when cwb is disabled.

Change-Id: I52e3eb4442440e6c59eb96566b0f6af1fd10c973
Signed-off-by: Mitika Dodiya <quic_mdodiya@quicinc.com>
2023-12-05 21:14:14 -08:00
qctecmdr
58cd5f8e39 Merge "disp: msm: dp: Parse device tree for aux switch" 2023-12-03 11:29:32 -08:00
Soutrik Mukhopadhyay
5073940a9a disp: msm: dp: Parse device tree for aux switch
Changes to select particular dp_aux_switch based on board
requirements. Currently provision to support both fsa4480
and wcd939x as aux switches are provided.

Change-Id: Iafbee4d91d14aafb1e7a37ddfa2b1ea0d0e5e784
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2023-12-01 11:28:44 +05:30
qctecmdr
14e67f0bf1 Merge "disp: msm: dsi: fix cmdline topology selection" 2023-11-30 19:27:17 -08:00
qctecmdr
0b5d746481 Merge "disp/bridge/lt9611uxc: update bridge_attach and compatible string" 2023-11-30 19:27:17 -08:00
Srihitha Tangudu
3f43908efe disp: msm: dsi: fix cmdline topology selection
Set topology override to cmdline topology before parsing timings so that
correct topology is set in mode.

Change-Id: I7ba371370c71516b436dbe5ec07064f7b54975bb
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2023-11-28 21:49:09 -08:00
qctecmdr
a07896383d Merge "disp: msm: sde: handle first commit after resume for demura init property" 2023-11-28 21:09:42 -08:00
qctecmdr
9f256b91aa Merge "disp: msm: sde: adjust the vblank refcount until the completion of poms" 2023-11-28 12:04:13 -08:00
qctecmdr
1ed1014609 Merge "disp: msm: sde: avoid returning zero vsync count in poms usecase" 2023-11-28 12:04:13 -08:00
qctecmdr
efcfeb4c13 Merge "disp: msm: sde: avoid returning vsync count for cwb encoder" 2023-11-28 12:04:12 -08:00
qctecmdr
2d1d8e0686 Merge "disp: msm: dsi: fix mode count for POMS enabled video mode panel" 2023-11-28 12:04:12 -08:00
qctecmdr
41bbe3da22 Merge "disp: bridge: Add lt9611uxc display bridge driver" 2023-11-28 07:35:06 -08:00
Sanskar Omar
c4f0b40ddd disp: msm: sde: handle first commit after resume for demura init property
Demura init property gets reapplied during first commit after resume.
However, first commit after resume is null commit and HFC correction
file will not be available during first commit.
This change marks error to warning for first commit after resume.

Change-Id: I01ec4bd977d60925d9b7a54076329c3becaa0b20
Signed-off-by: Sanskar Omar <quic_sansomar@quicinc.com>
2023-11-27 20:15:19 -08:00
Shubham Talekar
de1e6dfd58 disp/bridge/lt9611uxc: update bridge_attach and compatible string
Update lt9611uxc bridge attach function for external bridge
to create drm connector.
Update compatible string to avoid conflict with upstream
lt9611uxc driver.

Change-Id: I5933b14ac724cc1417f89f000046ba3c3afbcf5c
Signed-off-by: Shubham Talekar <quic_stalekar@quicinc.com>
2023-11-26 22:27:26 -08:00
Anand Tarakh
78cde5eaf5 disp: msm: dsi: fix mode count for POMS enabled video mode panel
In legacy POMS feature, there were separate timing nodes for
video and command mode. So, while calculating the total number
of modes, 1 extra mode is added for command mode if POMS feature
is enabled in video mode panel.

But as per the new design, this is clubbed into one timing node.
So, there is no separate mode for command mode. This change removes
the check to add 1 extra mode count otherwise it leads to null
pointer dereference while getting lm for this extra mode. Also
avoid overriding mode capability when POMS is enabled.

Change-Id: I73f3b89b22f566e40c88178f2af392214b1ada8d
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
2023-11-27 11:34:37 +05:30
Akash Gajjar
9cd74e699e disp: msm: sde: avoid returning zero vsync count in poms usecase
In POMS use case while disabling the virtual encoder, the virt
reset function sets the current master to null. concurrently, if
there is a query from the DRM client for the current vsync count,
it returns a zero value. This results in the blocking of the
drm_crtc_funcs.disable_vblank function. since the vsync count
has been relocated to the virtual encoder, remove the physical
encoder structure.

Change-Id: Ie692df657b5a86b6b8915a15e9a070642243fcfb
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2023-11-24 23:25:24 -08:00
Akash Gajjar
ea70c32ab5 disp: msm: sde: adjust the vblank refcount until the completion of poms
In POMS use case, the handling of the wait for vsync event
completion coincides with the concurrent
drm_crtc_funcs.enable_vblank. This concurrency causes a vsync
event complete timeout while disabling the encoder. to fix this
concurrency problem, increment the vblank refcount in encoder
disable and release the vblank refcount in encoder enable.

Change-Id: I79671e4a2bafdd01a6b2523a80fe511bff23d6b6
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
2023-11-24 23:25:02 -08:00