Commit graph

1,190 commits

Author SHA1 Message Date
qctecmdr
d832e58ba2 Merge "disp: msm: dp: return -ENODEV when USBPD module is not enabled" 2020-06-12 03:53:36 -07:00
qctecmdr
d9b4204aad Merge "disp: msm: sde: add vig formats before qseed and csc initializations" 2020-06-12 00:11:19 -07:00
qctecmdr
88abc2fad2 Merge "msm: sde: Uprev IGC version to 4.0 to indicate existence of LUT 257" 2020-06-11 20:34:33 -07:00
Tatenda Chipeperekwa
11a51b0ef5 disp: msm: dp: return -ENODEV when USBPD module is not enabled
Return ERR_PTR with -ENODEV when the USBPD module is not
enabled. This allows the DP driver to handle the failure
correctly and prevents any potential NULL pointer
dereferencing in the clean up path.

Change-Id: I4fbc559276bebe770a27935243a59c10c1bb5491
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-06-11 12:53:43 -07:00
qctecmdr
621a624d8c Merge "disp: msm: fix kw issues in sde driver" 2020-06-10 17:06:50 -07:00
qctecmdr
8975496690 Merge "disp: msm: sde: adjust DSC encoders to support all 4LM topologies" 2020-06-09 23:42:41 -07:00
Christopher Braga
394f727493 msm: sde: Uprev IGC version to 4.0 to indicate existence of LUT 257
Change IGC version to 4.0 to clearly indicate that support
for LUT 257 in DSPP is now supported and expected.

Change-Id: Ie3bb5b0150bdf6c332f86d0ae416b4f6fc42e70f
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2020-06-09 18:41:48 -07:00
Amine Najahi
ed868466f5 disp: msm: dp: Extend mode filtering to support 8K
Currently DP driver determines if a mode is DSC capable
based on a DTSI entry and the required number of DSC
to support it. This approach does not scale when there
is an overlap in DSC requirement between DSI displays
and external DP display, thus causing one of the display to
report modes that cannot be supported.

This change compares the resources reserved for DP driver
calculated at initialization time and the currently available
ones to determine the correct number of resources that DP driver
can use. It also adds DSC and topology filtering logic and moves
DSC hardware specific from DP driver to SDE driver.

Change-Id: I8e601de33422b7c6d786826f7bfe152c4af8a6b5
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-06-09 09:17:38 -04:00
santosh
fb72c8faa8 disp: msm: sde: add vig formats before qseed and csc initializations
Setup vig pipe makes an early return if csc and qseed are
not supported. This change moves addition of vig formats
before intializing qseed and csc.

Change-Id: I2eb651f7bbd81757a9de23501fda51a510d0e673
Signed-off-by: santosh <santoshkumar@codeaurora.org>
2020-06-08 11:40:05 -07:00
Jayaprakash
19253d6e19 disp: msm: sde: modify the args for sid switch call
Modify the size of SID's passed as an argument during
scm call as per client requirement.

Change-Id: Idd3bb57a8f9e0a4e7eb6a23d96bfa5b68510063a
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-06-08 11:39:59 -07:00
Krishna Manikandan
9cb06f9b21 disp: msm: avoid unlocking mutex_lock twice
Remove mutex unlock from msm_gem_get_iova_locked
as acquiring and releasing the lock are handled
in the caller function.

Change-Id: Ie4a8408d3e6308d19eb26aafee8dfe15bcb682da
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-06-08 11:39:54 -07:00
Krishna Manikandan
74f3b5a9de disp: msm: sde: allow kthread init for off work during cwb
During transition to cwb, kthread initialisation has to
be done for the corresponding encoder off work so that
the correct worker thread is used for this particular
work. There can be scenarios where a cwb commit is
received after a writeback session and the worker
associated with the off work is still assigned to
old crtc's worker resulting in a mismatch when
this work is queued. Add support to handle such
scenarios.

Change-Id: I6080025e799977827f4d0f4ab7eb93c6644f981e
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-06-08 11:39:48 -07:00
Raviteja Tamatam
889c4786ae disp: msm: sde: enable dim layer setup event log
Enable dim layer event log to know the composition of all
blend stages in a commit from xlogs.

Change-Id: I387fd888f06f0c61d2042896459119d614b3f60b
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-06-08 11:39:43 -07:00
Yashwanth
5792eb97d1 disp: msm: sde: add check for max encoder limit during allocation
This change checks max limit while allocating encoders
during display init.

Change-Id: I48736667c2b83f916f09f9e81cb1b24a9fef215a
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-06-08 11:39:36 -07:00
Yashwanth
45e57a9f87 disp: msm: sde: add ubwc verification during plane atomic check
In targets where ubwc is not supported, atomic check
should fail and return a error value if the input format
is ubwc.

Change-Id: I21a40f510cc852e64fbcc05a5fb4848da4b4faaa
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-06-08 11:39:31 -07:00
Jayaprakash
11aab5f9c3 disp: msm: sde: Fix null dereference errors
Add changes to avoid NULL dereference access and
uninitalized access in sde driver.

Change-Id: Ic9c06f54d1ccd820973fc0ba4aa75d2848f2ce03
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-06-08 11:39:25 -07:00
Ray Zhang
3bfb8cafce disp: msm: support framebuffer emulation in KMS driver
framebuffer support is required in some use cases, so add
framebuffer emulation for KMS driver.

Change-Id: Icf0bbcd59ca430478d2bef4df033988d0338f2bb
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2020-06-08 11:39:17 -07:00
Yashwanth
4194c7b7cd disp: msm: sde: add dt based support for pm qos irq latency
This change adds dt based support for pm qos irq
latency instead of using hardcoded value.

Change-Id: I9f67ed1092eefac193a409773f841350532bc722
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-06-08 11:39:09 -07:00
Jayaprakash
bada02f317 disp: msm: sde: add changes to fix get connector failure in rm_release
Currently during rm_release, drm_conn is available only if connector
and encoder are bound together. If a test_only commit occurs
before a non-blocking modeset commit, this bound is uncertain.
The resources allocated by test_only commit will not be released
and leads to resource allocation failures for the consequent
commits. Add changes to modify this by checking for the encoder
attached to sde_connector which happens during bootup.

Change-Id: Icb1d9595efda8a104ba527175b2dbc6a2c856d44
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-06-08 11:39:03 -07:00
Dhaval Patel
83860f0642 disp: msm: pass free dsc and lm availability info to dp
Primary and secondary dsi displays are built-in displays
and they are supported during all concurrency usecases
without resource allocation failure. DP mode filter
logic should provide supported mode information based
on free mdp resources after dsi resource assignment.

Change-Id: I3a9637a91ea1ffcc31997e25caff7f13605283ac
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-06-07 22:57:26 -07:00
qctecmdr
fae3dc03b4 Merge "disp: msm: sde: fix system cache feature enable" 2020-06-05 13:33:28 -07:00
qctecmdr
f9ce7b97be Merge "disp: msm: sde: allow rect1 only configuration" 2020-06-05 13:33:28 -07:00
Narendra Muppalla
5a1af16b1a disp: msm: fix kw issues in sde driver
This change addresses out of range and null checks in
sde driver.

Change-Id: I4ee82760ce3ee7053c336e49ec9eaae8b4c31b1e
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-06-05 10:48:46 -07:00
Prabhanjan Kandula
71f615345a disp: msm: sde: fix system cache feature enable
In current driver if client did not reset system cache
crtc property, system cache write state is on forever and
breaks the system cache feature. This change restricts
entering into cache write state only if it's commit right
after idle notify. This change also adds event logs to
capture system cache feature state changes.

Change-Id: Ie46fc9113f752ed8989dab99301690a13003b00b
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-06-03 19:10: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
842e86013e disp: msm: sde: allow rect1 only configuration
This change allows the configuration where virtual plane is
staged without staging the corresponding master plane. Hw allows
such configuration and additionally during shell stop cases,
framework removes each staged plane one by one which requires
this configuration to be supported.

Change-Id: I85ce571dbbc148c069c2cf35cba55ad740d52b5d
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-06-02 16:10:35 -07:00
qctecmdr
077c72680b Merge "disp: msm: sde: avoid cpu wakeup with vsync event timer" 2020-06-01 15:25:32 -07:00
qctecmdr
048211256b Merge "disp: msm: sde: trigger pm_qos vote with irq enable" 2020-06-01 12:12:50 -07:00
qctecmdr
63aa89a0b2 Merge "disp: msm: dsi: update threshold time for high refresh rate" 2020-06-01 09:04:11 -07:00
qctecmdr
fc27d51acd Merge "disp: msm: sde: fix static cache programming" 2020-05-31 11:49:34 -07:00
qctecmdr
311e8979ef Merge "disp: msm: dsi: remove dsi FIFO error logs from dsi ISR" 2020-05-31 11:49:34 -07:00
Yuan Zhao
922e8addd8 disp: msm: dsi: remove dsi FIFO error logs from dsi ISR
Lots of dsi FIFO error logs were printed into serial in
dsi ISR. It will make device stuck or deadlock. Remove
these logs from dsi ISR, and enable the log in FIFO error
workqueue handler.

Change-Id: I0e9b2312cb76d345ec5a9b9628c52b47d5163fde
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-05-29 19:06:31 -07:00
Yuan Zhao
1cae362239 disp: msm: dsi: change the log level in seamless transition
This is a common case that seamless transition was rejected
when active/connectors changed, so just print an info log here.

Change-Id: Iada9ad84af1c072ccdbc97f5bf438de6a032f45f
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-05-29 19:06:21 -07:00
qctecmdr
d78fbd1952 Merge "disp: msm: dp: Add event logs for HDCP sessions" 2020-05-29 12:33:42 -07:00
qctecmdr
2dfa258d71 Merge "disp: msm: sde: update wb line width for linear format" 2020-05-29 05:13:06 -07:00
Amine Najahi
b121756b5d disp: msm: sde: adjust DSC encoders to support all 4LM topologies
Add support for all 4LM topologies in new DCE encoder framework.
This change also aligns with the new way of checking topology
information.

Change-Id: I5358d60634070bdb26059056db884ad4161c073e
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-28 19:25:09 -07:00
Nilaan Gunabalachandran
1fedb0a712 disp: msm: sde: fix static cache programming
Add smmu cache hint at during the msm gem prime import
to ensure memory is cacheable. Ensure sys cache feature
is added to all sspp, not just vig.

Change-Id: Icc10468ad8d3e7c6aabd437776cde99eb627375a
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2020-05-28 20:36:51 -04:00
Tatenda Chipeperekwa
a9743e0a24 disp: msm: dp: register for USB notifications
Register for USB cable notifications so we can manually trigger
a disconnect event if the USB cable is disconnected during a
simulation.

Change-Id: I08a9313bcde3e74f2a76804e934423e0fc2d6ab6
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-28 15:50:29 -07:00
qctecmdr
707ce010fe Merge "disp: msm: sde: fix bandwidth voting in resume usecase" 2020-05-28 11:37:41 -07:00
Satya Rama Aditya Pinapala
2c4a439950 disp: msm: dsi: update threshold time for high refresh rate
Use lower frame threshold time for high refresh rates. For resfreh rates
greater than 120 FPS the threshold time is 500us.

Change-Id: Ie5a37c0eec6c2c2cbf90e039eb6b15bc7edd2492
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-05-28 10:06:11 -07:00
Dhaval Patel
8278fa6b3e disp: msm: sde: avoid cpu wakeup with vsync event timer
Vsync event timer wakeup was designed to reduced the
interrupt latency and trigger retire fence without delay.
This is fixed by avoiding CPU power collapse where MDSS
interrupt is scheduled. This change avoids extra CPU
wakeup.

Change-Id: Iadaf0e2b84fb079bbc64d9201230df54f8dbe8c1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-05-27 17:46:18 -07:00
Dhaval Patel
d46cae019e disp: msm: sde: trigger pm_qos vote with irq enable
Video mode display keeps the MDP clocks in ON state but
disables irq during static screen to avoid cpu wakeup.
In such case, CPU pm_qos vote should also be removed
to allow LPM transition. This change triggers the
pm_qos vote based on mdp interrupt enable counts
instead of runtime_pm callback. It works for
multi-display concurrency also.

Change-Id: I7a60f3f593e409269e00abd7499c4a5756035615
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-05-27 17:46:07 -07:00
Prabhanjan Kandula
0d6151b303 disp: msm: sde: update wb line width for linear format
This change adds support for enabling WB maximum linewidth
based on color format is linear or UWBC.

Change-Id: Icc71eb14b3156e06036a4a82029d9d7a5c89e909
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-05-27 16:27:56 -07:00
poyewu
5385b6a34b disp: msm: dp: Add event logs for HDCP sessions
Add event logs to capture HDCP state transitions and errors.

Change-Id: Id82049b93eb2e8bf84faddebaa0959f8cda1c91f
Signed-off-by: poyewu <poyewu@codeaurora.org>
2020-05-27 16:48:40 -04:00
poyewu
c851d28bca disp: msm: dp: wait for sink to stabilize during hdcp
Some sinks need more time to stabilize after synchronization and
before it can handle an HDCP authentication request.
This change adds the delay for better interoperability.

Change-Id: I4fffb9024f782dd68e3a883208cb8e9d0c5350a1
Signed-off-by: poyewu <poyewu@codeaurora.org>
2020-05-27 16:48:23 -04:00
Abhijit Kulkarni
5bf05a7302 disp: msm: sde: fix bandwidth voting in resume usecase
This change resets the bandwidth vote after lastclose is called
and all the custom properties are reset. This is required so that
on next power commit when user space driver does not apply any
bandwidth vote, driver applies correct vote. Additionally this
change ensures that aggregate bandwidth vote never exceeds the
max threshold.

Change-Id: I95ca761b381709850b630ecd6647b45968a5041e
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-27 10:12:18 -07:00
qctecmdr
c5fb2101de Merge "disp: msm: sde: avoid idle notify cancel request" 2020-05-27 06:04:04 -07:00
qctecmdr
be79c7242f Merge "disp: msm: dsi: select timing mode shared from kernel command line" 2020-05-26 18:21:56 -07:00
qctecmdr
281e18b317 Merge "disp: msm: sde: create a dummy smmu device for scm transactions" 2020-05-26 05:33:13 -07:00
qctecmdr
be6b5d89d0 Merge "disp: msm: dp: clear notification states for dp mst" 2020-05-26 02:23:43 -07:00