Commit Graph

3192 Commits

Author SHA1 Message Date
Sandeep Gangadharaiah
522177a45c disp: msm: dp: avoid return value check for certain debugfs functions
Adapt 5.15 kernel upstream change to return void for
debugfs_create_bool.

Change-Id: I0cdb4c65ff6e476c7592b2a61e43c40cd757ab7a
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-01-20 13:06:26 -05:00
Sandeep Gangadharaiah
c334c818dd disp: msm: dp: remove unused header declaration
Certain pll variables and function signatures are
obsolete and hence removing the header file
declaration containing these.

Change-Id: I93d4ff096ff253f21d67660287d6d3baa857cca1
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-01-20 13:05:50 -05:00
Nilaan Gunabalachandran
137938ab7e disp: msm: sde: update framedata event handling
This change updates framedata event and ubwc stats API to
align with userspace handling and expectations.

This change adds the empty irq event handler required to register
the frame data event.

This change also adds handling to the crtc event notify to provide
the payload pointer directly, required for the buffer object,
ensuring pointers are not mismatched while sending drm events.

This change also updates the ubwc roi plane property to process the
uapi defined roi.

Change-Id: I209f2b7418a0ec33aa0488119eb3fdb8ae94e8ba
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-01-20 09:46:22 -05:00
Srihitha Tangudu
25beb2fccc disp: msm: dsi: Add new phy comaptible string for cape
Cape uses phy version 4.3 but requires programming of
different values for vreg_ctrl_0 and vreg_ctrl_1 to
configure LDO setting. Add new phy compatible string
to distinguish cape from other chipsets and program
the registers accordingly.

Change-Id: I68b266cc6e179d211ee0fd05584a605f39b4d31d
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-01-20 02:27:53 -08:00
qctecmdr
46849f2f19 Merge "disp: msm: sde: software override for fal10 in cwb enable" 2022-01-19 23:05:13 -08:00
qctecmdr
a02746e4d2 Merge "disp: msm: update cleanup during bind failure in msm_drm_component_init" 2022-01-19 23:05:13 -08:00
Narendra Muppalla
43d8d04e73 disp: msm: sde: add DE LPF blend support
This change adds Detail Enhancer LPF blend support from MDSS 9.0.
Support is added for qseed block in both SSPP and Destination Scaler.

Change-Id: Ic8e3732059498a156f51fb93c5fd6638bd731c57
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-01-19 17:25:58 -08:00
Alisha Thapaliya
2d48ad424b disp: msm: sde: Split PA sixzone lutdma implementation
Create a common config function to be used by newer
versions of sixzone to avoid code repetitions.

Change-Id: I570cc625715880c325d257e2594d8a7688a040bc
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2022-01-19 16:06:15 -08:00
Alisha Thapaliya
c108771c7f msm: drm: uapi: Add uapi support for sixzone saturation adjustment
In Kalama for sixzone there are 2 new lut entries for saturation
high and saturation medium. There is also a new saturation
adjustment curve, and a SV enable feature.

Add entries in uapi to accomodate the corresponding programming
for these 4 new registers.

Change-Id: Ib9a8a4e233da25de90480c09c40536546f614a01
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2022-01-19 16:05:32 -08:00
Prabhanjan Kandula
ecc2d6e0ba disp: msm: sde: software override for fal10 in cwb enable
When cwb is enabled enable software override for fal10 veto to
block fal10 entry as MDSS can keep asserting uidle if there
are no fetch clients like dim layer only usecase.

Change-Id: Ief51499d370c20fcbdda79576aee0179578650fd
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-01-19 12:16:17 -05:00
qctecmdr
e1eb043ded Merge "disp: msm: sde: Add support for LTM2/3 for kailua" 2022-01-18 23:27:05 -08:00
Renchao Liu
f4730e436e disp: msm: sde: Update LTM merge mode setting for kailua
Update LTM merge mode setting for kailua since
merge control has its own register.

Change-Id: Ieaacd1e12f410def18a0fce11a77c94832c416f5
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-01-19 14:02:49 +08:00
Alisha Thapaliya
13865bc425 disp: msm: sde: Add support for LTM2/3 for kailua
Some of the DPU hardware can have LTM2/LTM3 blocks.
Change adds register DMA to support LTM2/3 blocks.

Change-Id: I5703872994156b42decaaf6d383f8aded218c117
Signed-off by: Alisha Thapaliya <quic_athapali@quicinc.com>
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-01-19 11:48:40 +08:00
qctecmdr
78d979bad5 Merge "disp: msm: sde: parametrize RC minimum region width" 2022-01-18 19:29:45 -08:00
qctecmdr
b67e836b6e Merge "disp: msm: sde: always set CTL_x_UIDLE_ACTIVE register to "1"" 2022-01-17 09:07:27 -08:00
Mahadevan
64ae0c58f0 disp: msm: update cleanup during bind failure in msm_drm_component_init
During msm_drm_bind if one of the sub components fails
to bind and defers the probe, it used to clear the device
platform device private structures which are created as
part of msm_pdev_probe. When sub devices try to bind as
part of probe sequence it will try to bringup master
msm_drm and accesses invalid address leading to crash.
This change updates the cleanup procedure which avoids
such crash.

Change-Id: I2d5c94cfafa3c5ec23b81bb0a080ad6e0e5b02ad
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
2022-01-17 09:36:14 +05:30
GG Hou
e29493c71d disp: msm: avoid using #ifdef for configurations
Use #if IS_ENABLED() instead of #ifdef for configurations as vendor module
guidelines.

Use #if IS_ENABLED(CONFIG_XXX) instead of #ifdef CONFIG_XXX to ensure that
the code inside the #if block continues to compile if the config changes
to a tristate config in the future.

The differences are as follows:
	1.#if IS_ENABLED(CONFIG_XXX) evaluates to true when CONFIG_XXX is set to
		module (=m) or built-in (=y).
	2.#ifdef CONFIG_XXX evaluates to true when CONFIG_XXX is set to
		built-in(=y) , but doesn't when CONFIG_XXX is set to module(=m).
		Use this only when you're certain you want to do the same thing
		when the config is set to module or is disabled.

Change-Id: Ia806b9b01ad8414d0e4de027a382cb68e7fb4a6a
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-17 10:10:04 +08:00
Renchao Liu
a8d6d1a83f disp: msm: sde: parametrize RC minimum region width
Parametrize RC minimum region width restriction as it
differs starting from Kailua.

Change-Id: I41e7cd6812ed2fadb5719ee51f4db0723be632fe
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-01-14 20:45:56 -08:00
qctecmdr
f42f39e4f8 Merge "disp: config: add kalama TUI configuration files" 2022-01-14 19:31:14 -08:00
qctecmdr
cbe7dac1a4 Merge "disp: msm: sde: remove unsupported NV16 and NV61 YUV format" 2022-01-14 19:03:45 -08:00
qctecmdr
039a49e04e Merge "disp: msm: avoid use macro as vendor module guideline" 2022-01-14 18:03:37 -08:00
qctecmdr
593056901f Merge "disp: msm: dp: remove dead code of "qcom,dp-mst-sim"" 2022-01-14 17:26:23 -08:00
qctecmdr
0dcc1fdff6 Merge "disp: msm: add devcoredump support for sde_dbg" 2022-01-14 16:56:22 -08:00
qctecmdr
e4218db603 Merge "disp: msm: dsi: optimize the display error log print" 2022-01-14 16:27:04 -08:00
Steve Cohen
45b81cb324 disp: config: add kalama TUI configuration files
Add Kalama TUI build configurations.

Change-Id: I4ed9ed716c6ea12692bc149f01d34ec46e1d3154
Signed-off-by: Steve Cohen <quic_cohens@quicinc.com>
2022-01-14 16:54:41 -05:00
GG Hou
67be1373c1 disp: msm: dp: remove dead code of "qcom,dp-mst-sim"
Remove dead code of "qcom,dp-mst-sim" compatible.

Change-Id: I7ced60ea06ac9ac712c4e7c45522656e42fd3413
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-13 17:12:11 -08:00
GG Hou
ddebee0440 disp: msm: sde: update worst case time to execute one tcs vote for rsc
1.add worst case time to execute one tcs vote for new rsc version 5.
2.define V3 duration as 930us for code readability.
3.add explicitly "ns" unit for "single_tcs_execution".

Change-Id: Ib62fe6217cf4f97a9c45f003b98b1bdf55354e27
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-13 17:12:07 -08:00
GG Hou
079c9d79b5 disp: msm: avoid use macro as vendor module guideline
As google's vendor module guideline, don't use MODULE_SOFTDEP to order
device probes.
So avoid using the MODULE_SOFTDEP macro in display module.

Change-Id: Ife29b6185c3bcb001a581753d2a8d2aba5214f8a
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-13 17:11:18 -08:00
qctecmdr
200ab959de Merge "disp: msm: reset thread priority work on every new run" 2022-01-13 06:38:26 -08:00
Jayaprakash Madisetty
f8180b0e86 disp: msm: sde: dump user input_fence info on spec fence timeout
This change dumps the userfds input_fence info in dma_fence_array
on speculative fence wait timeout. This will be helpful to isolate
the real fence timeouts when spec fence bind gets successful.

Change-Id: I6aa37a06025f5ea43aaed8733f0803bfadd260fd
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-01-13 14:35:44 +05:30
GG Hou
2abee80413 disp: msm: dsi: optimize the display error log print
Optimize the error log in _dsi_bridge_mode_validate_and_fixup()
to avoid unexpected failure.

Change-Id: Id674b511f79ccf05d4fc5a5729c0e109731bdf54
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-13 09:32:35 +08:00
Yojana
58f9096045 disp: msm: sde: add null pointer check for encoder current master
During virt disable call, sde_enc master was used without checking
for null condition. It results in crash. This change adds required
null pointer check for sde encoder current master before dereferencing
to avoid crash.

Change-Id: I69ee17017712ea3549bfefce5975a564a5a8c2e9
Signed-off-by: Yojana <quic_yjuadi@quicinc.com>
2022-01-12 19:43:28 +05:30
Ritesh Kumar
fd2dc5be06 disp: msm: dsi: enable DMA start window scheduling for broadcast commands
As per the HW requirements it is highly recommended to use DMA start window
to trigger broadcast commands. If not used then it can result in a hardware
hang with the DSI controllers going out of sync. This behavior is even more
prominent in cases of higher refresh rates.

Currently, reset_trigger_controls is called as part of next command.
Due to this, when unicast command is sent after broadcast command,
reset_trigger_controls does not get called for slave controller,
leading to issues.

As part of this change, DMA start window scheduling is enabled as default
for broadcast commands and reset_trigger_controls is done as part of
post_cmd_transfer operations.

Change-Id: I2402214ed79b376d102b88d4f7e6a06fcb5712d3
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
2022-01-12 09:57:42 +05:30
qctecmdr
c05d502994 Merge "disp: msm: sde: update cwb block offset for kalama target" 2022-01-11 14:38:05 -08:00
Bruce Hoo
fae85fda94 disp: msm: add devcoredump support for sde_dbg
Add devcoredump support for sde_dbg. Devcoredump is a mechanism
providing generalized way to get data from kernel modules. This change
integrates devcoredump into sde_dbg to get evtlog, register dump and
dbg_bus when display failure happens.

Change-Id: I4daf25443ccd2646de580314a0bfe08b84dbc282
Signed-off-by: Bruce Hoo <quic_bingchua@quicinc.com>
2022-01-10 22:19:42 -08:00
qctecmdr
f5e8249fa7 Merge "disp: msm: sde: add debugfs for FAL1 and FAL10 config" 2022-01-10 21:12:07 -08:00
qctecmdr
355017e478 Merge "disp: msm: sde/dsi: reduce display cyclomatic complexity" 2022-01-10 20:44:01 -08:00
qctecmdr
27a32126fe Merge "display: driver: default post start if SBLUA DMA exist" 2022-01-10 20:09:09 -08:00
qctecmdr
7f4c58ac65 Merge "disp: msm: sde: add line-based QoS calculation support" 2022-01-10 19:12:59 -08:00
GG Hou
644927312e disp: msm: sde/dsi: reduce display cyclomatic complexity
msm/sde/sde_encoder.c
	_sde_encoder_update_rsc_client()
	sde_encoder_prepare_for_kickoff()

msm/dsi/dsi_drm.c
	dsi_bridge_mode_fixup()

Lower the cyclomatic complexity for this function by splitting
the work into helper functions.

Change-Id: I2285809a33078e29989a6b44800c18342aa24170
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-10 19:05:50 -08:00
GG Hou
830adf80d6 disp: msm: sde: add debugfs for FAL1 and FAL10 config
Add below debugfs node under */debug/core_perf for micro-idle FAL1 and
FAL10 configuration, uidle_fal10_target_idle_time_us.
  1.uidle_fal10_target_idle_time_us
  2.uidle_fal1_target_idle_time_us
  3.uidle_fal10_threshold_us
  4.uidle_fal1_max_threshold

Usage:
Cat and echo are both available.
echo [value in micro seconds] >
	/sys/kernel/debug/dri/0/debug/core_perf/uidle_fal10_threshold_us

The new value will take effect after any update on plane.

Change-Id: I48896f59a8c0dc22624394ae197a49e3492953da
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-01-10 19:03:47 -08:00
qctecmdr
69d1699364 Merge "disp: msm: sde: add offline WB QoS support" 2022-01-10 18:41:50 -08:00
qctecmdr
55888849a1 Merge "disp: msm: sde: update DT parsing for VBIF QoS remap levels" 2022-01-10 18:11:21 -08:00
qctecmdr
a33fefe00b Merge "disp: msm: sde: update danger/safe QoS LUTs for landscape panels" 2022-01-10 17:38:19 -08:00
qctecmdr
2d519071e8 Merge "disp: msm: sde: remove rgb/cursor pipe related code" 2022-01-10 16:24:25 -08:00
qctecmdr
bf82d96a61 Merge "disp: msm: dsi: add API for handling PHY programming during 0p9 collapse" 2022-01-10 15:54:37 -08:00
Amine Najahi
e368da8e30 disp: msm: sde: remove unsupported NV16 and NV61 YUV format
Remove 422 YUV/YVU semi-planar formats as they are deprecated
since Napali target.

Change-Id: I252146a8eedd5b2f1460dad6f9e649feb965fa45
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-01-10 15:19:32 -08:00
qctecmdr
4cc5b3cabb Merge "disp: msm: sde: avoid alignment checks for linear formats" 2022-01-10 04:35:41 -08:00
qctecmdr
eb92fe97b4 Merge "disp: msm: sde: add tx wait during DMS for sim panel" 2022-01-10 04:35:40 -08:00
Jayaprakash Madisetty
4f88bcf232 disp: msm: sde: avoid alignment checks for linear formats
This change avoids alignment condition check if the format is
linear because HW can fetch without any restrictions only in linear
usecase.

Change-Id: Ib823a8d309f7ed579d701a4bf56772ce318fb1f5
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-01-10 16:13:55 +05:30