Commit graph

1,125 commits

Author SHA1 Message Date
qctecmdr
fc44cf529b Merge "disp: msm: sde: add ubwc entries to crtc only if supported" 2020-05-25 10:52:48 -07:00
qctecmdr
ca2f69fe8c Merge "disp: msm: check if kms is instantiated" 2020-05-25 05:00:17 -07:00
Linux Build Service Account
73871301d1 Merge "Revert "disp: msm: add func to parse pll_codes from dfps_data_region"" into display-kernel.lnx.5.4 2020-05-24 22:18:26 -07:00
qctecmdr
a6c09b6f84 Merge "disp: msm: sde: fix null check for encoder dsc disable" 2020-05-23 01:38:01 -07:00
Manoj Kumar AVM
0fa7f77a94 Revert "disp: msm: add func to parse pll_codes from dfps_data_region"
This reverts commit f3066919f4.

Change-Id: I97ad84bdd8aa7ebaf5cbf3a76a64dd03de89a30e
Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2020-05-21 16:33:10 -07:00
qctecmdr
db766d7c86 Merge "disp: msm: sde: modify check for active datapaths" 2020-05-21 13:41:41 -07:00
qctecmdr
dfcc3a2001 Merge "disp: msm: add func to parse pll_codes from dfps_data_region" 2020-05-21 12:28:51 -07:00
qctecmdr
5f4d6ef993 Merge "disp: msm: move SMMU devices as separate devices" 2020-05-21 10:56:08 -07:00
qctecmdr
564f198f01 Merge "disp: msm: dsi: fix the error log print level" 2020-05-21 10:56:08 -07:00
qctecmdr
8a434e9feb Merge "disp: msm: sde: Remove duplicate destination scaler checks" 2020-05-21 10:56:08 -07:00
qctecmdr
476184ffa1 Merge "disp: msm: sde: check and program DS only on CRTCs that support it" 2020-05-21 10:56:08 -07:00
obrody
0fbdc8458e disp: msm: sde: Remove duplicate destination scaler checks
Delete destination scaler dirty bit clearing when crtc
is disabled as well as during duplicate state.

Change-Id: I4b2201c792a6750c060b2d9291d52547d8a81c15
Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
Signed-off-by: obrody <obrody@codeaurora.org>
2020-05-21 09:41:45 -07:00
Bruce Hoo
f3066919f4 disp: msm: add func to parse pll_codes from dfps_data_region
Add function to parse pll_codes from dfps_data_region, and the
pll_codes are used as trim_codes for RFI.

Change-Id: I5b16be94a9e47dff515dea036839f74c2ddd8824
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
2020-05-21 05:17:50 -07:00
qctecmdr
55ce1ad7c0 Merge "disp: msm: dp: exit stream enable on cable disconnect" 2020-05-20 22:03:42 -07:00
Yuan Zhao
f2819c58d2 disp: msm: dsi: fix the error log print level
Since some property of panel dtsi were not a must.
Do not report errors for panel bindings that are
not mandatory.

Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Change-Id: Ie899081e2ca93740ceb854457b61e5fc5d2083fa
2020-05-20 21:26:02 -07:00
Abhijit Kulkarni
b4006c3c5c disp: msm: move SMMU devices as separate devices
This change adds smmu devices as separate devices and display
driver waits for these devices to bound before using any smmu
operation. This fixes recent stability issues where devices
were not probed during the dpu hw initialization.

Change-Id: Ib08e87c6c0eae0f7e95bbaa60a37bd469d0ecce0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-20 21:25:52 -07:00
qctecmdr
ba8cf46383 Merge "disp: msm: dsi: update PHY configuration to support cphy" 2020-05-20 19:09:29 -07:00
qctecmdr
a8ce54986d Merge "disp: msm: pll: add additional dividers for CPHY support" 2020-05-20 19:09:29 -07:00
qctecmdr
897da30d8f Merge "disp: msm: sde: switch esd detection to panel read" 2020-05-20 02:36:54 -07:00
Tatenda Chipeperekwa
6a68c684bd disp: msm: dp: exit stream enable on cable disconnect
Exit stream enable on cable disconnect considering that the
controller and display modules would have transitioned to aborted
state. It is possible that the disconnect might have prevented
the link clock from being enabled, so we have to skip any register
programming in the link clock domain. We remove the unprepare
call from the DRM wrapper error handling since that path can lead
to unclocked register access when the link clock is not enabled.

Change-Id: I92595c0824193df63c2746bc8cd644f59c33604a
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-19 08:19:15 -07:00
Tatenda Chipeperekwa
0c5bbc2066 disp: msm: dp: deregister altmode notifier
Deregister the altmode notifier in the client teardown path since
the client will no longer be available to handle altmode
registration.

Change-Id: I06c6c61d4eb0b0fc9e9c1df1da4a0c86e4556de1
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-18 11:24:05 -07:00
Yuan Zhao
00fd38bec4 disp: msm: pll: add additional dividers for CPHY support
Panels supporting Cphy use a specific divider
blocks. Add additional divider blocks for byte
and pixel clock output to support DSI CPHY.

Change-Id: I74b3ee2bdd22ae8fa20567fe837e03915537c4fb
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-05-15 00:26:35 -07:00
Yuan Zhao
5139cad2d4 disp: msm: dsi: update PHY configuration to support cphy
Add support to read cphy boolean flag from panel dtsi
and configure DSI PHY registers accordingly. Update the
bit/byte clock calculation according to cphy specifications.
Update clock parents so that the relevant divider blocks
are configured to support cphy.

Change-Id: Iaca61eec01a488657b086f59910c52f8c79e26a4
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-05-14 21:00:07 -07:00
Satya Rama Aditya Pinapala
43069ad44a disp: msm: dsi: use panel's force_clk_lane_hs instead of phy's
In order to make dsi panel and dsi2hdmi panel compatible,
delete "qcom,panel-force-clock-lane-hs" property in phy and
use display panel's force_clk_lane_hs property.

Change-Id: I490e08b2ee859797c2b3aeddf109a3a4286fb922
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-05-14 21:00:02 -07:00
Abhijit Kulkarni
c789d0fb8a disp: msm: check if kms is instantiated
This defensive check is now required since the allocation
of driver private data has moved from bind to probe phase.
There is a chance that device shutdown can be called before
bind phase and this can cause invalid memory access.

Change-Id: I2d471a4aff93ae03291e19f6f902f1e5c28dc50f
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-14 14:43:27 -07:00
Alisha Thapaliya
e2f98dc79b Revert "disp: msm: sde: adjust DSC encoders to support all 4LM topologies"
This  reverts commit 6a50aedbfa.

Change-Id: I3570b18728cfad2843ca7f3a7d0276cda32c9492
2020-05-14 11:51:15 -07:00
Amine Najahi
bf1c81232c disp: msm: sde: check and program DS only on CRTCs that support it
Currently, when runtime_pm_suspend occurs DS property is marked
as dirty invariably if the CRTC allocated the blocks or not.
This causes atomic check failure on CRTCs without DS allocation.

Change-Id: I90287e8e283d2e80aa47627d4aa045040d76b472
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-13 23:53:38 -04:00
Krishna Manikandan
8dd8a0f1bb disp: msm: sde: fix null check for encoder dsc disable
There are some scenarios where connectors can be
null during encoder dsc disable. Update the null
check to avoid error message during these scenarios.

Change-Id: I598a644f19aecf0b7d8c989a75575329903678dd
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-05-13 16:49:20 -07:00
qctecmdr
528f0862c9 Merge "disp: msm: dsi: remove pclk scaling for porches" 2020-05-12 21:16:45 -07:00
qctecmdr
d38d91b9f3 Merge "disp: msm: remove unused sde debug function" 2020-05-11 00:32:49 -07:00
Linux Build Service Account
55ef712ef6 Merge "disp: msm: dp: update altmode client registration" into display-kernel.lnx.5.4 2020-05-08 12:01:46 -07:00
Krishna Manikandan
5541a20748 disp: msm: sde: modify check for active datapaths
In some cases like suspend and cwb concurrencies,
the number of mixers in the sde_crtc structure
can become zero. Add support to get the number
of mixers from topology in those cases to
avoid incorrect resource allocation request.

Change-Id: Id9b82e805ff50a107ad06514b4e41c0917abdf33
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-05-08 13:48:49 -04:00
qctecmdr
7116441b24 Merge "disp: msm: set voltage to min before disable" 2020-05-08 04:03:50 -07:00
qctecmdr
403ee1f6f8 Merge "disp: msm: add inverted display brightness value property" 2020-05-07 08:13:50 -07:00
qctecmdr
774b8376e3 Merge "msm: sde: update histogram buffer submission for ltm" 2020-05-07 08:13:49 -07:00
Wenjun Zhang
b55a29b194 disp: msm: add inverted display brightness value property
In general the brightness value, the first parameter is low byte and
the second is high byte, but some DDIC invert, so add inverted display
brightness value property.

Change-Id: I8bf5631bb66096bd28529c53643e358afffce18e
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
2020-05-07 05:37:52 -07:00
qctecmdr
d6a60b7262 Merge "disp: msm: reduce complexity in _get_rc_table_index" 2020-05-07 04:03:52 -07:00
Gopikrishnaiah Anandan
8033050f92 msm: sde: update histogram buffer submission for ltm
When histogram buffer is queued by driver client, during the display
commit buffer has to be submitted to hardware. Currently driver is
waiting for previous histogram to finish before submitting the new
buffer. This can cause the histogram to be invalid, change updates the
submission logic of buffer.

Change-Id: I76b595fa96d1c2dd01c841de3cf228d4fa7fd75d
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2020-05-07 01:25:52 -07:00
qctecmdr
2e3e5cb274 Merge "disp: msm: sde: avoid resource reservations clean up leak" 2020-05-06 23:27:07 -07:00
qctecmdr
f1450d87f1 Merge "disp: msm: queue vblank work on disp thread during modeset" 2020-05-06 20:18:04 -07:00
qctecmdr
eab14f2e35 Merge "disp: msm: enable DP MST compilation" 2020-05-06 18:16:18 -07:00
Rajkumar Subbiah
e56293e396 disp: msm: enable DP MST compilation
Enable compilation of DP MST feature. Also ported drm mst implementation to
use updated API definitions. Changes to the API include; removal of hotplug
callback; separate refcounting for topology and memory allocation in mst
port; pass the entire port instead of slot count in
atomic_release_vcpi_slots API.

Change-Id: I951c2978339229ea7e124c2addc114ea5d3cbb3d
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2020-05-06 18:51:22 -04: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
Yashwanth
37d86a4d83 disp: msm: queue vblank work on disp thread during modeset
If vblank work is queued to event thread, during modeset,
there might be a case where vblank is enabled in between
resulting in vblank ref count mismatch. This change queues
vblank request to disp thread during modeset.

Change-Id: I98b87b4209e1f7f535980eef22a50df17c346c23
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2020-05-06 13:18:14 -07:00
Prabhanjan Kandula
441dc79ab0 disp: msm: sde: avoid resource reservations clean up leak
Resource reservation of an atomic state should be cleared
irrespective of the state of a display. This change relaxes
the encoder - connector chain up check as this may not be
available during a modeset disable outputs scenario.

Change-Id: I8a51973b7c77787ff19d894458a1b73580b93de2
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-05-06 13:16:29 -07:00
Amine Najahi
6a50aedbfa 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: I20785c96569fd07cbd8016d244a7e4c929bfa071
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-06 14:16:40 -04:00
Amine Najahi
4fef803aff disp: msm: sde: increase max number of mixers to 4
Increase the maximum number of mixers per crtc to 4 to
support 4LM use case. This change also increases the number
of data path to 4 to support 4LM in continuous splash handoff.

Change-Id: I4655017dcb405fad69513bebb8fd7f848fc5873d
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-06 14:16:31 -04:00
Amine Najahi
80a1238f16 disp: msm: sde: reduce complexity in _dce_dsc_setup_helper
Lower the cyclomatic complexity for this function by splitting
the work into helper functions.

Change-Id: Ib69f542701009f5b8f5d4f7462ba84a5ab116c1b
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-06 11:33:30 -04:00
Amine Najahi
c9eb6c1102 disp: msm: sde: fix mixer count calculation for 4LM topologies
Currently mixer calculation does not take the number of LMs into
consideration when it is greater than 2. This changes adjusts mixer
count for 4LM use cases based on maximum clock and pipe width.

Change-Id: I05631dee3beadaa0d50548282a539835bcb548c0
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-06 11:33:08 -04:00
Amine Najahi
8dd5deed11 drm: msm: sde: reserve LM in pairs for 4LM topologies
Reserve LM in the sequence of primary-peer and then
primary-peer again until all required LM are reserved.
Searching sequence will not change for single/dual LM
reservation. For single LM reservation it will return
right after the first primary LM is found. For dual LM
reservation it will return after the first primary-peer
pair is found.

The logic can also work for triple/quad or any number
of LM reservetion and make sure that all the reserved
LMs are in pairs except the last one if total LM number
is odd.

Change-Id: Ia28bb64fedeb43430039775051943d751259a3d2
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: satbir singh <satbsing@codeaurora.org>
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
2020-05-06 11:32:53 -04:00