Wykres commitów

3272 Commity

Autor SHA1 Wiadomość Data
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
qctecmdr
38c0d4cdba Merge "disp: msm: sde: enable uidle on pineapple target" 2022-10-24 12:37:21 -07:00
qctecmdr
f320be5d5e Merge "disp: msm: sde: avoid setting plane qos_dirty during cwb modeset" 2022-10-24 12:37:21 -07:00
qctecmdr
48dc1006fd Merge "disp: msm: sde: improve qsync trigger window accuracy" 2022-10-24 12:37:21 -07:00
Amine Najahi
88a24f8c45 disp: msm: sde: improve qsync trigger window accuracy
Currently, panel jitter and loss of precision are not
compensated when calculating the trigger window size
for a QSYNC panel. These errors can be signigicant on
panels supporting very slow frame rate (10 Hz).

This change improves fixed point calculation and take
into account panel jitter when calculating the minimum
qsync time period.

Change-Id: Ibe620862afbd853580992fccec09cac8307b92bd
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-10-24 07:29:31 -07:00
Amine Najahi
16f59151af disp: msm: sde: override qsync read pointer during 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 overrides the internal read pointer value to
the maximum qsync timeout value on restore and defers frame
trigger to next vsync.

Change-Id: Ibdad3f8eb367136ee0d766bed10742a281e36b4e
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-10-24 07:29:24 -07:00
Veera Sundaram Sankaran
1b1618ed36 disp: msm: sde: avoid setting plane qos_dirty during cwb modeset
The encoder modeset updates all the plane's qos_dirty flag attached
to the crtc to make sure the qos params are updated during seamless
mode-switch cases like fps or resolution switch. But this is not
required for cwb encoder modeset as it does not have any effect on
the planes attached to the main display. Add check to avoid this
reprogramming.

Change-Id: I1ab7a71971b7200a50e6643407327734b1c9cbc5
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-10-24 07:29:15 -07:00
qctecmdr
83cb3d44af Merge "disp: msm: compile pineapple msm with mm-drivers" 2022-10-22 10:49:22 -07:00
Alex Danila
473453a8d9 disp: msm: compile pineapple msm with mm-drivers
Enabled compilation of msm_drm with mm-drivers components.

Change-Id: Id2f15b314748f9a1a9966625cea98fa4b3855e87
Signed-off-by: Alex Danila <quic_eadanila@quicinc.com>
2022-10-21 14:02:12 -04:00
Nilaan Gunabalachandran
6ae388a1c1 disp: msm: sde: enable uidle on pineapple target
Pineapple target adds support for writeback contributing to
fal status. This removes the need to signal fal10 veto in those
usecases. In addition, it is no longer needed to program uidle
active per ctl path.

Change-Id: I5e3509fa6399d212563322d51eba04c38a41e9b8
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-21 12:03:39 -04:00
qctecmdr
9ebbbc157a Merge "disp: config: fix copyright in pineapple header" 2022-10-21 07:53:25 -07:00
qctecmdr
03f6a06942 Merge "disp: msm: sde: enable WB rotation feature for pineapple target" 2022-10-20 12:29:12 -07:00
qctecmdr
f378c8b20e Merge "disp: msm: sde: add line counter logging" 2022-10-20 12:29:12 -07:00
qctecmdr
2d49ae68e6 Merge "disp: msm: sde: cache cwb enc mask to use during seamless transitions" 2022-10-20 12:29:12 -07:00
Nilaan Gunabalachandran
31edda91cf disp: config: fix copyright in pineapple header
This change fixes the copyright in gki_pineappledispconf header
to match lost requirements.

Change-Id: Ic0d7dea7bd943509843c4dbbb403cadbbbb587f6
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-20 13:38:05 -04:00
Prabhanjan Kandula
973fb33096 disp: msm: sde: enable WB rotation feature for pineapple target
This change enables the WB rotation feature support for pineapple target.

Change-Id: Ib222c2b2996a40c72414c6c3a581916b95ebffd6
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:24:18 -07:00
Prabhanjan Kandula
bdfc560f6e disp: msm: sde: extend DNSC validation for wb rotate
Atomic validation checks added for DNSC feature need to
be extended considering WB rotate feature enable.

Change-Id: Iff908da062280418536d00a5fcdeb99939267659
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:24:11 -07:00
Prabhanjan Kandula
c3991049c1 disp: msm: sde: add support for new QoS mode of WB rotation
This change adds support for new dynamic QoS mode for WB rotation
which is required to achieve rotation output available at required
rate to meet real time use case. Though traffic shaper can be
disabled in dynamic QoS mode, part of traffic shaper algo to track
WB operating speed is enabled and WB generates creq priority
based on current ouput rate compared to targetted ouput to help
meeting real time use case requirement.

Change-Id: I98c2dcae53f1b175dc49b40238b9da33e95717a6
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:24:04 -07:00
Prabhanjan Kandula
3128214eac disp: msm: sde: add rotation support with writeback block
MDSS 10.0.0 HW is capable to rotate input image in WB hardware
block. WB hardware can only perform rotation of clockwise 90 degrees
and this can be used to achieve the required 2D rotation by adding
appropriate FLIP transformation to the SSPP. This change adds required
software support in display driver to excericse input image
rotation through WB block.

Change-Id: Ia5c2fc84eabb68f29d130333316527b60d02cbc7
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:23:58 -07:00
Prabhanjan Kandula
f3c2c5e37d disp: msm: sde: add WB rotation output color formats
MDSS 10.0.0 HW supports rotation of input image with
writeback HW but output color formats are restricted to
32 bit uncompressed A5X tile formats. This change exposes
the supported WB output color formats to client for WB
rotation usecase.

Change-Id: Ic52e6ee4ab882b7dad6edd0daa91b593afbcae01
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:23:50 -07:00
Prabhanjan Kandula
4cca89d615 disp: msm: sde: add drm properties required for wb rotation
This change installs required drm properties for writeback
connector to implement rotation with writeback hw in mdss.

Change-Id: I85ed359d06ff4bafee85a4bfa5b8a99774311e60
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
2022-10-19 11:22:49 -07:00
Raviteja Tamatam
22a3c5a842 disp: msm: fix display compilation for 6.0 kernel upgrade
Fix display compilation issues for 6.0 kernel upgrade.

Change-Id: Ied1940e653ceaa1de18a8aedeab01197c235603c
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2022-10-19 11:04:22 -07:00
Linux Build Service Account
c14780557f Merge changes Ibacf0ec3,I7630766d into display-kernel.lnx.1.0
* changes:
  disp: msm: sde: enable second dedicated CWB feature
  disp: msm: sde: add support for IRQs in new CWB Pingpong blocks
2022-10-18 22:36:23 -07:00
Linux Build Service Account
aa5dc72c1d Merge "disp: msm: sde: add changes to support additional dedicated-CWB" into display-kernel.lnx.1.0 2022-10-18 22:36:22 -07:00
qctecmdr
bd2011bab1 Merge "disp: msm: sde: fix typo in trace message" 2022-10-17 19:53:39 -07:00
Narendra Muppalla
666bc432e7 disp: msm: sde: fix typo in trace message
This change fix trace message in sde trace.

Change-Id: I73a873984564f995f84e0c08f9e49164cb67063a
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-10-17 12:02:42 -07:00
Christina Oliveira
cbc6d4a0a0 disp: msm: sde: add support for wait on multiple hw fences
This change adds support to wait on multiple hardware fences by
creating a fence array so each dpu-client only gets signaled until all
the hw fences going to the same ctl-path are signaled. It also
accounts for if a fence is a fence array.

Change-Id: Iba4b1d2b7322aea64dc197ca7655920b79dbb919
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-10-17 12:02:35 -07:00
Amine Najahi
2af644d192 disp: msm: sde: add line counter logging
Add logs to track the read/write line counters
and tear check configuration during key events.

Change-Id: Ife8afecc63a9008a8d9fc746d0ec8579a311b335
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-10-17 12:01:57 -07:00
Veera Sundaram Sankaran
be07875590 disp: msm: fix register offset logging with debugfs register access
The register offsets are decremented instead of incrementing during
the logging of registers through the debugfs option. Fix it to be
incremental to help in debugging.

Change-Id: Iefc98c40143554fa7169ff220793431d774f57ce
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-10-14 02:58:08 -07:00
Veera Sundaram Sankaran
09b2c937c2 disp: msm: sde: cache cwb enc mask to use during seamless transitions
The cwb_enc_mask is set by the wb phys encoder during the validate
phase and this is in-turn used during the commit phase. During
seamless transition cases like poms with cwb, the encoders are
disabled and then enabled back after the validate phase. The cwb
flags are reset during this time leading to issues. Cache the flag
and reapply it during the modeset to avoid this case.

Change-Id: I5df1be18a5e30bb1107dc0f2e87d771a735f1ab6
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-10-14 02:57:55 -07:00
Shamika Joshi
f3525a4051 disp: msm: sde: enable second dedicated CWB feature
Set the boolean property to enable second dedicated
CWB feature on pineapple hardware.

Change-Id: Ibacf0ec327c5d6d803f1fc5211dedb3a591b441a
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-13 20:03:59 -07:00
Shamika Joshi
493362f656 disp: msm: sde: add support for IRQs in new CWB Pingpong blocks
For second dedicated CWB pingpong blocks, the overflow irq needs
to be mapped properly to existing IRQ handlers.

Change-Id: I7630766d1865f7ad7079947185ef4ae629d71f3e
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-13 20:03:26 -07:00
Shamika Joshi
b9553cf5f3 disp: msm: sde: add changes to support additional dedicated-CWB
Update the hardware blocks and corresponding APIs
to configure new D-CWB data path. Add new hardware
pingpong blocks that are dedicated for second DCWB.

Change-Id: I529c24ac5aa483f30b6c9e7653eb1713c6b8fb8a
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-13 20:02:57 -07:00
Alex Danila
5fce708923 disp: msm: sde: pineapple display compilation
This change enables display-drivers compilation for pineapple
target.

Change-Id: Iae1f8b1cafeae111ff197065928e20e100f2e6ac
Signed-off-by: Alex Danila <quic_eadanila@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-11 09:42:46 -07:00
qctecmdr
eb15d0d825 Merge "disp: msm: sde: enable dsc full ICH error precision" 2022-10-10 13:49:32 -07:00
qctecmdr
d92a44d525 Merge "disp: msm: sde: enable 32bit intf te registers" 2022-10-10 13:49:32 -07:00
Nilaan Gunabalachandran
8da662ebee disp: msm: sde: add break to switch case logic
This change adds a missing break in the switch-case logic.

Change-Id: I6eb1eb9c2532187803c956e590eb5353f3fc9c3d
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 12:03:55 -07:00
Nilaan Gunabalachandran
719e3a8e1d disp: msm: sde: upstream memblock_free API returns void
The memblock_free API has been updated to return void. This
change removes the check on return and passes the pointer
address in correctly.

Change-Id: I8b60c8d3c5e3e8c2f94e33015c2c03686a556807
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:50:33 -07:00
Nilaan Gunabalachandran
a0f3537872 disp: msm: sde: include file.h
This change adds includes for <linux/file.h> required for the
display driver in kernel 5.19.

Change-Id: Ibe5401997b43844b692869ebb6d28faa7bcb7740
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:21:55 -07:00
GG Hou
61359169c5 disp: msm: sde: implement format_mod_supported API
This change implements the drm_plane_funcs API format_mod_supported
necessary to correctly check if format modifiers are supported.

Change-Id: I39a26f7b053c44ef7577401d88e7cf6934c198f8
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:21:30 -07:00
GG Hou
61cc323db6 disp: msm: avoid the usage of dropped DMA APIs
This change adds downstream implementations of DMA APIs
that have been dropped in the upstream kernel.

Dropped APIs:
dma_resv_get_excl_unlocked
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-25-christian.koenig@amd.com

drm_atomic_set_fence_for_plane
Link: https://patchwork.freedesktop.org/patch/msgid/20220429134230.24334-1-christian.koenig@amd.com

Change-Id: Ic6a8f5e80ca671cda9c75b94a638f185717f4342
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:20:40 -07:00
GG Hou
45b0891612 disp: msm: sde: replace the allow_fb_modifiers variable
The allow_fb_modifiers variable has been replaced by
fb_modifiers_not_supported. This value is disabled by default
so no additional initialization is necessary.

Link: https://patchwork.freedesktop.org/patch/msgid/20220128060836.11216-2-etom@igel.co.jp

Change-Id: Id738be53ce1133232f525b75ec0b678ce777eff7
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:20:12 -07:00
GG Hou
16839d2e8a disp: msm: include delay.h for udelay and usleep_range
This change includes linux/delay.h to import the udelay and
usleep_range APIs.

Change-Id: I6ed406cb0f83aebf682420a53b44da72d7ec0456
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:18:35 -07:00
GG Hou
398572ab21 disp: msm: rename dma-buf-map to iosys-map
The dma-buf-map struct has been renamed to iosys-map.
This change updates the usage of the struct and APIs in
the display driver.

Link: https://patchwork.freedesktop.org/patch/472236/

Change-Id: I5b48424dd5f8c60a28958a036ee2859963b059d2
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:07:55 -07:00
GG Hou
11f0929a72 disp: msm: dp: update include file path for upstream headers
This change updates the include file path for necessary dp
and dsc headers that have moved in upstream kernel.

File path changed in upstream:
include/drm/display/drm_dp_aux_bus.h
include/drm/display/drm_dp_dual_mode_helper.h
include/drm/display/drm_dp.h
include/drm/display/drm_dp_helper.h
include/drm/display/drm_dp_mst_helper.h
include/drm/display/drm_dsc.h
include/drm/display/drm_dsc_helper.h
include/drm/display/drm_hdcp.h
include/drm/display/drm_hdcp_helper.h
include/drm/display/drm_hdmi_helper.h
include/drm/display/drm_scdc.h
include/drm/display/drm_scdc_helper.h

Change-Id: Icb9a227c7464061f68fe60cbda6d93858fa768c5
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:06:29 -07:00
GG Hou
5624dc5b2e disp: msm: import DMA_BUF module symbols
This change imports the necessary DMA_BUF symbols from the module
as they are now contained within the module namespace.

Link: https://patchwork.kernel.org/project/dri-devel/patch/YU8oVDFoeD5YYeDT@kroah.com/#24477195

Change-Id: I18a0a812567425d55fedbab67f7a42d3f54351ca
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-10 11:05:05 -07:00
Nilaan Gunabalachandran
c348513806 disp: msm: sde: enable dsc full ICH error precision
This feature enables using all available bits when ICH
error calculations are made. This improves precision and
image quality when there are more than 8 bits per component.

Change-Id: I851f05418283d0e731332d4069e3b6e57487b9a3
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-10-06 13:51:52 -07:00