Commit Graph

1102 Commits

Author SHA1 Message Date
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
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
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
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
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
qctecmdr
4d124f3e10 Merge "disp: msm: sde: add plane staging management for 4LM topologies" 2020-05-06 01:21:56 -07:00
qctecmdr
6ced01af10 Merge "disp: msm: sde: cancel delayed work when in auto-refresh" 2020-05-06 01:21:55 -07:00
Steve Cohen
bae74104a6 disp: msm: reduce complexity in _get_rc_table_index
Fix checks and lower the cyclomatic complexity for this function
by replacing non-trivial conditional logic with look-up tables.

Change-Id: I731d228d00c90d14faa02115f50c0ddfa4ac5c19
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-06 01:00:01 -04:00
qctecmdr
a9482dd3f1 Merge "disp: inc: uapi: fix UAPI headers to compile with UAPI_HEADER_TEST" 2020-05-05 20:30:53 -07:00
qctecmdr
e9b326e3f2 Merge "disp: msm: sde: move HW recovery outside ppdone wait" 2020-05-05 20:30:53 -07:00
qctecmdr
6ef30aa7c8 Merge "drm: msm: edid: update colorimetry values" 2020-05-05 20:30:53 -07:00
qctecmdr
411411725f Merge "drm/msm/sde: add sui blendstage support for lahaina" 2020-05-05 20:30:53 -07:00
qctecmdr
1526bf221a Merge "disp: msm: dsi: fix dsi pll debugfs errors" 2020-05-05 20:30:53 -07:00
Amine Najahi
89c7e1dadf disp: msm: sde: add plane staging management for 4LM topologies
When a 4LM topology is used each plane attached to a CRTC
is tagged with a L/R layout value and an offset value
depending on where destination X coordinate lands on the display.
The layout information is used to determine SSPP to LM
pair mapping and local coordinate space.

This change also handles source-split and Z-order
validation checks for planes staged on different mixer
pairs.

Change-Id: I1b20223388e65fc36a8b379ad9df23a277fcd1a5
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-05-05 23:06:39 -04: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
qctecmdr
c587442d57 Merge "disp: msm: sde: decouple FETCH_PIPE_ACTIVE logic from setup_blendstages" 2020-05-05 18:29:34 -07:00
qctecmdr
154ee80381 Merge "disp: msm: update rm topology mapping tables" 2020-05-05 18:29:34 -07:00
Steve Cohen
504b10377f disp: msm: sde: cancel delayed work when in auto-refresh
Display is entering into mode2 since no new frames are queued,
but auto-refresh requires HW to remain active. Make sure to
cancel the timer for entering idle power collapse whenever
there's a kickoff with auto-refresh feature enabled.

Change-Id: I0ac74e514c9893c31506edc3f2d7e069ab9a3ef8
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-05 15:02:03 -07:00
Satya Rama Aditya Pinapala
6574cc69b6 disp: msm: dsi: remove pclk scaling for porches
Change removes scaling for porches while calculating h_total, as
it is not necessary. Using scaling for porches results in lower
clocks which in turn can lead to low FPS.

Change-Id: Idbad83e1c56f079e60fe5ac342f8dd977db54f8f
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-05-05 12:10:29 -07:00
Samantha Tran
d554b709fc disp: msm: remove unused sde debug function
Remove unused register debug function. DSI is now using a different
function instead and no longer needs this.

Change-Id: Ia0da4ba8447a162b4f327c34b26177bbaea0a0f9
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-05-05 11:35:15 -07:00
Narendra Muppalla
fffb767bc0 drm/msm/sde: add sui blendstage support for lahaina
This change adds secure-ui blendstage support for
lahaina target.

Change-Id: If6e0f9df469e39f53329b264416ef9214ec01be9
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-05-05 11:00:44 -07:00
qctecmdr
a2a04712a9 Merge "disp: msm: update VDC-m hardware version in display driver" 2020-05-04 23:32:46 -07: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
Steve Cohen
d26bf3c6fd disp: msm: sde: move HW recovery outside ppdone wait
With posted start enabled SW no longer waits for ppdone events
unless more than one frame is in queue. HW recovery logic relied
on these waits to know when we recover from a timeout. This
change moves the HW recovery SUCCESS event signalling outside of
the wait to ensure this event is sent to user-space regardless
of the status of posted start.

Change-Id: I8896e8126284b415513499723ccf0155ee8bc6a7
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-04 19:48:51 -07:00
Steve Cohen
ee91905928 disp: inc: uapi: fix UAPI headers to compile with UAPI_HEADER_TEST
Fix headers so that they compile with UAPI_HEADER_TEST.

Change-Id: I2585a18b02abcc3a52ec0079aa4cc1ce55ee1b56
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-04 19:48:37 -07:00
Steve Cohen
b9e3d4aebb disp: msm: sde: decouple FETCH_PIPE_ACTIVE logic from setup_blendstages
Setup blendstages is done per LM but FETCH_PIPE_ACTIVE is per CTL.
Overloading mixer blendstage setup with fetch pipe logic can lead
to HW programming errors. Refactor the logic for setting
FETCH_PIPE_ACTIVE by adding a new op that allows caller to provide
a bitmask of all pipes required to be active on this CTL. This new
logic includes support for:
 - 4LM use-cases, staging pipes for all LMs within a CRTC
 - Demura fetch-pipe without need for tracking via active_cfg (removed)

Also, lower the cyclomatic complexity in setup_blendstages by moving
the logic for obtaining the mixer config settings in to a helper
function.

Change-Id: I2907b359ffad5734be5b06f44919b5ddb1ef3f7c
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-04 19:47:00 -07:00
Prabhanjan Kandula
62cb53cc59 disp: msm: sde: fix compression info usage in resource alloc
Currently, compression info passed to resource manager is not
valid in atomic check phase. Also in current design allocation
of msm mode info object is from stack which is huge and causing
stack overflow in continuous splash use case. This change fixes
these issues by moving mode info object to heap allocation.

Change-Id: Ifaf39b3ae59c942da5c00b82c73cb97cdaf500d3
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-05-04 19:42:04 -07:00