Commit Graph

3321 Commits

Author SHA1 Message Date
Srihitha Tangudu
6fb25a2f3d disp: msm: dsi: Correct minimum bit clk calculation for cphy cmd mode
For calculating bit rate in cphy, we multiply bit rate by a factor of
7/16 where 7 is the number of symbols and 16 is the bits per symbol.
But we are currently not considering the 7/16 factor while calculating
minimum bit clk value for command mode which is resulting in a smaller
bit rate value than the minimum bit clk.

Bit rate should always be greater than the minimum bit clk which otherwise
can lead to discrepancies. Correct minimum bit clk calculation for command
mode, by multiplying a factor of 7/16 if cphy.

Change-Id: I39b202dcafe60e2047549f84ff9388b46ae490a5
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-11-23 09:19:03 -08:00
qctecmdr
b3b8331cdb Merge "disp: msm: dp: include HDCP files under HDCP compile flag" 2022-11-21 13:11:36 -08:00
qctecmdr
fa25880845 Merge "disp: msm: sde: add decimate support for decimatev2" 2022-11-17 11:00:33 -08:00
Alisha Thapaliya
96703ff6e7 disp: msm: sde: add decimate support for decimatev2
Divide panel width additionally by half when decimate
is enabled.

Change-Id: I043ad8b02dddd396c74b70b9a834eac68ee881a8
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2022-11-15 10:18:48 -08:00
Prabhanjan Kandula
f518796f9e disp: msm: sde: add danger safe QoS LUT support for WB rotate
This change adds support for updating danger, safe and creq LUT
configuration for WB rotation use case.

Change-Id: I01784be4ea4ac5b027258df2907f3ba745a05850
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-11-15 02:11:24 -08:00
Mitika Dodiya
c9298e3712 disp: msm: sde: add demura v2 support
Add support for demura v2 by adding demura blocks
2 and 3 for pineapple target.

Change-Id: I9e6107480ab44853ca49e6396787378c5c70557a
Signed-off-by: Mitika Dodiya <quic_mdodiya@quicinc.com>
2022-11-14 22:18:38 -08:00
Prabhanjan Kandula
3e0575903c disp: msm: sde: add VBIF QoS remap settings for WB rotate
This change adds support for the device tree entry parsing and
programming of VBIF Qos remap settings in WB rotate use case.

Change-Id: I729abc3562b70bf85217130aebeeeabc2fca04da
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-11-14 18:55:23 -08:00
Nisarg Bhavsar
571d51727b disp: msm: dp: issue peripheral flush on every DP commit
As per DP HPG recommendation, controller flush mode is
set to be synchronous with a vsync. This requires a
peripheral flush to be issued for HDR SDP to be processed.
Currently in a static HDR use case, since the peripheral
flush is not issued after queueing an HDR SDP, it never
gets sent to the sink and it stays in SDR mode. This change
issues a peripheral flush on every DP commit, so that
any pending SDPs are flushed.

Change-Id: I0ed82b6cd8df33539a3067c6ad9827f74de2ed51
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-11-13 15:25:37 -08:00
qctecmdr
f08f714919 Merge "disp: msm: dp: fix bpp to 24 in TU calc for SST DSC" 2022-11-13 09:31:20 -08:00
Rajkumar Subbiah
2238b58cf0 disp: msm: dp: fix bpp to 24 in TU calc for SST DSC
When using the TU calculator for SST DSC usecase, the calculator
expects the bpp to be 24 irrespective of the actual panel bpp.

Change-Id: Ifdab2c00a2a99b4d7d7dea7eadb33bc34e3cfa8b
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2022-11-13 02:53:19 -08:00
Rajkumar Subbiah
dd369b2bdb disp: msm: dp: use compressed bpp for RG calculation
When calculating the Rate Governor parameters for MST, if the
stream is compressed, the calculator expects the input bpp to be
the compressed bpp, but currently the driver is passing uncompressed
bpp. This change updates the driver to pass compressed bpp to the
calculator.

Change-Id: Iac51d75843bd0072bbe07142ac4533d841f795f5
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2022-11-13 02:53:07 -08:00
qctecmdr
fb5ecba0af Merge "disp: msm: sde: add events to input and output hw-fences" 2022-11-13 01:12:23 -08:00
qctecmdr
5d9937069a Merge "disp: msm: sde: remove unnecessary debug message" 2022-11-13 01:12:23 -08:00
qctecmdr
69a4938d5d Merge "disp: config: add pineapple TUI configuration files" 2022-11-13 01:12:23 -08:00
Ingrid Gallardo
7427045102 disp: msm: sde: add events to input and output hw-fences
Add extra display driver debug events for input and output
hw-fences.

Change-Id: I32be1d25d98c510ebba5d39f8aff2a0c54144ba1
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-11-11 07:15:05 -08:00
Ingrid Gallardo
188cfbc717 disp: msm: sde: fix to avoid creating hw-fences for empty spec fences
Current display driver sets the hw-fences as valid even when
the speculative fence is empty. Avoid this issue by doing a
positive check and only create hw-fences if all the fences in
the speculative fence are valid.

Change-Id: Iec9636641ac9146eb651be08615e2478994c2508
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-11-11 07:14:55 -08:00
Ingrid Gallardo
d57732d554 disp: msm: sde: remove unnecessary debug message
Move print message from error to debug for a failure that is not fatal
but can be expected when a crtc doesn't have a hw ctl, in this case
driver will handle the output fence as a sw-fence.

Change-Id: I908135dce4336b0c9ec3fa388dc9211c6df97f68
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-11-11 07:14:48 -08:00
Sandeep Gangadharaiah
22fec71006 disp: msm: dp: include HDCP files under HDCP compile flag
Files used for HDCP ops in the driver are not included
under compile flag for HDCP. This change includes
these files under this condition which will enable DP
driver to be built even with HDCP disabled.

Change-Id: Iff3d9468d007da4342011b8e0e52f3f995425a0b
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-11-09 15:07:35 -08:00
Nilaan Gunabalachandran
275c881ae4 disp: msm: fix printk argument errors
This change fixes printk arguments in display driver which is
found with additional compilation flags and adds the compile
flags too.

Change-Id: Ic653591db49b49b9ce1ce04e7df89216772d0e71
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-11-09 11:13:04 -08:00
qctecmdr
58285a9dd0 Merge "drm: msm: sde: Add support for SPR V2" 2022-11-09 07:29:49 -08:00
Raviteja Tamatam
4f8c2cf667 disp: msm: sde: fix wrong message arguments in sde
Fix debug message arguments in sde which are found with
-Wformat-extra-args and -Wstrict-prototypes compilation
flag and add compile flags to msm compilation.

Change-Id: Ic7f30e0cab3ea16b7f2a34658262b6f51da259e9
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-11-07 15:58:12 -05:00
Christopher Braga
d617e25729 drm: msm: sde: Add support for SPR V2
Introduce support for SPR V2 features. Full validation
has been performed.

Change-Id: Ia83c06b30729fef12cae014ee5ce4792236a0a8a
Signed-off-by: Christopher Braga <quic_cbraga@quicinc.com>
2022-11-07 15:54:04 -05:00
Raviteja Tamatam
a2d05648c2 disp: msm: sde: fix error message in sde_crtc_opr_event_notify
Fix error message arguments in sde_crtc_opr_event_notify
function.

Change-Id: Ibfb4b4a298bc9ec8128061a103ce6500ec1cce29
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2022-11-07 10:39:19 -08:00
qctecmdr
f62878f3ab Merge "disp: msm: dp: Add abstract and wcd939x aux switch support" 2022-11-03 19:18:25 -07:00
qctecmdr
8a9455aa23 Merge "disp: msm: sde: use panel dimension on full frame RC ROI" 2022-11-02 02:17:05 -07:00
qctecmdr
940ff2a8a7 Merge "disp: msm: sde: fix to avoid creating output hw-fence for CWB" 2022-11-02 02:17:05 -07:00
Nisarg Bhavsar
4a2e5b3fe1 disp: msm: dp: Add abstract and wcd939x aux switch support
Add functionality to change which aux switch is used
at compile time for different targets. Add wcd939x
switch support.

Change-Id: Iced3b11733009680063790dfa8f180b19002f963
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-11-01 19:15:01 -07:00
Raviteja Tamatam
7a1d4a2ec8 disp: config: add pineapple TUI configuration files
Add pineapple TUI build configuration files.

Change-Id: I920a247ee191efc7fae2e74b31a773b6110e6c36
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2022-11-01 14:18:04 -07:00
Amine Najahi
de2108f9b5 disp: msm: sde: use panel dimension on full frame RC ROI
Currently, RC is using displayh and displayv variables
which are pointing to the LM dimension on a full frame
setting. If DS is enable and HW RC was not disabled the
the full frame ROI will not match the panel resolution
and cause an invalid hardware configuration.

This change uses the height and width values coming
from the mode information when a full frame ROI is
detected.

Change-Id: I274d15cbca61076ea7e95a984f907201e97b76ec
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-11-01 05:28:11 -07:00
Ingrid Gallardo
e778c5e3a6 disp: msm: sde: fix to avoid creating output hw-fence for CWB
Current code creates an output hw fence for any virtual
connector with a retire fence attached. This is a problem
for CWB, where the output-fence should be handled as a
sw-fence as current hw can only support a single hw-fence
per ctl path.
Fix this issue by adding a check to only create a retire
output hw-fence for virtual connectors that are not CWB.

Change-Id: I5863282d24ef8940b1f45c1fbd7584f91d28f0b8
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
2022-11-01 05:27:51 -07:00
Andrew Bartfeld
5dcee7c010 disp: msm: dp: avoid releasing vcpi for active crtc
In MST atomic check function, add a check to ensure it's a disable call
before releasing vcpi slots to ensure atomic_release_vcpi_slots() and
atomic_find_vcpi_slots() are never called in the same atomic check
as mentioned in the kernel docs.

Change-Id: I36cf689b4d3bf9d2469a6c402b6377a667f01c12
Signed-off-by: Andrew Bartfeld <quic_abartfel@quicinc.com>
2022-11-01 05:27:16 -07:00
qctecmdr
1c465e0434 Merge "disp: msm: dsi: clear the panel esd_recovery_pending in power on commit" 2022-10-31 20:56:57 -07:00
qctecmdr
ba03a764fe Merge "disp: msm: dp: enable aux switch from display HPD handler" 2022-10-31 20:56:56 -07:00
Srihitha Tangudu
219652f3a8 disp: msm: dsi: clear the panel esd_recovery_pending in power on commit
Currently the panel esd_recovery_pending flag is cleared for every mode
set. The ESD recovery completes only after the suspend and resume. Clear
the flag only during power on commit.

Change-Id: I97e370feba0aad34558e4675168b4bcb7f5901ca
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-10-30 23:37:36 -07:00
Sandeep Gangadharaiah
c76df5605c disp: msm: dp: enable aux switch from display HPD handler
Currently, aux switch is enabled by usbpd handler before
handing over the control to dispaly HPD handler. However,
in some scenarios there is a chance that altmode would
directly call into display HPD handler bypassing the usbpd
handler. This would lead to aux errors since aux switch
is not enabled. This change will enable aux switch in
display HPD handler which would avoid the resulting aux
errors. This issue is a regression caused by this change
b6466ca7f597396cd2ecb3623d059435dfb0e4c6.

Change-Id: I425991ba95b22411740f88cba5ca2083d13969e1
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-10-29 16:23:35 -07:00
Amine Najahi
5b1d909312 disp: msm: sde: disable RC in case of configuration mismatch
Currently when there is a modeset and usermode does not disable
or reprogram the RC mask, driver will compute an invalid configuration.

This change checks the RC mask with panel resolution and disables
RC HW internally if there is a mismatch.

Change-Id: I0e6afcf38cfc9165a6c0d2c12bfbc7b2b5f2ce65
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-10-29 16:23:28 -07:00
qctecmdr
abdb501164 Merge "disp: msm: sde: pass sde_enc to sde_encoder_control_te" 2022-10-28 18:12:44 -07:00
qctecmdr
562083b5a2 Merge "disp: msm: sde: include drm_edid.h" 2022-10-28 13:03:46 -07:00
Nilaan Gunabalachandran
4f6e8ea41b disp: msm: sde: include drm_edid.h
This change adds the include for <drm/drm_edid.h> required
for the display driver in kernel 6.0.

Change-Id: Ie4c765900a1ae13e1fbb56e458109b725b36748d
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-28 12:40:27 -04:00
qctecmdr
086d6e622a Merge "msm: drm: sde: Add support for UCSC via AHB programming" 2022-10-28 08:05:48 -07:00
qctecmdr
354c9c0b46 Merge "disp: msm: dp: Convert clock operations to byte2 ops" 2022-10-28 08:05:48 -07:00
qctecmdr
dd39b5f3d1 Merge "display: msm: sde: add offsets per ctl for lut dma" 2022-10-27 19:50:51 -07:00
qctecmdr
7301c101d0 Merge "disp: msm: dsi: add ctrl version support for pineapple" 2022-10-27 19:50:50 -07:00
Sandeep Gangadharaiah
e4e277ad36 disp: msm: dp: Convert clock operations to byte2 ops
Convert clock operation to byte2 ops to meet DISPCC requirement.
Clock unit is changed from KHZ to HZ. Added link clock parent as
freq table is no longer supported in byte2 ops.

Change-Id: Icf5a595708040e8afefecebe7f371bb832d6673e
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-10-27 15:39:14 -07:00
qctecmdr
4522999001 Merge "disp: msm: sde: add support for 45deg dir & corner detection" 2022-10-27 14:20:17 -07:00
Shamika Joshi
33dcc003f6 disp: msm: sde: add support for 45deg dir & corner detection
Pineapple target adds support for 45deg Directional & Corner
Detection features for Qseed6. This change adds support for
enabling these features through ahb & lutdma programming,
and updates the UAPI as well.

Change-Id: I7910d840cc4e5d1a7ce9444a41e189171487dbca
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-26 14:44:05 -07:00
GG Hou
19a9abf064 disp: msm: dp: update MST first link slot information
update MST first link slot information as upsteam interface

Link: https://patchwork.freedesktop.org/patch/msgid/20211025223825.301703-3-lyude@redhat.com

Change-Id: I871504942d596ee742e5481be9c8b6cf0f50e8ac
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-26 14:11:37 -04:00
Nilaan Gunabalachandran
db39fcc5bc Revert "disp: msm: compile pineapple msm with mm-drivers"
This reverts commit 473453a8d9.
This change decouples mm driver and display driver until mm
driver compilation is enabled.

Change-Id: I1b462d059b26242b6b77b0bc6ad990d7dabcb0ac
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-26 12:16:08 -04:00
Shamika Joshi
4cc3c88474 disp: msm: sde: pass sde_enc to sde_encoder_control_te
Pass sde_enc to sde_encoder_control_te instead of drm_enc,
as all callers have access to sde_enc.

Change-Id: Ic61b78c9e8d1ab2ed6e371c19a72367efbb6e5ee
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-25 21:06:48 -07:00
Shamika Joshi
f28d9e0a6a disp: msm: sde: add support for INTF WD long term jitter restore from ipc
Change adds support for storing the INTF watchdog timer long term jitter
curve state. The state before collapse is stored in wd_jitter and
restore back during power restore.

Change-Id: Id83b5cc754daea89d7844ab67b38e12199525ff8
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-25 21:06:39 -07:00