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

807 Коммитов

Автор SHA1 Сообщение Дата
Lei Chen
ad0b79b8d7 disp: msm: sde: do DRM encoder NULL check before waking up display
DRM encoder can be NULL during modeset concurrency, so add this
change to check drm encoder and only wake up display when drm encoder
is available.

Change-Id: I50dd85eb39567aba4895dc19801020d7ead841b8
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-09-01 00:58:45 -07:00
Yashwanth
45d0998b96 disp: msm: sde: update misr check to configure misr in secure UI
This change updates misr checks so that misr can be
configured during secure display session. In the current
code, misr_reconfigure flag is set only when accessing
through debugfs node.

Change-Id: Ic3a8316a4881551da3f0f340f6ef5ae3fbe4913f
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-08-31 19:38:51 +05:30
qctecmdr
e499ddf040 Merge "disp: msm: sde: Allow for overriding CP features flush mechanism" 2020-08-27 10:09:42 -07:00
qctecmdr
18aab79fa2 Merge "disp: msm: sde: fix check for uneven split with dest-scaler" 2020-08-27 10:09:42 -07:00
Amine Najahi
deae97dd0d disp: msm: sde: Allow for overriding CP features flush mechanism
Allow for overriding color processing features that normally uses
DSPP flush to use LM flush instead. This is required on targets
where some of the DSPP features have been tied to LM flush bits.

This changes adds a field in color processing node to track if the
override is needed and enables LM flush override for rounded corner
on target requiring it.

Change-Id: I584bd7b20dfc9fc7795b1b3b10e2f17a82945ce4
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-08-26 22:20:05 -07:00
qctecmdr
4d3912297a Merge "disp: msm: sde: Add event logs for lutdma kickoff programming" 2020-08-25 17:46:17 -07:00
qctecmdr
61234de0c5 Merge "disp: msm: sde: use the correct get_status op for all INTFs" 2020-08-25 15:26:37 -07:00
qctecmdr
f1b667341c Merge "disp: msm: add connector API to disable cont_splash resource votes" 2020-08-25 09:23:14 -07:00
qctecmdr
d90419b707 Merge "disp: msm: sde: fix index variable used in CP pu check phase" 2020-08-24 09:12:58 -07:00
qctecmdr
cc3f133167 Merge "disp: msm: sde: update rotator sid value in continuous splash case" 2020-08-24 04:01:01 -07:00
Steve Cohen
43076f3a77 disp: msm: sde: fix check for uneven split with dest-scaler
Fix the check for uneven split across LMs when destination
scaler is used and reject the use-case since this is not
supported by the driver. This can happen if an odd-value
for the horizontal width is being split across 2 mixers.

The existing check was broken since it uses pass-by-value
with a zero initialized value that callee tries to update
while iterating over the DS configurations. Use pass-by-
reference with the previous DS configuration, if available,
instead of just 0 values so the proper comparisons can take
place.

Change-Id: I529faf57e43fb471b28b4d222260ea4d37217d4d
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-23 22:17:27 -04:00
Steve Cohen
d66ea6fc29 disp: msm: sde: use the correct get_status op for all INTFs
A new status register was added in DPU 5.x to INTFs to allow for
confirmation when the timing engine is disabled. This
functionality was controlled via an overloaded feature flag
which is used to enable INTF tear-check ops (also added in DPU
5.x). External displays support INTF_STATUS but have no use for
any tear-check functions. Separate these features so they can be
enabled individually on the interfaces which support them.

Change-Id: Ib8548619cb58bf19b7c02211ead7f33f52ffeae4
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-23 21:23:18 -04:00
qctecmdr
d827191e2a Merge "disp: msm: sde: wait for done in system cache read mode update" 2020-08-21 15:12:34 -07:00
qctecmdr
ead6a35953 Merge "disp: msm: dsi: add parsing logic for panel gpio pins/address" 2020-08-21 12:36:22 -07:00
Prabhanjan Kandula
f112e7aa61 disp: msm: sde: wait for done in system cache read mode update
In current driver, during system cache read mode update control flush
is invoked and there after commit thread is allowed to pick up next
commit. This can lead to improper frame flush and cause hangs or
underrun. This change add a wait till frame done after system cache
update to frame read mode.

Change-Id: Ic88e0bdbaaa1f45f825d40ecde4de9e8dea2efef
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-08-21 10:46:54 -07:00
Yashwanth
38372059b3 disp: msm: sde: update rotator sid value in continuous splash case
This change programs rotator sid value irrespective of
continuous splash since it is not configured from
bootloader. It also handles trusted vm support
to prevent accessing mdss hw register.

Change-Id: I80e286364286457545dfa236d629447241d98f95
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-08-21 19:52:35 +05:30
qctecmdr
57807a5d97 Merge "disp: msm: dp: use base connector properties for mst connectors" 2020-08-20 23:40:52 -07:00
Linux Build Service Account
c29e22f272 Merge "disp: msm: sde: fix reset of mixer swapping" into display-kernel.lnx.5.4 2020-08-20 21:52:53 -07:00
qctecmdr
fc83bddf26 Merge "disp: msm: sde: Update UIDLE and QoS LUT when DRM mode is changed" 2020-08-20 14:24:30 -07:00
Christopher Braga
46d5d3ada2 disp: msm: sde: Add event logs for lutdma kickoff programming
Introduce event logs for lutdma kickoff operations to make
LUTDMA usage more apparent in crash dumps. This will aid in
debugging and triaging LUTDMA issues.

Change-Id: I81b570dfc21b03627cdaf5d9693b786839716571
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2020-08-20 16:07:11 -04:00
qctecmdr
992439c83e Merge "disp: msm: sde: report intf interrupt status during underrun" 2020-08-20 11:47:26 -07:00
Abhijit Kulkarni
6a46828a29 disp: msm: sde: fix reset of mixer swapping
This change resets the mixer swapping flag in crtc on a
seamless mode switch. In case of switching from command
mode to video mode it is a seamless mode on crtc, but we
disable connector and encoder. Due to this crtc fails to
reset the mixer swap since it is tied to dsc merge topology
on master connector. In transient state master connector
is not set and is set only after enabling the new mode on
connector.

Change-Id: Idebdabd642625b894100f62aeb62f11a9c101b03
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-08-19 10:51:55 -07:00
Linux Build Service Account
2bdc128bfc Merge "disp: msm: sde: fix dsc hrd delays register bitmask" into display-kernel.lnx.5.4 2020-08-19 01:54:39 -07:00
Linux Build Service Account
e3092c8b9f Merge "disp: msm: sde: only program LM size when needed" into display-kernel.lnx.5.4 2020-08-19 01:43:13 -07:00
qctecmdr
d567ca0876 Merge "disp: msm: sde: expose helper api at VM layer" 2020-08-18 20:10:47 -07:00
Amine Najahi
4eaa6dd39e disp: msm: sde: fix index variable used in CP pu check phase
Currently driver uses wrong index to retrieve partial update
ROI during check phase. This can lead to ROI being 0 for some
of the CP properties.

Change-Id: I885132e8d29eaf1353ed079eb283f7ca3a3d63a6
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-08-18 07:30:12 -04:00
Lei Chen
fb4edab2b3 disp: msm: sde: Update UIDLE and QoS LUT when DRM mode is changed
UIDLE and QoS LUT configurationis might be different between
different frame rates.
Add this change to update UIDLE and QoS LUT according to frame
rate when DRM mode is changed.

Change-Id: Ia16a963e185b911b7dd11e81a26cab732c2b185c
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-08-18 09:56:43 +08:00
Rajkumar Subbiah
9522cd1382 disp: msm: dp: use base connector properties for mst connectors
When DRM property objects are created, the DRM framework attaches a
dellocator which can eventually free the object when the last reference
is removed from it. The framework can only do this before the driver is
registered. If a property is created after the registration then the
framework is unable to attach a deallocator causing a memory leak during
tear down.

The current DP driver creates a new colorspace property whenever a
new dp connector is initialized. It creates a base connector at probe
time prior to registration. But then it also creates new connectors,
post registration, whenever a new MST dongle is attached to the
topology, causing memory leaks.

This change limits the property creation to the base connector and
attaches the same object to MST connectors to avoid memory leak.

Change-Id: Ib97dc7aac260b4f3f96c1097f58bd276c68501f8
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2020-08-17 21:20:04 -04:00
Chandan Uddaraju
35b60f6208 disp: msm: add connector API to disable cont_splash resource votes
The panel regulator votes are added by default during
dsi probe to make sure sync state driver doesn't disable
these regulators for cont_splash use case. These regulator
votes need to be removed when cont_splash feature is
disabled. Add a new connector API to handle this.

CRs-Fixed: 2734419
Change-Id: Ie54c8f246877a042afacddaeae8b90440652116f
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-08-17 16:18:01 -07:00
Veera Sundaram Sankaran
f7fece8238 disp: msm: parse SPMI registers and append to IO lend list
Parse the display peripheral related SPMI SID/Peripheral
mask from device-tree and get the dynamic register range
of these peripherals using the SPMI API. These registers
are appended to the list of display IO ranges that is
lent from HLOS to trusted VM during trusted UI. This would
help in adding restrictions for SPMI registers on HLOS during
the trusted UI use case along with validation of the register
ranges in trusted VM.

Change-Id: I7077dac7962466e845d061e9ccd205f1bc0ce3ea
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-08-17 09:47:28 -07:00
Steve Cohen
b385a84e0d disp: msm: sde: only program LM size when needed
LM size does not need to be reprogrammed on every frame. Add
a check to only reprogram it when the size changes (or coming
out of power collapse). Some color processing features require
an update when this happens as well (i.e. resolution switch,
partial update, or dest scaler reconfigure). This patch allows
for notifying CP of the updated dimensions when a change occurs.

Change-Id: Ia7f794e53e1f03302c83e442e2a1288611c7c50b
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-14 20:24:58 -04:00
Jeykumar Sankaran
a962ce3f02 disp: msm: sde: expose helper api at VM layer
Add helper API's at VM layer to avoid repeated
VM structure dereferencing in rest of SDE files.

Change-Id: I31ee506adbd12c5452bef15da7c468c87b2c9f96
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-08-14 16:21:14 -07:00
qctecmdr
20ed4f0785 Merge "disp: msm: sde: disable border color on empty blendstage" 2020-08-13 16:50:24 -07:00
Jeykumar Sankaran
7b50ca2b1e disp: sde: hold an extra PM refcount in trusted VM
pm runtime suspend/resume is not supported in trusted vm since
the power domain is controlled by the primary VM. Hold an
extra refcount on the drm device in trusted vm to avoid pm
runtime calls.

Change-Id: I57c22887eb8b11f8ce318479ca36b84cda385d60
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-08-13 16:40:57 -07:00
Amine Najahi
788a4482d0 disp: msm: sde: fix dsc hrd delays register bitmask
Fix bitmask used when programming dsc hrd delays register
to allow 16 bits value.

Change-Id: I0044dcd4bdc4608b40a544b1856dfaa19e1717a3
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-08-13 10:19:17 -04:00
Lei Chen
f11da41a6e disp: msm: sde: add a property to control display input touch event
Display input touch event is replaced with IOCTL in performance HAL
to early wake up DSI clock.
Add a property to enable/disable display input touch event for backward
compatibility.

Change-Id: Ib6b9123d726e79a2927b05d1ef77c343f01d0c5e
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-08-12 17:32:20 -07:00
qctecmdr
9804031438 Merge "disp: msm: sde: reset ICH on partial update" 2020-08-11 23:12:09 -07:00
qctecmdr
2531751979 Merge "disp: msm: sde: use proper API to retrieve connector state in check phase" 2020-08-11 18:38:29 -07:00
qctecmdr
995409478a Merge "disp: msm: sde: mark LTM as dirty when dest-scaler is updated" 2020-08-11 15:08:55 -07:00
Abhijit Kulkarni
9c9159afdb disp: msm: sde: disable border color on empty blendstage
This change disables the border color on the layer mixer,
based on the caller's request. This is required to totally
disconnect the layer mixer hardware when it is not
participating in blending the pixels. Having empty blendstage
but border color enabled, allows Layer mixer hw to produce
border pixels even when blend stage is empty.

Change-Id: I8e84aeedffbd42ad793a167a6cc5a3a653864c1a
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-08-10 18:29:04 -07:00
Amine Najahi
e7cf04beae disp: msm: sde: use proper API to retrieve connector state in check phase
Use sde_connector_state_get_topology API instead of
drm_atomic_get_connector_state since the latter can
return a blank connector state if not found in
global atomic state.

Change-Id: Ib5b58c6cab438a367a885308341d6bccc624f777
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-08-10 13:57:14 -04:00
Abhijit Kulkarni
7456f4b946 disp: msm: sde: reset ICH on partial update
This change programs both the ich_rst_manual_override and the
ich_rst_manual_value in the DSC encoder to override the hw behavior.
This override is needed to ensure the position of ich_reset is not
changed during the PPS session.

Change-Id: Ia7619a97beeea495706b4327c34fc49ef2298583
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-08-06 10:11:01 -07:00
qctecmdr
48da17d61b Merge "disp: msm: sde: update min prefill lines for lahaina" 2020-08-06 05:17:17 -07:00
Steve Cohen
e996b868b2 disp: msm: sde: mark LTM as dirty when dest-scaler is updated
Mark LTM as dirty when dest-scaler is updated so it matches with
the mixer configuration.

Change-Id: I5f2b166ec5eb0bafc4c75f8b3268c3e85c558191
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-05 22:04:56 -04:00
Narendra Muppalla
69f2101ccc disp: msm: sde: update min prefill lines for lahaina
This change updates min prefill lines for lahaina target.

Change-Id: I004244585c3940bddf600290a7c0fe5b5ef5885e
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-08-04 12:35:17 -07:00
Lei Chen
91dbcc12f6 disp: msm: sde: change log level from error to debug when CRTC is null
Encoder CRTC can be null during modeset concurrecy, so change the log
level from error to debug when CRTC is null for display early wakeup.

Change-Id: I67c2413a284d70c415616921608eaebdf0f7a298
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-08-03 02:26:55 -07:00
qctecmdr
3bae91f587 Merge "disp: msm: sde: fix RC single region use case" 2020-07-30 10:58:29 -07:00
Steve Cohen
a4be27ac7e disp: msm: sde: report intf interrupt status during underrun
Add the INTF interrupt status register value to the underrun
line count event log to assist in debugging these issues.

Change-Id: I847cb12f8b4565d5f04667e0abda5d051a6194b2
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-07-29 22:14:04 -04:00
Amine Najahi
b7117d4b07 disp: msm: sde: fix RC single region use case
Fix rounded corner single region use case where input
parameters are valid only for the region to be programmed.
Consequently, the other region must be disabled and atomic
check requirements can be relaxed.

Change-Id: I84f213f2c34f7cceb10c54bbba68fa7b0e16caf2
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-07-29 12:36:14 -04:00
Narendra Muppalla
f8e7d9d5d1 disp: msm: sde: program misr at encoder kickoff stage
As per current design misr enable sequence is happening at
atomic check level. At this state, misr configuration may reset
if clocks are enabled through atomic commit sequence. This change
moves misr enable/disable sequence from debugfs context to
encoder kickoff to avoid misr register reset with idle pc.

Change-Id: Ia4faa200f96b76ba8c7ef3f45a26108e34b5e687
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-07-28 17:26:09 -07:00