提交線圖

32 次程式碼提交

作者 SHA1 備註 日期
Samantha Tran
793d2a33d7 disp: msm: sde: destroy framebuffers after plane cleanup
Add framebuffer destroy immediately following plane cleanup
during secure display transition. Set state's fb to NULL
after destroying to avoid attempting to destroy fb again
during plane state destroy. Previously, framebuffer destroy
is happening after the context is detached while plane states
are being destroyed.

Change-Id: I273ce5b85c30962ea7e0a738a366487c9c85d4df
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-03-29 16:51:39 -07:00
Krishna Manikandan
e99063c7a3 disp: msm: stage layer with zorder 0 as base layer
Add support to stage layer with zorder 0 as base
layer and stage borderfill only during null commit.

Change-Id: I54356c1b7834227cc3da00c211e71ac5816ce51a
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-03-29 16:50:44 -07:00
Jayaprakash
8274efd919 disp: msm: sde: add plane check in continuous splash case
In dual display continuous splash case, there are certain
scenarios where pipe being used in secondary display at boot up
is allocated by primary crtc. Add check to return failure
in such cases.

Change-Id: I9047b6e7f91e59a9daff5089abb41017c068b449
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-03-29 09:51:49 -07:00
Steve Cohen
9992efa7a0 disp: msm: sde: separate horz/vert max downscale checks
Separate the horizontal and vertical max downscale checks
as pre-downscale introduced different limits on different
axes. Also cleanup the variable names for max downscale
limit when pre-downscale is not enabled.

Change-Id: If01aac1844d0bd5133502a50dbc38197e11da5d5
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-03-23 23:44:39 -04:00
Dhaval Patel
2843f86793 disp: msm: sde: support fps based qos setting
Support different safe, danger and creq qos lut
configuration based on display fps. It also removes
the fill level calculations from sspp and wb block
because mdss hw supports simple configuration.

Change-Id: I203e4300c9eab27d3632c890bedd6383cca0e5a8
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-03-02 09:52:47 -08:00
Steve Cohen
c4d617f2c2 disp: msm: sde: fix max downscale check for legacy HW
Legacy HW that does not support pre-downscale capability will
incorrectly fail certain scaling checks. Fix those checks to
fully support HW without pre-downscaler.

Change-Id: I8f645bbff959e176c1d4d05a30a580113e320d4b
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-01-31 14:33:01 -05:00
Steve Cohen
516780f4b3 disp: msm: sde: use helper to determine plane pre-downscale cap
The pre-downscale capability is checked in multiple places
within sde_plane.c file. Add a helper function to check this
capability flag instead of manually checking this bit.

Change-Id: I21f818a9d81dd63e5eb3da248532904cfa55c838
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-01-31 14:32:45 -05:00
qctecmdr
5645148693 Merge "disp: msm: sde: refactor use of master_plane_id" 2020-01-30 16:51:08 -08:00
Steve Cohen
391f478a8c disp: msm: sde: refactor use of master_plane_id
During plane setup, when a master plane ID is provided it means we
are initializing a slave plane for HW shared by the given master ID.
When master plane ID is 0 it means this is the master. This change
refactors the code to make this clear.

Change-Id: Ia2e3430e6f9f7e105eaf26f121753b676110abe5
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-01-21 16:23:18 -08:00
Steve Cohen
5a24970f70 disp: msm: sde: fix min pre-downscale check
De-couple the horizontal and vertical pre-downscale checks since
this block can be used in cases where only X-axis downscaling
is needed.

Change-Id: I2e7d30863baed98e9f7fa0a328837691f0bc75a5
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-01-20 18:12:55 -05:00
Narendra Muppalla
a0b168f7b3 Config: enable techpack display driver compilation for lahaina
This change enables display drivers code compilation
for lahaina target and current location of header files
is replacing the header files in usr/include/drm directory
before installing display specific header files. This change
ensures both the drm and msm_drv header files are exported
to user mode clients.

Change-Id: If6fc347598b902e670b7206dbcb82fe0740b3984
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-01-14 14:10:45 -08:00
Steve Cohen
2f6b16af77 disp: msm: sde: remove inline prefill properties
Don't expose the prefill requirements for inline rotation.
These values are not used within the driver, so move these
settings to user-space.

Change-Id: Ie1038c5804047fafe0ee3129b993d83d4d31b386
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2019-12-16 08:08:27 -08:00
Steve Cohen
60133f5ebb disp: msm: sde: pre-downscale support for inline rotation v2
Add support for enabling pre-downscale block to increase the
maximum downscale capability for true inline rotation use cases.

Change-Id: Ifa544bb0ae69439abef4bd427134290090fe7230
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2019-12-16 08:07:24 -08:00
Narendra Muppalla
d1d9ae8b19 Disp: Snapshot change for lahaina display driver
This snapshot change adds downstream support
for drm 5.x+(msm_lahaina branch) linux kernel.

Change-Id: Ia691c95da155a00e449c91a2f1a5b20a8e71aed4
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2019-11-24 12:30:51 -08:00
Samantha Tran
4de15bb6ef disp: msm: sde: check all dirty properties during plane update
Previously when updating a plane's dirty features, if the
dirty all flag was set, the optimization was to break early.
This optimization left out color property updates for that plane.
This fix removes the mutex locks in the msm_prop function so
the break optimization is no longer needed. Function callers will
now need to acquire the lock and unlock the property lock when done.
Now the plane will iterate through all dirty properties.

Change-Id: I3114ac44d62ac0f0633897d757b6fd9a5b1f5d2e
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-10-30 06:04:16 -07:00
Veera Sundaram Sankaran
b7ba56ff00 disp: msm: sde: fix inline rotator downscale ratio check
During the validation of inline-rotator downscale ratio,
in the plane atomic_check phase, the client_type is
derived from the crtc->state. This leads to wrong
client_type as in check phase, it has to be derived
from the new crtc state. Fix it to derive from
new crtc, which would in turn be used to get the
correct inline-rotator downscale ratio.

Change-Id: I109fc6fd81182b1cda1c4feefbf421d3fab433c7
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-09-18 13:28:17 -07:00
qctecmdr
103fc67d5c Merge "disp: msm: sde: add SSPP CP features to dirty list during IPC" 2019-08-22 01:20:22 -07:00
qctecmdr
778635ae10 Merge "disp: msm: sde: cache vbif QoS parameters" 2019-08-12 22:36:26 -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
Amine Najahi
0c7159de4f disp: msm: sde: cache vbif QoS parameters
Cache vbif QoS parameters to avoid unnecessary reprogramming
of plane vbif registers. This will reduce frame time and
frame drop count.

Change-Id: I20ed97bbac54fa9b11a8784d7a4004f1ccc00632
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-08-01 10:55:13 -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
qctecmdr
bfffbd8af1 Merge "disp: msm: sde: avoid duplicate fence create from client" 2019-07-11 20:21:39 -07: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
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
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
Prashant Singh
f434c0c38c disp: msm: sde: Add null pointer check for plane state
Add null check for plane state pointer before
dereferencing it.

Change-Id: Ic66efd11a70162ffe65c2137a5f19688314c45a5
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-06-14 11:18:10 +05:30
Ping Li
2f7e71ef4e disp: msm: sde: add SSPP CP features to dirty list during IPC
During idle power collapse use case, add VIG and DMA color processing
features to dirty list to make sure the color processing features are
reprogrammed after device resumes from idle power collapse.

Change-Id: Ia4f011827b6973f81ea96052068ba16a1a1c3326
Signed-off-by: Ping Li <pingli@codeaurora.org>
2019-06-06 18:10:24 -07:00
qctecmdr
51e46a53a0 Merge "disp: msm: sde: add per_pipe_bw_high option" 2019-05-21 11:20:01 -07:00
Samantha Tran
c423e14b22 disp: msm: sde: add per_pipe_bw_high option
This change populates values for per_pipe_bw_high
from the device tree. This value is exposed to userspace
as the bandwidth per pipe available in the no VFE
scenario.

Change-Id: I61346ee55dfd4b6b0736ecf0b96e061f4f3934c3
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-05-20 15:42:06 -07:00
Samantha Tran
0cbfaf1a4b disp: msm: fix out-of-bound access and NULL dereference
Fix possible out-of-bound access and NULL pointer
dereference in SDE and PLL driver.

Change-Id: Ic5c34b3b4c3e983413a0351c38206cf3f3ab3b1f
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-05-17 11:30:48 -07:00
Dhaval Patel
a74d2cf7fa disp: msm: add runtime_pm ops support in drm driver
Add runtime_pm ops support in drm driver instead
of direct sde_power_resource_enable/disable call.
It allows drm driver to use runtime pm refcount logic
to track the resources instead of custom implementation.
The change also removes the NRT_CLIENT support from
sde_power_handle code to simplify it further.

Change-Id: Ib14692dca5876703d0a230da2512d731b69b8ebb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2019-04-24 13:27:48 -07:00
Narendra Muppalla
3709853456 Display drivers kernel project initial snapshot
This change brings msm display driver including sde,
dp, dsi, rotator, dsi pll and dp pll from base 4.19 kernel
project. It is first source code snapshot from base kernel project.

Change-Id: Iec864c064ce5ea04e170f24414c728684002f284
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2019-04-14 22:20:59 -07:00