Commit Graph

2338 Commits

Author SHA1 Message Date
qctecmdr
69fb2edab7 Merge "disp: msm: replace iommu_attach/detach with iommu_sid_switch" 2021-06-16 15:32:50 -07:00
Linux Build Service Account
38c32e36d1 Merge "disp: msm: sde: program qseed through ahb" into display-kernel.lnx.5.10 2021-06-16 15:19:39 -07:00
Linux Build Service Account
9c4e8b157c Merge "disp: msm: sde: add esd check during wr_ptr wait" into display-kernel.lnx.5.10 2021-06-16 15:19:38 -07:00
Linux Build Service Account
2a08ea7da0 Merge "disp: msm: dsi: fix illegal memory access " into display-kernel.lnx.5.10 2021-06-16 15:18:38 -07:00
Nilaan Gunabalachandran
ab52bfd181 disp: msm: sde: poll for rsvp nxt after idle
During mode enable after idle, rsvp next would be be set without
rsvp cur. Back to back test only should be serialized, but currently
this would be possible right after idle. This is established by
commit 11aab5f9c3 (disp: msm: sde: Fix null dereference errors).
This change updates the condition to poll for rsvp next clear
during this usecase as well.

Change-Id: I300254967cbec69fff8b31545b8d659afc56f283
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-06-15 13:12:32 -04:00
Samantha Tran
dc56d01f20 disp: msm: sde: add esd check during wr_ptr wait
Move esd check to write pointer wait instead of during
write pointer timeout. With this change display will avoid
improperly signaling a retire fence and allowing two flushes
to happen within a single vsync in cases where ESD failure
is happening.

Change-Id: I6fbd76a2f6b47d3237039f66a3b1edd1f72a0a1d
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-14 13:35:46 -07:00
Ravi Ranjan
eacfafbaed mmm_color_format: update alignment for linear RGBA8888 format
Video requires width of linear RGBA8888 format byte-aligned to 256.

Change-Id: I7fa3822abb2912ef78e192756d19a5f8468bd493
Signed-off-by: Ravi Ranjan <rravi@codeaurora.org>
2021-06-13 19:13:15 -07:00
qctecmdr
9685e229a2 Merge "disp: msm: dsi: fix gpio warning message" 2021-06-11 14:26:06 -07:00
qctecmdr
1b5eb90df4 Merge "disp: msm: sde: mute autorefresh seq2 error log" 2021-06-11 12:15:51 -07:00
qctecmdr
5a9148d169 Merge "disp: msm: sde: add line count to video mode TE event log info" 2021-06-11 10:09:42 -07:00
Satya Rama Aditya Pinapala
4f604d5c21 disp: msm: dsi: fix illegal memory access
The priv_info for dsi_display_mode is assigned to NULL after use, so
that it cannot be outside the dsi_find_mode function.

Change-Id: Ifacd1f1ea4edab1e6659b42522c5f216676a9a01
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-06-10 12:37:36 -07:00
Prabhanjan Kandula
1aa3b25147 disp: msm: sde: mute autorefresh seq2 error log
In SDE driver auto refresh disable sequence, seq2 execution
is possible. Avoid error log for every iteration and log
only when seq2 fails.

Change-Id: I1e2b3dcc775bf5fef28fe2e0c6846d3940a2bad1
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-06-10 12:12:09 -07:00
Nilaan Gunabalachandran
3617430855 disp: msm: sde: program qseed through ahb
This change ensures that qseed programming to be completed through AHB
path only.

Change-Id: I26270fdf51d1ac8c68c6967b3ee99857be9c801e
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-06-10 13:16:08 -04:00
Grace An
58fa6aa87a disp: msm: sde: add line count to video mode TE event log info
This change adds line count to info being added to the
event log buffer.

Change-Id: Ic51b12bb3fbff206603ca8265cd916972418d0d2
Signed-off-by: Grace An <gracan@codeaurora.org>
2021-06-09 13:21:03 -07:00
qctecmdr
4f79a6ceef Merge "disp: msm: sde: cancel delayed_off_work before reinitialization" 2021-06-09 10:00:48 -07:00
qctecmdr
4ed05e18ad Merge "disp: msm: sde: add support for partial size CWB output buffer" 2021-06-09 10:00:48 -07:00
qctecmdr
d66e86af95 Merge "disp: msm: dsi: enable DCS command ASYNC wait for video mode panels" 2021-06-09 04:48:39 -07:00
qctecmdr
2bd58a2e46 Merge "disp: msm: sde: add explicit sub-driver mappings for TVM" 2021-06-09 02:43:04 -07:00
Samantha Tran
928ee64b46 disp: msm: sde: add support for partial size CWB output buffer
Add support for accepting a smaller output buffer size than full
frame. In this case, input will be cropped as needed and set to
0,0 coordinate in the output buffer.

Change-Id: Ie6d60aa313ae87ce148a08108e09b56c908147da
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-08 15:51:13 -07:00
qctecmdr
eb5415ad65 Merge "disp: msm: dsi: clear ctrl_flags for private DCS panel command" 2021-06-08 08:50:24 -07:00
Jeykumar Sankaran
7a112bb744 disp: msm: sde: add explicit sub-driver mappings for TVM
TUI clients are the display sub-drivers that participate
during the TUI transition. They register with the display
TUI notification framework with a list of callbacks functions
that will be invoked during pre/post transitions and for quering
I/O memory that need to be access controlled. This change
adds RSC to the TUI client list.

In Trusted VM, all the sub-drivers are not enabled to avoid
any re-configuration of respective module registers. But the
TUI framework need to know the sub-driver I/O memory ranges
in order to accept the I/O memory list lent by the HLOS VM.
So, SDE provides them ranges by reading from a custom
devicetree property.

Change-Id: I2c4b254d539d04771339ae4a7bf4d296b7a7f91a
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-06-07 23:48:09 -07:00
Jeykumar Sankaran
5ec8dc1afc disp: msm: dsi: update gpio mappings using tlmm api
Use tlmm api to retrieve and populate address mappings of
the panel gpio pins participating in the VM swtich
on Trusted UI.

Change-Id: Ibf2d13eac3fe907b729f4c2b54c63a3808022583
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-06-07 23:48:09 -07:00
Jeykumar Sankaran
77d648442f disp: msm: dsi: implement ESD trigger for trusted vm
DSI driver stubs out GPIO parsing in trusted vm. Add support
for ESD trigger in trusted vm by explicitly parsing the
reset gpio and setting the value.

Change-Id: I8c04e4b27b234eb236ec51df633c06738f2a5c96
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-06-07 23:48:01 -07:00
Santosh Kumar Aenugu
8d9384423c disp: msm: dsi: fix gpio warning message
At present, the sim panels and physical panels booting up as sim
panels have a call flow issue causing reset gpio to be set in the
panel reset sequence even without valid reset gpio. This causes
GPIO warnings as it tries to set value for invalid reset GPIO.
The following change fixes these GPIO warnings, by checking
valid reset GPIO before setting value.

Change-Id: Id8f54a563c61dd3d244d31b10081042e376287d4
Signed-off-by: Santosh Kumar Aenugu <santoshkumar@codeaurora.org>
2021-06-07 17:18:10 -07:00
Lei Chen
9d4d003e30 disp: msm: sde: cancel delayed_off_work before reinitialization
Canceling delayed_off_work in encoder pre_modeset might not be
executed in all cases, but the following encoder enable might
initialize the work.
This will lead to list corruption as delayed_off work list node
is reinitialized before removing from linked list.
Move canceling delayed_off_work to start of encoder mode_set to
ensure work is canceled before reinitialization.

Change-Id: I38687604f2eedced308ea02019c162022725534e
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2021-06-07 17:03:31 +08:00
Lei Chen
484091de41 disp: msm: dsi: clear ctrl_flags for private DCS panel command
DSI or panel configurations might be changed dynamically, so clear
ctrl_flags of private DCS command to regenerate it according
to current display configurations.

Change-Id: Iddfcbe7f14de65ed0edf408a75b0a50bdb0a2d29
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2021-06-07 16:59:28 +08:00
qctecmdr
4a9b41b801 Merge "disp: msm: dp: check for pixel1 rcg only for mst supported platforms" 2021-06-05 08:40:10 -07:00
qctecmdr
91a9206cb8 Merge "display: msm: optimize driver debug allocations" 2021-06-04 19:50:11 -07:00
qctecmdr
97b1db8547 Merge "disp: msm: sde: set watchdog TE when panel fails ESD check" 2021-06-04 13:29:20 -07:00
Samantha Tran
11f2efbe16 disp: msm: sde: set watchdog TE when panel fails ESD check
In the event of panel dead scenario, it is possible to receive a
mode set call before the panel has recovered. When this happens,
display should select watchdog TE as the vsync source.

Similarly when detecting a write pointer timeout, if the panel is
dead then watchdog TE should be or has already been configured and
display should not make a change to this vsync selection.

Change-Id: I732c75e54d734b00889151b914b0749ae1f27d08
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-04 09:59:44 -07:00
qctecmdr
028a432785 Merge "disp: msm: sde: update perf cpu dma latency votes on idle in video mode" 2021-06-04 09:24:46 -07:00
qctecmdr
087fdfd66f Merge "disp: msm: sde: reset retire fence when CWB is disabled" 2021-06-04 02:58:05 -07:00
Jeykumar Sankaran
ba57fd387c disp: msm: add helper to retrieve gpio address mappings
Add helper in util to retrieve IO address mappings for
a given global gpio pin. This will be used by the Trusted
UI framework to secure gpio pins.

Change-Id: If8ad069d724394f0772c9cf7371484a7cdc5bc78
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-06-03 22:57:06 -07:00
Samantha Tran
fcd2aac177 disp: msm: replace iommu_attach/detach with iommu_sid_switch
On 5.10 kernel, iommu_attach/detach_device is replaced with a call
to iommu_sid_switch.

Change-Id: I9cd379fd816a44868d473969c1601c20f9cc6c29
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-03 16:47:40 -07:00
qctecmdr
1b9345b3af Merge "disp: msm: sde: add support for digital dimming" 2021-06-02 17:20:03 -07:00
qctecmdr
5bb6a168b4 Merge "disp: msm: dsi: update transfer time calculation during RSC disable" 2021-06-02 15:18:00 -07:00
qctecmdr
ce2c7ef6f3 Merge "disp: msm: sde: disable RSC solver mode during HFR cases" 2021-06-02 15:18:00 -07:00
qctecmdr
d04a00ec85 Merge "disp: msm: sde: Remove error log for invalid dspp in hist irq" 2021-06-02 08:56:15 -07:00
qctecmdr
78826018f3 Merge "disp: msm: dsi: disable ESD te_signal_check option" 2021-06-01 22:31:17 -07:00
qctecmdr
8bbc6f2698 Merge "disp: msm: sde: flush commit thread queue during pm suspend" 2021-06-01 20:21:34 -07:00
Andhavarapu Karthik
5df7014990 disp: msm: sde: update perf cpu dma latency votes on idle in video mode
In video mode for fps greater than 60, perf cpu dma latency votes
are not removed during idle fallback. Made changes to remove and
add the perf cpu dma latency votes during idle fallback and idle
exit scenarios respectively.

Change-Id: I8dffc743bd48c96a6022935f71057a0223d9696e
Signed-off-by: Andhavarapu Karthik <kartkart@codeaurora.org>
2021-06-01 17:19:16 -07:00
Cong Zhang
3133112917 disp: msm: sde: Rename the hypervisor interface
The hypervisor is renamed to gunyah now. All 'haven' words need change
to 'gunyah' and 'hh' words in hypervisor interface need change to 'gh'.

Change-Id: Ia7ff6d855eb5548540a2f11a781c2555beb23187
Signed-off-by: Cong Zhang <congzhan@codeaurora.org>
2021-05-31 16:55:38 -07:00
qctecmdr
cbf860f8e0 Merge "disp: msm: dp: log the dp mst connector id information" 2021-05-31 14:58:43 -07:00
qctecmdr
ffe21ad278 Merge "disp: msm: sde: fix indexing for frame data" 2021-05-31 08:46:29 -07:00
Abhijit Kulkarni
b4f00361f3 display: msm: optimize driver debug allocations
This change uses kvzalloc to allocate memory for eventlog and register
dumps. This is needed since kernel cannot guarantee that physically
contiguous allocations greater than 32 KB will succeed.
Additionally it reduces the number of entries for evt logs and
register dumps for trusted vm.

Change-Id: I8b76e79d62850904f6445d8b66c882529ba6e9ba
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2021-05-28 14:44:18 -07:00
qctecmdr
3f9b08b09e Merge "disp: msm: dsi: add parsing for RSC solver disable property" 2021-05-28 13:41:24 -07:00
Satya Rama Aditya Pinapala
78ec57538d disp: msm: dsi: enable DCS command ASYNC wait for video mode panels
With the new design of moving clock voting and command engine state
transition to DSI controller APIs, asynchronous wait after a command
transfer can now be supported on video mode panels.

Change-Id: Idec665fc5e9e8dadf20a77f9b1edbb685563eb4d
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-05-27 16:44:35 -07:00
Harigovindan P
98767bf22b disp: msm: clear dma done interrupt status for slave controller
When Broadcast is enabled, DMA_DONE bit gets set for slave
controller on command transfer completion but it is not
getting cleared. Due to this, DMA transfer failures on slave
controller are not getting caught. This patch add supports for
clearing DMA_DONE for slave controller on every successful
transfer. This also prints error if transfer fails on slave
controller.

Change-Id: I61ce7b2d8be323adc70d888b5a2416afd9ae9fac
Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
2021-05-27 16:44:26 -07:00
Satya Rama Aditya Pinapala
aecc86dfb2 disp: msm: dsi: add pre and post DSI command transfer controller APIs
To transfer a command on the DSI lanes, the following programming needs
to happen prior and post a command transfer:
- Vote/Unvote for clocks
- Enable/Disable command engine
- Mask/Unmask overflow and underflow errors.
These operations are done from the display context currently. This can
lead to issues during an ASYNC command wait, where in we queue the
dma_wait_for_done rather than wait in the same display thread.

The following change adds new DSI controller API that does the above
programming from the controller context. This way, post command transfer
operations can only happen once command is successfully transferred and
dma_wait_for_done completes.

Change-Id: I61db0d8a2656dc6e0e56864dbef01283b813d7c6
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-05-27 16:42:04 -07:00
Sankeerth Billakanti
4cfef504ab disp: msm: dp: log the dp mst connector id information
Logging connector id will help debug the issues related to
DP MST stability and pre-merge tests. This change will log
the DP MST connector IDs modified during stability tests.

Change-Id: Ifaf8e319697a809b02c24c473acec8da521286e2
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2021-05-27 17:48:13 -04:00