Commit Graph

2387 Commits

Author SHA1 Message Date
Steve Cohen
65f3cc37a4 disp: msm: dsi: allow cmd-engine enable/disable HW op at all times
In cases of continuous splash, when command engine is
enabled/disabled as part of commands that are sent before
continuous splash config is called the HW op will disable the
command engine by the end of the command transfer. As part of
continuous splash handoff, the command engine enable call skips
the hardware operation to actually set the CMD_ENGINE_EN bit
as it is guarded by the skip op flag.

With the current change, we allow the HW op to take place, despite
continuous splash being enabled. This way, the HW will always maintain
the correct state pre and post continuous splash handoff.

Change-Id: Id32ebf6f0d7eac46c118b701c138fcf6b9b10318
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-07-09 12:22:17 -07:00
qctecmdr
96d560a883 Merge "disp: msm: dsi: remove seamless dms flag during active changed" 2021-07-09 08:37:09 -07:00
qctecmdr
54ff96efb7 Merge "disp: msm: avoid using spinlock while adding evtlog entry" 2021-07-09 06:49:14 -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
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
Nilaan Gunabalachandran
ab52bfd181 disp: msm: sde: poll for rsvp nxt after idle
During mode enable after idle, rsvp next would be be set without
rsvp cur. Back to back test only should be serialized, but currently
this would be possible right after idle. This is established by
commit 11aab5f9c3 (disp: msm: sde: Fix null dereference errors).
This change updates the condition to poll for rsvp next clear
during this usecase as well.

Change-Id: I300254967cbec69fff8b31545b8d659afc56f283
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-06-15 13:12:32 -04:00
Ritesh Kumar
d52b019c50 disp: msm: dsi: fix kasan out of bound in dsi reception
Fix out of bounds access that occurs when reading dsi
commands with custom non 4 bytes aligned payload.
When misaligned, the code is overfetching data due
to 32 bits reading constraint. This creates an offset
in receiving buffer. Using a local copy buffer large
enough to hold the extra bytes fixes the issue.

Change-Id: Ia0ee791d2e87639edd58191cfd5cb6f8f825f8c8
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-06-15 21:48:42 +05:30