提交图

72 次代码提交

作者 SHA1 备注 提交日期
Jeykumar Sankaran
a521764b53 disp: msm: sde: populate connector modes during init
When continuous splash is enabled, KMS populates the modes of
a connector during splash config. With TUI VM enabled, this path
will also be exercised by trusted vm for splash handoff, where for
a given display we try to use the same HW blocks configured by
the primary VM.

Since the trusted VM invokes the path under connection_mutex lock,
calling fill_modes will lead to a deadlock. So, move the connector
mode population during init for DSI displays, since the modes are
available for the connector during initialization.

Change-Id: I12f920f4af84b7bccc97a5f5edb5117ada49b960
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-09-24 11:24:03 -07:00
Dhaval Patel
9ce6a2fbb3 disp: msm: sde: trigger esd recovery before event notification
ESD recovery schedules KICKOFF event on event_thread,
switches the vsync source to wd_timer and waits for
pending frame. This work is triggered from workthread
and it must be finished before panel dead event
notification to avoid race condition with power off
sequence. This change also cancels the delayed work
after encoder is disabled.

Change-Id: Iadc5753238a54e6dad3ff57a9b8ae3bd9644c0dc
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-09-22 16:53:49 -07:00
Satya Rama Aditya Pinapala
03f9c40e7d disp: msm: add allowed_mode_switch blob property
The change adds a new mode property allowed_mode_switch. The new
property is a 32bit bitmask that indicates the modes each mode
can switch to. This change is required to pass the driver mode
switching capabilities, so that user mode can reject any mode switch
that is not supported by the driver.

Change-Id: I76d1733a07a6d57487ba9f461055270d7e60e060
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-09-04 17:58:46 -07:00
qctecmdr
57807a5d97 Merge "disp: msm: dp: use base connector properties for mst connectors" 2020-08-20 23:40:52 -07: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
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
5cd8505102 Merge "disp: remove kernel mapping of writeback framebuffer" 2020-07-24 02:22:42 -07:00
Jeykumar Sankaran
f86e722e56 disp: msm: sde: control backlight update for trusted UI
Install backlight property only for primary VM and avoid
backlight updates when HW is not owned by the VM.

Change-Id: I35f26d5c41ea57c7271382a1fe571e65ee4520c1
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-21 13:29:28 -07:00
Satya Rama Aditya Pinapala
333ce300ee Revert "disp: msm: sde: control backlight update for trusted UI"
This reverts commit 7bb6e30418.

Change-Id: I615129778556434f2e9a4bd1224b07df7b09ec02
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-07-20 13:14:45 -07:00
Jeykumar Sankaran
7bb6e30418 disp: msm: sde: control backlight update for trusted UI
Install backlight property only for primary VM and avoid
backlight updates when HW is not owned by the VM.

Change-Id: Ief831661e2b9419a0b9d392742bf96300ecc0d48
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 09:22:51 -07:00
qctecmdr
06b7a6feeb Merge "disp: msm: sde: Register display brightness cooling device" 2020-07-13 08:57:51 -07:00
Narendra Muppalla
472784dfdd disp: remove kernel mapping of writeback framebuffer
This change removes the fb_kmap debugfs node along with kernel
mapping of writeback framebuffer. It also replaces dma_buf_kmap
calls with dma_buf_vmap.

Change-Id: I2fbee7fa5922071f6805d8e6df540ce87056bc0b
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-07-07 14:22:14 -07:00
Yuan Zhao
5bba78331d disp: msm: debugfs interface for sde connector to do DSI read
This change implements a new feature to read the cmds response
of the panel from sde connector interface. Sde connector opens
debugfs interface for all the connectors those have support for
cmd receive operation.

Sde connector init module creates rx_cmd debugfs file at
/<debugfs-root>/dri/0/DSI-1/ for DSI-1 connector.
Format for DSI command transfer:
echo "command bytes" > /<debugfs-root/dri/0/DSI-1/rx_cmd
byte-0: the length of received buffer
byte-1: data-type
byte-2: last command. always 0x01
byte-3: channel number
byte-4: flags. MIPI_DSI_MSG_*, must be set to 0xa
byte-5: 0x00
byte-6 and byte-7: command payload length
byte-8 to byte-[8+payload length]: command payload
Example:
echo "0x01 0x06 0x01 0x00 0x0a 0x00 0x00 0x01 0x0a" > rx_cmd
The command receive operations are allowed only if controller
(ex. DSI controller) is in active state.
Read the value of panel response:
cat /<debugfs-root>/dri/0/DSI-1/rx_cmd
returns the value of this command.
nothing - failure, xx xx - success.

Change-Id: I912b65d606e248c7a886d219f4363bf7766ee7b6
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-07-01 00:55:51 -07:00
Satya Rama Aditya Pinapala
182d88e3b9 disp: msm: handle panel detection after a pp done timeout
The change allows for multiple TE checks during a pp done timeout.
With this change, when a timeout occurs the panel status is checked
using the default ESD check status method followed by multiple TE checks.

Change-Id: If813964bab55c5e8113721060aa5b279f30fa5e0
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-06-29 15:52:01 -07:00
Jeykumar Sankaran
b87b13690b disp: msm: specify default value for msm enum property
Allow caller to specify the default value of the enum
property while installing with msm prop layer. It is
not always the case that the default value to be the
first entry.

Change-Id: Ie0bb1ad7479e3e07810b3d817fdf618b1935858c
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-06-17 15:36:33 -07:00
Ram Chandrasekar
53654b534a disp: msm: sde: Register display brightness cooling device
Register for getting a blocking notified call when the display cooling
device mitigates. Update the current brightness to the thermally allowed
level.

Change-Id: I20945a20751646e6d9bbf8bb7e7039c6ce43c306
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2020-06-16 13:45:39 -07:00
Abhijit Kulkarni
ccb6ded3b9 disp: msm: sde: fix hdr meta data property handling
Allow clients to reset the hdr meta data property even when
connector does not support hdr. This is required for shell stop
case cleanup when dp connector might be in disconnected state.

Change-Id: Ie0db61530216f1fab6c952933425259d32cfc834
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-06-03 16:06:37 -07:00
Abhijit Kulkarni
89151186f3 disp: msm: sde: switch esd detection to panel read
This changes the method of esd detection at tx timeout
from TE to panel status read for panels having status
read as default method.
When ESD is triggered, even if spurious TE interrupt fires
after resetting the panel gpio, driver correctly follows
the recovery after esd failure.

Change-Id: Ib33537319f128c038f5774829dfd09bab9664fea
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-06 13:23:04 -07:00
Amine Najahi
e7a890df11 disp: msm: sde: add 4LM topology variants in resource manager
Add 4LM topology variants in resource manager and in drm
connector topology name property.

Change-Id: I13e6eaafe60037b48d2c9d356f668b69720cbf48
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-05 23:04:15 -04:00
Narendra Muppalla
218244e58b disp: msm: update rm topology mapping tables
This change updates resource topology mapping tables and includes
logic to compare compression types for dsc vs vdc.

Change-Id: I1735edeb07aec8ed0065f84ac0824c58158412f3
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-05-04 22:47:11 -07:00
Gopikrishnaiah Anandan
718e224640 disp: msm: Install demura properties on connector
If DPU hardware supports demura feature, install the connector
properties related to demura feature.

Change-Id: Ieaddfc695e9f57e3c45e2bc0bd2c2e103f895ba8
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2020-03-30 17:41:51 -07:00
qctecmdr
845000ba36 Merge "disp: msm: sde: setting async cmd wait flag only for DSI" 2020-03-29 10:01:25 -07:00
qctecmdr
34b32d77f8 Merge "disp: msm: dsi: disallow backlight update during panel mode switch" 2020-03-20 20:33:23 -07:00
Satya Rama Aditya Pinapala
196502bc12 disp: msm: sde: setting async cmd wait flag only for DSI
Asynchronous command transfer wait during pre kickoff
is only applicable for DSI. The change ensures that
the flag is set only for DSI connector, otherwise it can
result in memory scribbling for other connectors.

Change-Id: I623f15cf13fcd3ae72f584d5ef8883570a848c93
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-18 15:08:02 -07:00
Lei Chen
3842597275 disp: msm: dsi: disallow backlight update during panel mode switch
DSI controller and clock will be disabled/enabled during panel mode
switch, so disallow backlight update during panel mode switch to
avoiding DSI exception.

Change-Id: I37e2f3c9aa929555593ffb53950521150ee7698f
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-17 19:34:51 -07:00
Dhaval Patel
9652f27293 disp: msm: avoid esd check during pm_suspend state
Avoid esd check during pm_suspend state because core
clock enable will fail. This change adds additional
check and also adds the clock enable failure check.

Change-Id: Ie8bfa4f74d323ff15a07fb037675f07ab942f016
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-17 19:31:26 -07:00
Tatenda Chipeperekwa
5977818ac3 disp: msm: dp: use updated colorimetry and DSC definitions
Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: I28482380124734680e46904b8d536ebadba8cc60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-12 18:06:52 -07:00
Tatenda Chipeperekwa
310e888d0f Revert "Revert "disp: msm: sde: remove colorspace property from connector""
This reverts commit 7470449242.
This is required to satisfy cross component dependencies with
kernel-5.4.

Change-Id: Idba2983923a8605ec0a05408da48f7549730035d
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-04 17:49:00 -08:00
Tatenda Chipeperekwa
43599c49a3 Revert "disp: msm: dp: use updated colorimetry and DSC definitions"
This reverts commit 982574f095.
This is required to satisfy cross component dependencies with
kernel-5.4.

Change-Id: I979e0371973376c46f2a11659348df726be2679d
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-04 17:48:27 -08:00
Tatenda Chipeperekwa
982574f095 disp: msm: dp: use updated colorimetry and DSC definitions
Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: Ie52aed2df2f6c3f2df1e4129f342a85256f8fae4
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 10:35:12 -08:00
qctecmdr
f1c8d9f378 Merge "Revert "disp: msm: sde: remove colorspace property from connector"" 2020-03-03 09:08:48 -08:00
Tatenda Chipeperekwa
7470449242 Revert "disp: msm: sde: remove colorspace property from connector"
This reverts commit 483c9fdff4c611f250574fe6909cd8e5336808f5. It
is no longer needed on kernel-5.4 as all the upstream changes are
now available.

Change-Id: I11b0317c0e05ea2fe03fb1af734a79a1174b1922
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-20 19:41:31 -08:00
Abhinav Kumar
2e1c9a0751 disp: msm: remove drm_connector usage for colorspace
Move away from using the supported colorspaces in drm_connector
and replace it with sde_connector to satisfy GKI requirement.

Change-Id: I947c91ea6672e242e572151f72cf0db2e71990cb
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:32:02 -08:00
Abhinav Kumar
f1959d903b disp: msm: replace usage of drm_connector with sde_connector for hdr10
Since the HDR static metadata block parsing has been moved to
the sde edid parser, replace the usage of drm_connector with
sde_connector for hdr10 so that the modifications to drm_connector
can be removed.

Change-Id: I4526cda426c46708d3689eb8b993b7a4f50d32ae
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:31:42 -08:00
Abhinav Kumar
849041b3fe disp: msm: replace usage of drm_connector with sde_connector for hdr10+
Since the VSVDB parsing has been moved to the sde edid parser, replace
the usage of drm_connector with sde_connector for hdr10+ so that the
modifications to drm_connector can be removed.

Change-Id: I7d69aa533e71fa45bfc578db24c17bb23e499c4a
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 13:47:39 -08:00
qctecmdr
9beffdfdc6 Merge "disp: msm: sde: program dither based on input data" 2020-02-10 17:19:07 -08:00
Narendra Muppalla
f402d8e542 disp: msm: sde: program dither based on input data
This change programs dither based on user mode input data and
reprograms the dither when device comes out of power collapse.

Change-Id: I83be20c8eb2dc2221cc57cd2395f6512338ff6ef
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-02-10 15:33:42 -08:00
Tatenda Chipeperekwa
9fd310830e disp: msm: sde: remove colorspace property from connector
Remove colorspace property from connector until upstream
changes are merged and we can validate the related features.
This change is required to enable DP bring up activities.

Change-Id: I6c1af61732e572b2ffd16e0a323d08154aa83b53
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-06 11:19:37 -08:00
Abhinav Kumar
c4f5050e13 disp: msm: add VDC topology related changes
Add support to configure the DPU pipeline to support VDC-m
topologies.

Change-Id: Ib8ce9a0eaeaa838759fb09cb2ee164d4765e4989
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-01-29 13:45:35 -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
qctecmdr
d34c5f2215 Merge "disp: msm: add check for buffer length before copy" 2019-11-01 12:09:12 -07:00
qctecmdr
46ec8687c0 Merge "disp: msm: sde: check all dirty properties during plane update" 2019-10-31 22:54:19 -07: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
Satya Rama Aditya Pinapala
8bc240b71d disp: msm: dsi: handle wait for dma cmd completion
The current solution triggers the DMA command and waits till
the command dma done and ISR signals completion. This change
introduces asynchronous wait after a DCS command has been
triggered. Enable this mode only during pre kickoff, so as to not
block commit thread.

Change-Id: Iead7b6328883e844147d47ff68dc878943879553
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-10-29 18:40:25 -07:00
Satya Rama Aditya Pinapala
be08b4e451 disp: msm: add check for buffer length before copy
Length of the buffer to be copied is checked
against both source and destination buffer lengths
before copying. This ensures that there is  no
buffer overflow while reading as well as writing.

Change-Id: I4bd1a5892b47771aef4c23a4d1594fc1c8361577
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-10-21 17:06:59 -07:00
Jayaprakash
aad3dd4525 disp: msm: sde: update avr mode config during commit prepare
Add changes to support avr mode config update during
prepare commit which happens before gpu fence wait
for the input buffers.

Change-Id: Ib2cb5b7e1f10501914c003f6cf066b85048f79d4
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2019-10-18 12:53:56 +05:30
Jayaprakash
985ffddc71 disp: msm: sde: add one-shot qsync mode support
Add support to enable one-shot mode during qsync
update. This feature ensures the frame drops can be
reduced due to delayed software flush for the
current commit. Also, add changes to disable the qsync
feature post commit.

Change-Id: Icb158853f52284bcf8fa641e5f62200c5460b660
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2019-10-18 12:53:17 +05:30
Jayaprakash
ad40a300a1 disp: msm: sde: allow qsync support along with VRR
Allow Qsync and VRR features to be supported independently
by display driver. Restrict the feature availability in
same composition cycle.

Change-Id: I696eb72a2b4f9451e142ffdc5acccc8987c36b6d
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2019-10-17 17:07:33 +05:30
qctecmdr
60d59191c8 Merge "disp: msm: dp: add colorspace property for MSM DP" 2019-07-28 01:12:00 -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