Revīziju grafs

2439 Revīzijas

Autors SHA1 Ziņojums Datums
Satya Rama Aditya Pinapala
28f8734077 disp: msm: fix CPU mapping for memory buffers
The DMA buffers used by the display module are cached buffers. While
mapping to the CPU, pgprot_writecombine should only be used for uncached
buffers. The change fixes this mismatch during virtual address mapping.

Change-Id: I2f54375b4eb4071d9bbcae44449bb6c99feb24a6
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-07-08 10:47:21 -07:00
Ritesh Kumar
bae72f6a9b disp: msm: dsi: Add support to enable LP11 insertion feature
Some panels may require that the DSI link returns to the low-power
stop state (LP11) after transmission of every line. If a panel
requires that the DSI link returns to LP11, apply the LP11
insertion between lines feature.

This change adds support to
 - Disable the command mdp burst mode
 - Enable mdp idle ctrl
 - Program the No. of dsi pclk cycles of idle time to
   insert between command mode mdp packets. The idle time
   must be long enough to cover the time link takes to
   switch between HS to LP11 mode.

Change-Id: Ie718d334f05ce6c1ecd1a05b379bbbe18dec6330
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-07-08 10:37:43 -07:00
Yashwanth
ddd671b0d7 disp: msm: sde: reset dim layer dirty prop during idle pc
During idle power collapse, dim layer dirty flags are
stored in sde_crtc_state which might be invalid if state
swap occurs. This change adds revalidate mask in sde_crtc
structure to revalidate after coming out of idle power
collapse.

Change-Id: Ie2f34a794896a3f8e729ef7d1f3ae35340123257
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-07-08 10:24:48 -07:00
Jayaprakash Madisetty
0e3d422520 disp: msm: sde: remove fb's attached to a drm_file in preclose
This change avoids upstream drm issuing drm_atomic_commit in
drm_fb_release which is leading to artifacts on screen or
atomic_check failures due to atomically unstaging each fb
from plane_state and committing remaining planes on hardware.

 a) This patch moves the state operations for setting crtc to
    connector state to a helper api.
 b) This patch clears any dim_layers present in the crtc_state
    as part of null commit.
 c) This patch removes any framebuffers attached to a drm_file
    in msm_preclose whose refcount is not managed by composer kill
    inadvertently and issues null flush to hardware in such cases.
 d) This patch handles msm_preclose as part of msm_release
    operation since legacy feature is not supported
    for msm_driver.

Change-Id: Ib2068d74d4b23b73b7c84544858c9f6bb6adfa67
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-07-08 10:24:32 -07:00
Jayaprakash Madisetty
2df01bf3aa Revert "disp: msm: sde: remove all preclose logic"
This change reverts commit ae2dceb0b6 ("disp: msm:
 sde: remove all preclose logic"). This change also
modifies the force disable plane logic since
__drm_atomic_helper_disable_plane is not exposed to
drivers.

Change-Id: I89e19dead9ade724798952b1934b45b5663e1a42
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-07-08 10:24:32 -07:00
Lei Chen
79d30e7fba drm/msm/sde: add check to fix null pointer dereference
Check if sde_enc->crtc exists before using the variable
to avoid possible NULL dereferences.

Change-Id: If7b56c3b3ad3525b3efc22b6536a2dc5c865da48
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2021-07-07 23:04:45 -07:00
Samantha Tran
ae94f07d6e disp: msm: avoid using spinlock while adding evtlog entry
Add support to use atomic variable instead of spinlog
for event log while adding enries. This change will
help optimize event log writing time.

Change-Id: I83661b85cd76ca738729ac51aa5afd97d162508d
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-07-07 16:25:32 -07:00
qctecmdr
6a01182c1e Merge "disp: msm: sde: update max_dp_dsc_count in dsc switch case" 2021-07-07 01:25:31 -07:00
qctecmdr
a5acd198d1 Merge "disp: msm: sde: remove unused variable topology from sde_encoder" 2021-07-06 20:13:22 -07:00
qctecmdr
dec0bb3812 Merge "disp: msm: sde: allocate virtually contiguous memory" 2021-07-01 21:32:34 -07:00
qctecmdr
b1113430b2 Merge "disp: msm: sde: stage white frame when input fence has error set" 2021-07-01 10:03:00 -07:00
Anjaneya Prasad Musunuri
e719a10f9f disp: msm: sde: allocate virtually contiguous memory
This change uses kvzalloc to allocate memory for lutdma buffers.
This is needed since kernel cannot guarantee that physically
contiguous allocations greater than 32 KB will succeed.

Change-Id: I91c12bbd612408692ba8e4a3cd9ac1ce308eda64
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-07-01 03:19:03 -07:00
qctecmdr
bb76263607 Merge "disp: msm: dsi: add warning message for rx debugfs commands during suspend" 2021-06-30 21:31:16 -07:00
qctecmdr
fada9dc2ca Merge "disp: msm: dsi: batch ROI DCS commands together" 2021-06-30 21:31:16 -07:00
qctecmdr
1d9cf1d656 Merge "disp: msm: dsi: Remove unused for loop in ESD reg read validation" 2021-06-30 17:31:12 -07:00
Satya Rama Aditya Pinapala
38a94cc558 disp: msm: dsi: add warning message for rx debugfs commands during suspend
Change adds a check to return a warning rather than an error during a
debugfs read command transfer while the device is suspended.

Change-Id: If65ba642f73f4c8e6b9609bbed6e376ef7836145
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-06-30 15:44:28 -07:00
Ritesh Kumar
fabb811119 disp: msm: dsi: Remove unused for loop in ESD reg read validation
In ESD register read validation, a for loop is used to increment a
local variable with the length of ESD command. But this is unused
in the validation of the read data. This change removes the unused
for loop.

Change-Id: I6d1a9233061ee33a2b5390e2f922a2412af7d605
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-06-29 23:20:47 -07:00
Satya Rama Aditya Pinapala
87e1c4f2b2 disp: msm: dsi: batch ROI DCS commands together
The CASET and PASET commands can be batched together and sent using the
MIPI_DSI_MSG_BATCH_COMMAND flag. This was during pre kickoff there is
no unnecessary wait between the ROI commands.

Change-Id: I96ce30367f66024dc56f67bc1f113cac36353a9b
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-06-29 12:12:02 -07:00
Yashwanth
e57b8443cc disp: msm: sde: avoid using spinlock for register log
Add support to use atomic variable instead of spinlock
for register logs during register write. This change
helps in reducing the run-time and is safe to use as
most of the register writes happen in commit context.

Change-Id: Ib7e377f80cbf437e391792b0b424cbd1eefdf497
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-29 09:40:32 -07:00
Jayaprakash Madisetty
911ec46c9f disp: msm: sde: stage white frame when input fence has error set
Add changes to check for error status in dma_fence on task wakeup
and when error is set white frame gets staged to handle such input
fence failures.

Change-Id: I8f3c9f746334c6d03a272ab4e33f51afb84057ea
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
2021-06-29 20:39:04 +05:30
Lei Chen
be82344413 disp: msm: sde: remove unused variable topology from sde_encoder
Topology in sde_encoder is no longer used, so remove this
variable from sde_encoder.

Change-Id: Iba02ae690d81d39252d0df83882a72e35f2916ec
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2021-06-29 14:17:59 +08:00
qctecmdr
8b0b1d1c51 Merge "disp: msm: update debug log for color processing features" 2021-06-25 01:58:00 -07:00
Ping Li
e96b53ea1f disp: msm: update debug log for color processing features
Replace the DSI_DEBUG logs with pr_debug logs for backlight related
color processing features. DSI_DEBUG logs cannot be enabled dynamically
by the /sys/kernel/debug/dynamic_debug/control sysfs node, hence move to
pr_debug instead.

Change-Id: I6a6e2fcd81cacef9e5ec7c061fae8f4cf2b7106d
Signed-off-by: Ping Li <pingli@codeaurora.org>
2021-06-24 11:55:23 -07:00
Yuan Zhao
ffd7e1d4b1 disp: msm: dsi: only check clock lane ulps status for DPHY
Clock lane can enter ino ULPS mode only in DPHY mode. For
CPHY, did not need to check the clock lane status for ULPS.

Change-Id: Iceddd8064ec75ce26613469cfb1bde36e883f865
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2021-06-24 14:58:23 +08:00
qctecmdr
1074406893 Merge "disp: msm: avoid miscalculation in dsi debug bus dump size" 2021-06-23 12:47:09 -07:00
qctecmdr
4487d04c54 Merge "disp: msm: dsi: create generic interface for read poll timeout" 2021-06-23 04:01:00 -07:00
Yashwanth
084a57842a disp: msm: dsi: remove seamless dms flag during active changed
During DSC to Non-DSC switch or viceversa, DMS flag is set
which cannot be treated as seamless during active changed
condition. Hence, DMS flag is removed if set during active
changed condition.

Change-Id: I5ebd33a339aea7d6fab297a4c57ad90eb7bd442c
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2021-06-23 13:57:25 +05:30
qctecmdr
f83978b07b Merge "disp: msm: dsi: fix kasan out of bound in dsi reception" 2021-06-23 00:02:16 -07:00
qctecmdr
d2ac3d143c Merge "disp: msm: sde: do not expose Demura CWB tap point capability" 2021-06-23 00:02:16 -07:00
qctecmdr
14afd4ea1c Merge "disp: msm: fix issues in hdcp2p2 repeater authentication" 2021-06-23 00:02:16 -07:00
qctecmdr
cf799d8de0 Merge "disp: msm: sde: add changes to fix the sde fence signaled logic" 2021-06-23 00:02:16 -07:00
Vara Reddy
47c9fdca01 disp: msm: fix issues in hdcp2p2 repeater authentication
Change fixes issue where HDCP 2p2 authentication process
was broken for repeater usecases.

Change-Id: Iae7fc6a2cabd5e5a592d7e234f11d748539124e5
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2021-06-22 12:16:55 -07:00
Nilaan Gunabalachandran
f3c66e9c1b disp: msm: dsi: create generic interface for read poll timeout
Creating a generic api that can be used with the driver
for read poll timeouts. This allows for easy overriding
of the function, if necessary.

Change-Id: I7bc5176ebabe782089b1a4d6e94c17ad3eb9ada4
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Signed-off-by: Michael Ru <mru@codeaurora.org>
2021-06-22 11:43:56 -04:00
Michael Ru
f470ecf038 disp: msm: dsi: consolidate DSI HW register macros
Cleanup DSI HW register access layer to minimize the number of macros that
access readl/writel functions.

Change-Id: Id78025b3837f9126f64681b4c1c1e13aec762081
Signed-off-by: Michael Ru <mru@codeaurora.org>
2021-06-22 11:43:48 -04:00
Samantha Tran
9d67c9da7a disp: msm: sde: do not expose Demura CWB tap point capability
This change removes exposing Demura CWB tap point capability
to userspace.

Change-Id: I7be24a2004ce489fca76593cdb9f75e8b52d4461
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-21 15:21:19 -07:00
Michael Ru
f206e6f921 disp: msm: dsi: remove unsupported PHY versions
Removes files and version checks for unsupported DSI PHY versions.

Change-Id: I47223a3860e3bcf48eb3b74e405064d8eb375f16
Signed-off-by: Michael Ru <mru@codeaurora.org>
2021-06-21 17:39:20 -04:00
Michael Ru
421281c0f6 disp: msm: dsi: remove unsupported Controller HW
Removes files and version checks for unsupported DSI Controller
HW versions.

Change-Id: Ic0acd34959ddfcf2db79102857e15f4e06da1d3a
Signed-off-by: Michael Ru <mru@codeaurora.org>
2021-06-21 17:37:51 -04:00
Prabhanjan Kandula
5fbf873b7b disp: msm: avoid miscalculation in dsi debug bus dump size
Fix dsi count calculation which is used in determining size of
the memory allocated for dsi debug bus dump of all dsi controllers.

Change-Id: I22462eff41ebafde787a6cf4c1751104846bc6a5
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-06-21 12:35:06 -07:00
qctecmdr
036bf2584c Merge "disp: msm: sde: assign correct size for sspp color proc feature data" 2021-06-20 01:23:41 -07:00
qctecmdr
3e829e3e62 Merge "disp: msm: dsi: add HW programming for split link clock ctrl" 2021-06-19 14:33:14 -07:00
qctecmdr
9adf97bd10 Merge "disp: msm: dp: change the detect callback to detect_ctx" 2021-06-18 21:58:17 -07:00
Ping Li
1971601fbd disp: msm: sde: assign correct size for sspp color proc feature data
Instead of hard coding the size of the blob data, pass the exact
size retrieved from drm property framework to color processing layer.
Color processing layer has size check to make sure the blob data size
matches the expected size.

Change-Id: I277f9be1ba84e4e4707847756a9ed0ea1ed23f53
Signed-off-by: Ping Li <pingli@codeaurora.org>
2021-06-17 20:56:11 -07:00
qctecmdr
40f770fc53 Merge "disp: msm: sde: fix color processing property handling in crtc state" 2021-06-17 00:55:05 -07:00
qctecmdr
b5db7f9016 Merge "disp: msm: sde: use dma_fence_signal_timestamp api for fence signal" 2021-06-16 15:32:50 -07:00
qctecmdr
69fb2edab7 Merge "disp: msm: replace iommu_attach/detach with iommu_sid_switch" 2021-06-16 15:32:50 -07:00
Linux Build Service Account
38c32e36d1 Merge "disp: msm: sde: program qseed through ahb" into display-kernel.lnx.5.10 2021-06-16 15:19:39 -07:00
Linux Build Service Account
9c4e8b157c Merge "disp: msm: sde: add esd check during wr_ptr wait" into display-kernel.lnx.5.10 2021-06-16 15:19:38 -07:00
Linux Build Service Account
2a08ea7da0 Merge "disp: msm: dsi: fix illegal memory access " into display-kernel.lnx.5.10 2021-06-16 15:18:38 -07:00
Sudarsan Ramesh
65f1c136ea disp: msm: dp: change the detect callback to detect_ctx
The connector detect function is currently implemented as a
callback from the framework, and creates a context before
calling the detect_port_ctx MST callback. This change updates
the callflow so that the framework calls the new detect_ctx
function in the MST case. This removes the need for creating a
new context before calling further downstream functions.

In addition, references to the mst_connector_get_info
function were replaced by connector_get_info to avoid
redundancy.

Change-Id: I224d09e77fad4b6925a42b1bc912a05e3e4d060a
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
2021-06-16 15:57:54 -04:00
Jayaprakash Madisetty
08278cb8cb disp: msm: sde: add changes to fix the sde fence signaled logic
This change allows signalling of sde fences when sequence number is
less than done_count. In current scenario, fence is not signaled as
the subtraction result is not typecasted to int before updating
the status causing the UI thread to block on sde fence.

Change-Id: I3ca62222e0c67223b9eaf299474a2c282d761d3a
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-06-15 14:55:49 -07:00