Граф коммитов

1843 Коммитов

Автор SHA1 Сообщение Дата
Veera Sundaram Sankaran
2e3ba9430c disp: msm: expose qsync avr step as part of conn mode caps
Add capability to read avr step for each timing mode. This will
be in addition to the existing avr-step-list which is defined
when dfps is enabled. Expose the avr-step as part of each
mode in connector caps to user-mode.
Additionally, change the avr_step connector property to enum
to give usermode just the capability to enable/disable avr-step
and not alter the step value as its fixed from the device tree.

Change-Id: I6d7f8e9fcf03f98abef7640fc741e5e1be8597a1
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-02-09 11:10:08 -08:00
Anjaneya Prasad Musunuri
95e583e413 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>
2023-02-07 22:38:29 -08:00
Amine Najahi
2d90a7d4a2 disp: msm: sde: add support for qsync simulated panel logic
Currently, QSYNC sim panels are not fully emulating panel
side logic to allow different refresh rate depending on when
the frame is received by the panel.

This change adds the logic to reconfigure the TE watchdog at
different frame rate depending on when the frame is sent to the
simulated QSYNC panel.

Change-Id: I3f0de73976a0fc5748a76c4f7ab00205d1af9a1b
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2023-02-06 06:15:05 -08:00
qctecmdr
40cd1686f1 Merge "disp: msm: sde: add qtimer read after input hw-fence signal config" 2023-02-04 07:51:36 -08:00
qctecmdr
9e9098cecd Merge "disp: msm: sde: move vblank signaling to event thread" 2023-02-03 10:48:58 -08:00
qctecmdr
2a1004b07a Merge "disp: msm: sde: halt vbif axi ports on power-collapse" 2023-02-03 10:48:58 -08:00
Alisha Thapaliya
6567abf76c disp: msm: sde: set force dirty for UCSC range/enum msm properties
Install volatile enum and range properties for UCSC IGC, GC, UNMULT
and ALPHA_DITHER. This will mark the force dirty property data as
true, and will avoid caching in driver by always applying the
property values set by userspace, rather than checking for modified
values.

Change-Id: Ib8132165fb58ddc829bf8610657e302e0798d72f
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2023-01-31 10:36:50 -08:00
Ingrid Gallardo
59ef056475 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-30 08:46:01 -08:00
Ingrid Gallardo
73069640f8 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-30 08:45:50 -08:00
qctecmdr
76cbb717c4 Merge "disp: msm: dsi: optimize wait time in DSI timing DB update" 2023-01-29 22:32:24 -08:00
Veera Sundaram Sankaran
da0cb4e08b disp: msm: sde: halt vbif axi ports on power-collapse
Force vbif axi halt on all the power-collapse with/without RSC.
This will keep the logic simple for all targets.

Change-Id: I5a4956cbc1f5875d923d5cf818016fba7ed2c8f7
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-01-27 14:32:47 -08:00
Veera Sundaram Sankaran
24b4c7cb64 disp: msm: sde: move vblank signaling to event thread
When precise vsync timestamp feature is enabled, move the vblank
signaling from interrupt context to event thread. This helps in
freeing up the interrupt context soon. The precise vsync timestamp
feature along with DRM hooks to get the vblank timestamp will get
the correct timestamp though the event thread is scheduled later.

Change-Id: I77002913f222ff422b6118f9fc952533065c07aa
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-01-27 14:32:30 -08:00
qctecmdr
76f59dbdd1 Merge "disp: msm: sde: enable EPT feature for pineapple target" 2023-01-27 08:45:48 -08:00
Veera Sundaram Sankaran
7e367f0135 disp: msm: sde: enable EPT feature for pineapple target
Enable the Expected Present Time feature in sde catalog
for pineapple target.

Change-Id: I12a6abb00e8792564fad390be1d49e3217f88517
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-01-26 10:25:04 -08:00
Shirisha Kollapuram
0a0dbc1220 disp: msm: sde: delay frame trigger to match with the EPT
Time the flush bit setting to match with the expected frame
rate. To achieve this, introduce a new connector property called
“Expected_Present_Time”. User space will set it based on the
intended content fps and AVR step, relative to the last retire
fence timestamp as calculated by user space. Delay the frame
trigger to match with the EPT.

Change-Id: I0b86caaa53ee2e37671167acdffd22ec62b4e9ae
Signed-off-by: Shirisha Kollapuram <quic_kshirish@quicinc.com>
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-01-26 10:25:04 -08:00
Veera Sundaram Sankaran
55e80bfcf7 disp: msm: sde: change INTF TE sync height based on 32-bit support
Modify the default INTF TE sync threshold config in cmd-mode to
32-bit max based on the INTF TE 32-bit support.

Change-Id: I963ffa8ae37bce0e85deb335609857c17e32d6b0
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2023-01-26 10:24:17 -08:00
Amine Najahi
386e77f95f disp: msm: sde: restore qsync read pointer after IPC
Currently, when there is an idle power collapse HW resets
the internal read pointer value to 0. This causes the
trigger window to be out of sync when power is restored
until the next vsync is received.

This change reads the panel read pointer and overrrides
the internal register to allow a frame to be picked up in
the current vsync cycle, but defers it to next vsync if it
comes later than the safe trigger window.

Change-Id: I741a91edcddc105eda34d875e8e1c32933b83d71
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2023-01-25 13:35:18 -08:00
Amine Najahi
d4a444a3d1 disp: msm: dsi: add DCS get scan line command
Add DCS command to read the panel scan line value and associated
time stamp in nano-seconds.

Change-Id: I06a76d3a6c5ad7a2e7681413c741e5b97b34d73f
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2023-01-25 13:35:12 -08:00
qctecmdr
d3d044ec00 Merge "disp: msm: sde: increase display kickoff timeout for hw-fences" 2023-01-24 17:12:52 -08:00
Christina Oliveira
bb846fab11 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-24 14:52:23 -08:00
Ingrid Gallardo
b8ae2f789b disp: msm: sde: move hw-fence init error messages to debug
Current driver prints error messages when it fails
registration for the display clients with the hw-fence
driver, however, this is not an error as currently
feature is disabled by default in hw-fence driver,
which as result will fail registration for clients.
Therefore, silent the error messages for a failed
registration.

Change-Id: I13b872db3452a57a885c73cc8f1cf512be986dd0
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2023-01-24 10:44:23 -08:00
qctecmdr
6ecd45a1dc Merge "disp: msm: sde: fix vrefresh timing calculation for dual-dsi video mode panel" 2023-01-24 07:25:21 -08:00
qctecmdr
bd05d05fc2 Merge "disp: msm: sde: handle rc feature disable for all instances" 2023-01-24 07:25:20 -08:00
qctecmdr
844dd9dc57 Merge "disp: msm: sde: add support for dynamic encoder IRQs" 2023-01-24 02:05:12 -08:00
qctecmdr
33582abb6a Merge "disp: msm: sde: add memory barrier to avoid out of order writes" 2023-01-24 02:05:12 -08:00
Saurabh Yadav
1760fdbcd8 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-23 09:56:02 -08:00
Shamika Joshi
495a6a8731 disp: msm: dsi: optimize wait time in DSI timing DB update
Timing DB needs to be disabled after panel vnsyc.
Update the wait time to reflect difference in line time
between MDP and panel vsync.

Change-Id: Ib5282d67995e8379ead928218f31a8f9fe7fa978
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2023-01-18 13:11:13 -08:00
Amine Najahi
69e8a76687 disp: msm: sde: fix vrefresh timing calculation for dual-dsi video mode panel
Currently when calculating interface timing value, driver uses
drm_mode_vrefresh API which uses the mode clock and mode timing
values to determine the vertical refresh rate.

On a dual-DSI panel, the mode clock is calculated based on the full
display width which causes the interface vrefresh value to be 2x
greater than what it is supposed to be.

This change uses the cached_mode value, which has the correct
interface based mode clock.

Change-Id: I51bccf4962ec802b37e1ee9a463bfc08f162e5d6
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2023-01-13 14:06:21 -05:00
Alisha Thapaliya
e51f5be9ac disp: msm: sde: Remove debug log
Remove debug info log and extra braces
from UCSC code.

Change-Id: I3dcd01aaebdeda81c08d3724e65f13ee7959ef5c
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2023-01-12 11:27:36 -08:00
Nilaan Gunabalachandran
cd93fed7d1 disp: msm: sde: add support for dynamic encoder IRQs
This change adds support for dynamically enabling and disabling
additional physical encoder IRQs.

Change-Id: I500fa69d1b8b8df39fd608391c906257efdea63b
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2023-01-11 15:26:59 -05:00
Yuchao Ma
8ca694849a disp: msm: sde: Correcting the string name of UCSC in the register dump
Correcting the string name of UCSC in the register dump.

Change-Id: I2c8976d6d9bf4804ed6454b848c4a3b326b56f54
Signed-off-by: Yuchao Ma <quic_yuchaom@quicinc.com>
2023-01-06 10:26:56 +08:00
Anjaneya Prasad Musunuri
e56fac8872 disp: msm: sde: add memory barrier to avoid out of order writes
add memory barrier before and after last command to avoid
out of order packet queuing to lut dma packet queue.

add memory barrier after ctrl flush to ensure lut dma
trigger, dspp flush and ctrl flush all are written to dpu
before control start.

Change-Id: I7e1613034af8407d55529cf3f95c70994334af82
Signed-off-by: Anjaneya Prasad Musunuri <quic_aprasad@quicinc.com>
2023-01-05 15:35:34 +05:30
qctecmdr
d0722e526a Merge "msm: sde: update dnsc mux programming for second dcwb" 2022-12-21 23:51:54 -08:00
qctecmdr
a1f493aa7a Merge "disp: msm: sde: add input fence dump upon commit done timeout" 2022-12-21 15:58:46 -08:00
Prabhanjan Kandula
f0b6f5d927 msm: sde: update dnsc mux programming for second dcwb
MDSS 10.0 supports additional dedicated cwb pingpong pair.
This change updates downscaler block mux programming to
support when second dcwb pinpong pair is in use.

Change-Id: I1d5bdb557132c56874b13d06b9fe1aafeaadb36a
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-12-21 13:56:12 -08:00
Ingrid Gallardo
dfc0ea0a08 disp: msm: sde: fix dpu registers to use fence protocol id
Current dpu hw settings do not match the protocol id with
the ipcc hw protocol id for the fencing protocol.
This change adjusts the programming of the dpu configuration
register to properly select and use the fencing protocol.

Change-Id: I253c15856b8b3baaa3780681d953c2e79a30d686
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-12-21 11:50:46 -08:00
Christina Oliveira
87bee41901 disp: msm: sde: add input fence dump upon commit done timeout
This change adds debug changes to dump the input fences during a
commit done timeout, when input hw-fences are enabled.

Change-Id: Ia778d3d73ab8ee795613587da70ef9bebb7c73ca
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-12-21 11:08:10 -08:00
Sabarinath M B
de5924f5f5 disp: msm: sde: Set dirty bits for UCSC properties
Map UCSC plane properties to dirty bits to perform operations
correctly.

Change-Id: I6903b62846b8b535477aeca21a6c6e910dd4f6ad
Signed-off-by: Sabarinath M B <quic_sabamb@quicinc.com>
2022-12-14 23:11:59 +05:30
qctecmdr
8b04fe96d1 Merge "disp: msm: sde: SID programming update for new MDSS" 2022-12-12 13:39:02 -08:00
qctecmdr
dc067912db Merge "disp: msm: sde: enable tui flag in catalog for pineapple" 2022-12-12 13:39:02 -08:00
qctecmdr
2fa09612cd Merge "disp: msm: sde: add support for stale llcc APIs" 2022-12-12 09:03:38 -08:00
qctecmdr
59dda9d73f Merge "drm: msm: sde: cache plane csc in sde plane state" 2022-12-08 15:32:51 -08:00
Lakshmi Narayana Kalavala
d3733ff4ae display: msm: sde: Remove the redundant log
Remove the redundant log from the ucsc code.

Change-Id: Ic3e828706248e79f9aa949e2f0875cb41ad291aa
Signed-off-by: Lakshmi Narayana Kalavala <quic_lkalaval@quicinc.com>
2022-12-08 10:48:59 -08:00
Rajkumar Subbiah
6d5a850504 disp: msm: dsi: add support for phy/pll bypass
This change adds support for bypassing hw access in DSI PHY/PLL
drivers which enables the DSI driver to run on emulation
platforms that might be missing those modules.

Change-Id: I3e83155a79d60f2357606746214d776cefabd651
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
Signed-off-by: Alex Danila <quic_eadanila@quicinc.com>
2022-12-06 07:25:12 -08:00
Christopher Braga
8f1d4ca416 disp: msm: sde: Update LUT DMA reg dump ranges and offsets
Update the LUT DMA register range registration to target
specific ranges of valid registers instead of the full
memory region of the LUT DMA module. This ensures that
unused LUT DMA register regions are not dumped.

Change-Id: I3739692ae7fcfd5777bb8774dd34c16ab87c3ae1
Signed-off-by: Christopher Braga <quic_cbraga@quicinc.com>
2022-12-02 13:05:55 -05:00
Nilaan Gunabalachandran
a6dca718e5 disp: msm: sde: add support for stale llcc APIs
This change adds support for enabling the system cache
slices with staling. This allows back to back static display
cache usecases to self evict prior to using cache.

Change-Id: Iea71da26a8f7a450822624305dc20a3bab323d4b
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-12-01 15:19:08 -05:00
Gopikrishnaiah Anand
7780b7a8c2 drm: msm: sde: cache plane csc in sde plane state
Pipe csc configuration is being cached in the sde plane which can cause
race conditions between hardware programming and caching.
All drm properties should be cached in sde plane state to avoid race
conditions. Change moves caching to sde plane state.

Change-Id: I22470a82b2fc2812f8c526ababc2b517db13a3ce
Signed-off-by: Gopikrishnaiah Anand <quic_agopik@quicinc.com>
2022-11-29 15:27:08 -08:00
Prabhanjan Kandula
7329e09b69 disp: msm: sde: fix split control programming
This change avoid programming of legacy bit fields which
are conflicting with TE alignment feature bit fields
of split control register of peripheral top block.

Change-Id: Ib9f519ec82ee3b3885351dff960b176c99dcf08d
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-11-28 14:09:28 -08:00
qctecmdr
7d464a818c Merge "disp: msm: sde: fix 3dmux bookkeeping during resource info check" 2022-11-23 21:27:07 -08:00
Sandeep Gangadharaiah
52a0b8ab86 disp: msm: sde: fix 3dmux bookkeeping during resource info check
Currently, num of 3dmux used is incremented or decremented based
on LM allotment. This was leading to wrong bookkeeping in few
corner cases. This change maintains a 3d mux mask to track the
usage and update the count accordingly.

Change-Id: Idf25eff827462f3f0263d01a1aa733a1cbaf0a83
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-11-23 09:19:29 -08:00