Grafik Komit

313 Melakukan

Penulis SHA1 Pesan Tanggal
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
Lakshmi Narayana Kalavala
d28cec1b1a disp: msm: sde: fix the race condition with wb output buffers
In the case of concurrent writeback, display thread
does not wait for writeback done and the fences are released
immediately if the pending frame count is one or zero.
Also during this skip wait process, the output frame buffers are also
cleaned up. If there are couple of bad writeback frames, there could
be a race condition between frame buffer cleanup in the display driver
and DRM_IOCTL_MODE_RMFB ioctl from userspace. Hence add appropriate
ref count logic with output frame buffers while the driver is using them.

Change-Id: I1cf919b93424011c75c39bcddd296a03a9d5c4ee
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2019-07-08 13:18:01 -07:00
qctecmdr
751cbf5570 Merge "disp: msm: sde: avoid connector state mode update" 2019-07-05 21:36:26 -07:00
qctecmdr
c32ed35783 Merge "disp: msm: sde: dump lm rsvps when reservation fails" 2019-07-05 19:49:10 -07:00
qctecmdr
9bca267510 Merge "disp: msm: sde: avoid false error for encoder restore" 2019-07-04 13:04:57 -07:00
qctecmdr
56c84a97d2 Merge "disp: msm: sde: fix error return in plane atomic_check" 2019-07-04 11:19:34 -07:00
Dhaval Patel
10d925633a disp: msm: sde: avoid false error for encoder restore
Below sequence can trigger encoder restore failure due
to cur_master unavailability.
 -> Primary encoder is attached to crtc-0
 -> Primary encoder enters in power collapse state
 -> CWB encoder attached to crtc-0
 -> Atomic_check updates the crtc encoder_mask with
    two encoders.
 -> Prepare_commit triggers power restore
 -> crtc triggers encoder_restore based on encoder_mask

CWB encoder is not enabled at this stage and it will fail
to restore. This patch avoids the error message in this
valid condition.
2019-07-03 11:02:44 -07:00
Nilaan Gunabalachandran
c7bf5c0293 disp: msm: sde: track available hw resources
Track available hw resources using a common data structure in
the sde_rm object and pass available hw resource info to
interface drivers to make informed decisions in preparing
or filtering display modes.

Change-Id: I05649623233b0f531582e8c90d1ef92c7fceded4
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-02 17:34:54 -04:00
Nilaan Gunabalachandran
d92000cdd4 disp: msm: add resource caps structure and api changes
Create a data structure to maintain available hardware resources
and track capabilities. This data structure is used to send
the current available resources and caps information to
connector ops get_mode_info, get_modes and validate_mode to
process the display mode.

Change-Id: If38fc628ee5ab4729821f88c0050ab45375187b8
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-02 17:34:49 -04:00
Lakshmi Narayana Kalavala
6f3081e24d disp: msm: sde: dump lm rsvps when reservation fails
SDE driver currently does not dump the resource information
when there is a failure with reservation. This change
adds the logic to dump the layer mixer rsvps with
reservation failures.

Change-Id: Idcfb36b25bf8da18a9f6f803ba5de51aaa812334
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2019-07-02 14:06:02 -07:00
Abhijit Kulkarni
dcea657cce disp: msm: sde: avoid connector state mode update
There is a race condition between sdm thread and display thread, when
sdm thread may be accessing the mode_info field while duplicating the
connector state, display thread may be updating the current mode info.
This would lead to the next commit using invalid mode and could cause
wrong hw configuration.
This change removes copying the mode_info in encoder struct while
atomic check phase and also removes accessing the connector mode_info
during mode_set. The encoder struct is now updated at the mode_set
with the cached connector mode.

Change-Id: I069ed592ec017ce4aa5c9c94b340bf94c5e1ebff
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-07-02 12:57:31 -07:00
qctecmdr
40e4d191d3 Merge "disp: msm: sde: log intf framecount in event logs" 2019-07-02 02:26:16 -07:00
qctecmdr
3a81fc3744 Merge "disp: msm: sde: use high bandwidth threshold for crtc check" 2019-07-02 01:24:17 -07:00
Veera Sundaram Sankaran
c102669c98 disp: msm: sde: fix error return in plane atomic_check
In plane atomic_check function, the error code
from one of the checks is overwritten by the
return-value of subsequent check. This leads to
wrong return-value propagation resulting in
undefined behavior. Fix it to return the appropriate
error code on any failure.

Change-Id: I53b427d1b69c3ebfaa6709814bd9095676ff942d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-07-01 17:45:55 -07:00
qctecmdr
274a5a6fda Merge "disp: msm: sde: clean up LTM driver states when lastclose is called" 2019-06-28 23:39:13 -07:00
qctecmdr
e183a358bb Merge "disp: msm: sde: remove checks in LTM hist disable function" 2019-06-28 16:31:16 -07:00
qctecmdr
9d4d930487 Merge "disp: msm: sde: update max supported display height" 2019-06-28 12:37:53 -07:00