Commit Graph

178 次程式碼提交

作者 SHA1 備註 提交日期
qctecmdr
fa73055e20 Merge "disp: msm: sde: fix release fence signaling in error cases" 2019-08-12 02:41:05 -07:00
qctecmdr
61d32e7925 Merge "disp: msm: sde: update splash resource allocation for dual display" 2019-08-10 07:51:01 -07:00
Prashant Singh
dbb1a3eee9 disp: msm: sde: update splash resource allocation for dual display
Correct the splash resource allocation counter for getting ctl
ids as passed from uefi for dual-display usecase for successful
splash-handoff.

Change-Id: Iffb6649073443e3c319077318e009b910ea53416
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-08-08 15:11:52 +05:30
Veera Sundaram Sankaran
5a2dfc1e83 disp: msm: sde: fix release fence signaling in error cases
Handle release fence/frame-done error signalling for
error case like esd failure, pp_done timeout, interrupt
disable on cpu, etc. It fixes the race condition for
pending_frame count update and also triggers correct
wait function for wr_ptr wait failure.

Change-Id: Iad08f20592c97221a1626bb40e607c398a9812b6
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2019-08-07 18:56:47 -07:00
Satya Rama Aditya Pinapala
7e77b664bb disp: msm: sde: fix dsi bridge init
Initialization of DSI external bridge must be done within
the initialization of DSI displays. The current method
has the drm_ext_bridge_init being called outside the
loop of DSI displays, and it will fail as the display,
encoder and connector handle are not present.
This fixes the regresion caused by
commit edef6ae040 ("disp: msm: dsi: snapshot of dsi from
4.14 to 4.19").

Change-Id: I50d0a303c2c8f4323e46cf14df1b071ebae80ceb
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-08-06 19:32:22 -07:00
Nilaan Gunabalachandran
08116fb279 disp: msm: sde: convert event logs to verbose
Reduce event logs to verbose only because they do not need
to be logged every frame.

Change-Id: I753154dc4b13cfce1382615b02e8fc7e489a5993
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-08-02 11:41:55 -04:00
qctecmdr
ed6f9809d2 Merge "disp: msm: sde: reserve dscs considering hw pairs" 2019-07-30 07:10:18 -07:00
qctecmdr
3f9677f2a5 Merge "disp: msm: sde: allow fence signalling during crtc disable" 2019-07-29 12:44:22 -07:00
qctecmdr
4bc4dc816c Merge "disp: msm: sde: allow uidle setup when requested" 2019-07-29 07:38:08 -07:00
qctecmdr
60d59191c8 Merge "disp: msm: dp: add colorspace property for MSM DP" 2019-07-28 01:12:00 -07:00
qctecmdr
bb300b0511 Merge "disp: msm: sde: Add LTM sw fuse check support" 2019-07-27 04:36:40 -07:00
qctecmdr
2a75326609 Merge "disp: msm: sde: Add event log for uidle veto enable" 2019-07-27 03:47:20 -07:00
qctecmdr
6ad46f19c3 Merge "disp: msm: Use the new notifier function instead of msm_drm_notifier" 2019-07-26 17:45:17 -07:00
Veera Sundaram Sankaran
76262482ed disp: msm: sde: allow fence signalling during crtc disable
With the new ASYNC power-mode changes, user-mode can
request for retire/release fences during power-mode
changes. This is used as a signal for power-mode
completion by user-mode. Allow preparing/signalling
these fences during crtc enable/disable to support it.

Change-Id: I7709cd4762c8d77776ba6ba2d07aa6b76b5262d0
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-07-26 14:54:34 -07:00
qctecmdr
bc91692047 Merge "disp: msm: sde: avoid input handler of registration in video mode" 2019-07-26 09:14:09 -07:00
qctecmdr
abb4577e29 Merge "disp: msm: sde: consider num DS for mixer width" 2019-07-26 05:18:05 -07:00
qctecmdr
1cc7a54215 Merge "disp: msm: sde: fix crtc client type checks for WB" 2019-07-26 04:06:40 -07:00
Satya Rama Aditya Pinapala
2078f3dd2e disp: msm: sde: add check before buffer copy
This change adds a check for the length of the buffer
before copying it to avoid a buffer overflow.

Change-Id: I9af9d422e0b3cf02c8d6662af3310337a9861a7a
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-25 10:57:26 -07:00
Abhinav Kumar
14e02e4b02 disp: msm: dp: add colorspace property for MSM DP
Add the colorspace property for DP controller for MSM. Also, change
the default method to send the colorimetry information to the sink
from MISC bits of MSA to VSC SDP packets if the sink supports it. This
helps to avoid dynamic switches between the packet types for sending
the colorimetry information during BT2020 and DCI-P3 use-cases.

Change-Id: I7ddf879a187b023fcf7404d64028e4d19b031119
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2019-07-24 17:24:27 -07:00
Veera Sundaram Sankaran
f61e5545d7 disp: msm: sde: fix crtc client type checks for WB
CRTC client type is wrongly identified as RT_CLIENT
for WB as the API considers only RT and RT_RSC. Resolve
it by adding a new API to check for RT CTRC.

Change-Id: I1f216f60a18215426e594d0f8b09852af376799d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-07-24 14:52:42 -07:00
Abhinav Kumar
c79760ba97 disp: msm: dp: populate supported colorspace property for DP
Populate the supported colorspaces property for DP
as part of getting the display modes.

This will expose the supported colorspaces of the sink to
userspace and in-turn the userspace shall pick the colorspace
suitable for the use-case.

Change-Id: I70408c719610bc63f9c06dad8cd50f7fa5d94908
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2019-07-24 13:54:00 -07:00
Veera Sundaram Sankaran
cc03c74617 disp: msm: sde: allow uidle setup when requested
The UIDLE s/w maintains few state variables based
on which ctl & debug counter hw setup is skipped
few times. Skipping this during idle-pc restore
leads to UIDLE not setup correctly. Fix the state
checks to allow programming the HW.

Change-Id: Ie4be207ebaa4bd1eaebc63b3548837ef611efde7
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-07-24 11:55:39 -07:00
Lei Chen
92fe6638ed disp: msm: sde: avoid input handler of registration in video mode
Input handler is used for early wakeup DSI and MDP clocks from
idle power collapse. DSI clock won't be disabled in video mode
during idle power collapse, so the input hanlder isn't needed
for video mode.
This change avoids the input handler to be registered in
video mode.

Change-Id: Id23bad192b6671126978d707db464e7aaee1c77f
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-07-24 09:33:35 +08:00
Nilaan Gunabalachandran
1e06ddddc3 disp: msm: sde: Add event log for uidle veto enable
Print uidle status fal10 enable bit as part of checking status.

Change-Id: Ibe00216ac22bb31fbe0925db3abc1d5dc4371ad3
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-23 16:22:16 -04:00
Nilaan Gunabalachandran
962d240b95 disp: msm: sde: reserve dscs considering hw pairs
RM does not currently check dsc pairs while reserving, but
this could lead to an incompatible pair being allocated. The
hw restrictions are populated from dtsi and checked during
rm reservation.

Change-Id: If561e2bd64c7643ed9ee71a255242eab84576673
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-23 15:55:15 -04:00
Nilaan Gunabalachandran
233ded8506 disp: msm: sde: consider num DS for mixer width
Helper function is returning the width of single mixer. During
atomic crtc check, the number of destination scaler is not
considered before width check and can fail possible higher
resolutions. The mixerwidth should be taken as a multiple of
num_ds_enabled.

Change-Id: Id9e5e0ccf0cebb54d2a242e039d8dc3676b3729f
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-23 12:20:41 -04:00
qctecmdr
708c74de1e Merge "drm/msm: allow sde_atrace to show up on different process" 2019-07-22 17:35:07 -07:00
qctecmdr
c8aa6f7e44 Merge "drm/msm: enable counter trace" 2019-07-22 15:50:30 -07:00
qctecmdr
3588284310 Merge "disp: msm: sde: fix cwb, dp and wb tear down sequence" 2019-07-22 11:52:53 -07:00
qctecmdr
829a9ba490 Merge "disp: msm: sde: correct the highest bank bit configuration." 2019-07-19 05:17:06 -07:00
qctecmdr
73175fb95a Merge "disp: msm: sde: Correct initialization value for frame count" 2019-07-19 05:17:05 -07:00
Dhaval Patel
bcd97aa368 disp: msm: sde: fix cwb, dp and wb tear down sequence
CWB, DP and WB displays tear down sequence must reset
3d_merge, ctl, pingpong_binding, etc. MDP HW
blocks. This change fixes the tear down
sequence register programming. It also moves flush
sw reset before encoder_disable call. That allows
CWB tear down to update the flush configuration
on primary ctl path.

Change-Id: I21c521b39456af4144cf836c65d46a25c985f51d
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2019-07-18 14:13:33 -07:00
Adrian Salido
beb2d1b584 drm/msm: allow sde_atrace to show up on different process
Currently trace always shows up on same process as caller, add
an additional function to allow attaching trace to any process.

Change-Id: I8fc124f9d1cfae28d1868a9a3067d0e92eda934e
Signed-off-by: Adrian Salido <salidoa@google.com>
(cherry picked from commit 52ba2d3585eb49c5d5b90b3cd75e0abe5c984dad)
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-07-18 10:36:47 -07:00
Adrian Salido
1bb14cd806 drm/msm: enable counter trace
Trace counter is not properly showing up on trace as is. Replace it with
proper format by refactoring existing trace to be more generic.

Bug: 119295905
Change-Id: I50abb593cd67c10ceed115380ac0e9d2177f0963
Signed-off-by: Adrian Salido <salidoa@google.com>
(cherry picked from commit 89ac1949eaa1524e4e2bbd2ad8c8b6513ae594dd)
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-07-18 10:36:39 -07:00
Ping Li
652b195ba4 disp: msm: sde: Add LTM sw fuse check support
Add checks for LTM sw fuse value to only install the LTM properties
when the LTM sw fuse is set to enable.

Change-Id: I6876bfcf12ddb912e7b7a80e07c33108fd4b85b9
Signed-off-by: Ping Li <pingli@codeaurora.org>
2019-07-17 13:03:39 -07:00
Prashant Singh
45f02bb102 disp: msm: sde: correct the highest bank bit configuration.
Highest bank bit property is read from device-tree, else set
to default value based on DDR type.

Change-Id: I8b31d957e29071b599a7f983cbf8300e293e9e36
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-07-17 16:29:57 +05:30
Yuan Zhao
51ca5e052c disp: msm: sde: Set drm_panel to drm_connector
Set drm_panel to drm_connector. It can get drm_panel
from connector for other usage.

Change-Id: I68430be8aa05f140b88592c38db8e79aa96dafe6
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-07-17 00:32:55 -07:00
Nilaan Gunabalachandran
e87d8f7cc5 disp: msm: sde: Secondary display lm preference with lm pair
When secondary display preference is determined and 2 layer
mixers are required, the preference must check LM pair mask
to meet hw restrictions.

Change-Id: I22845be84f95659a58be98ff11afa4e652fb16e3
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-15 11:22:09 -04:00
qctecmdr
3e7ef1e1d0 Merge "disp: msm: dsi: Remove drm_panel tracking from sde_connector" 2019-07-13 00:16:26 -07:00
qctecmdr
a30c33a6eb Merge "disp: msm: sde: track available hw resources" 2019-07-12 14:51:17 -07:00
qctecmdr
b6913a5af2 Merge "disp: msm: dsi: snapshot of dsi from 4.14 to 4.19" 2019-07-12 12:29:14 -07:00
qctecmdr
3ab9638e45 Merge "disp: msm: add resource caps structure and api changes" 2019-07-12 02:20:32 -07:00
qctecmdr
e3be8e7636 Merge "disp: msm: sde: Ensure that dirty dsc blocks are flushed properly" 2019-07-11 22:21:44 -07:00
qctecmdr
bfffbd8af1 Merge "disp: msm: sde: avoid duplicate fence create from client" 2019-07-11 20:21:39 -07:00
Satya Rama Aditya Pinapala
edef6ae040 disp: msm: dsi: snapshot of dsi from 4.14 to 4.19
This change is a snapshot of dsi files taken of 4.14
as of commit 764f7c2 (Merge remote-tracking branch
'quic/dev/msm-4.14-display' into msm-4.14)

Change-Id: I8361a844c35a4450f7800964a8da2741676fd6c7
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-11 12:29:10 -07:00
Yuan Zhao
cc9aa48df6 disp: msm: dsi: Remove drm_panel tracking from sde_connector
The drm_panel defined in sde_connector was not used, so
removed it.

Change-Id: I70a94f11ebd60362d25e37a256f46d3d4942089d
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-07-11 20:11:26 +08:00
Dhaval Patel
d710ac7f11 disp: msm: sde: avoid duplicate fence create from client
SDE fence driver avoids duplicate fence creation if
fence timeline is not increased. This may lead to issue
if client closes the fence with failure ATOMIC_COMMIT.
SDE fence driver provides the closed fd node to subsequent
valid commit and leads to invalid state. This patch avoids
duplicate fence creation from crtc and connector object
instead of sde_fence.

Change-Id: Ic7b43762f0ad251fb20e42edb5f4d5f401790e14
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2019-07-10 11:15:23 -07:00
qctecmdr
a9a92a5f84 Merge "disp: msm: sde: fix the QOS setting mismatch" 2019-07-10 04:50:43 -07:00
Shubhashree Dhar
50a191e13b disp: msm: sde: Correct initialization value for frame count
For calculating fps, correct frame count initialization
from 1 to 0 to avoid counting one extra frame on every
periodicity window.

Change-Id: I53cea321bb4d3335cc58e08df2f530cd1a306297
Signed-off-by: Shubhashree Dhar <dhar@codeaurora.org>
2019-07-09 22:39:31 -07:00
Lakshmi Narayana Kalavala
99a7f030d4 disp: msm: sde: fix the QOS setting mismatch
Currently the display driver does not consider the write back
client while deriving client type for QOS settings.
Add new API to consider the write back and other non
real time clients also for picking up the proper QOS settings.
This patch also fixes the QOS setting mismatch with QSEEDLITE
hardware.

Change-Id: I5db3d21921b8930bb6399ea355d3ce2b60e51430
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2019-07-09 13:47:26 -07:00