Commit Graph

932 Commits

Author SHA1 Message Date
Tatenda Chipeperekwa
4571b23507 disp: msm: dp: use the new altmode framework
Use the new altmode framework to receive the connect, disconnect
and attention events.

Change-Id: Ic542525b526e1abd0f153c293bca6e4cdbb6bf0b
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 20:26:39 -07:00
Tatenda Chipeperekwa
37412f5add disp: msm: dp: add support for PLL programming
Add support for PLL programming in the DisplayPort driver.

Change-Id: I4f08a621dcae5d1f54d67bb5c34409249012cc7b
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 20:26:39 -07:00
qctecmdr
b15ed9edec Merge "disp: msm: dsi: fix parsing of display name from boot name" 2020-03-13 13:53:41 -07:00
Tatenda Chipeperekwa
9b75dd6713 disp: hdcp: add driver to handle userspace interactions
Create a new driver to handle sysfs and topology events that are
related to application/userspace layer interactions for HDCP
functionality. In turn, this will create a clear separation from
the HDCP QSEECOM layer that defines the communication mechanism
between the kernel and the TrustZone layers.

This implementation is based on a snapshot of the msm_hdcp
driver as of this commit 10ffbfa2c7e03c09 ("drm/msm/dp: Snapshot
of DP and supporting files") on kernel 4.19 project.

Change-Id: I834620420b8d6a580f1905a2b3250cf4e5b8f293
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 12:21:34 -07:00
qctecmdr
3af9cf96b7 Merge "disp: msm: sde: refactor catalog dspp parsing" 2020-03-12 22:05:29 -07:00
qctecmdr
5d2e2f435f Merge "disp: msm: sde: align timing engine vsync based on panel vsync" 2020-03-12 20:15:59 -07:00
qctecmdr
a27a0cd2c1 Merge "disp: msm: dsi: add check for invalid arguments in DSI clock control" 2020-03-12 18:39:29 -07:00
Tatenda Chipeperekwa
51805afe28 disp: msm: dp: compile MST feature based on display config
Add a compile time flag for the MST feature that will allow
selectively enabling the feature.

Change-Id: I8bf288277c7af00c3cf254a8c757151559e0a010
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-12 18:07:11 -07:00
Tatenda Chipeperekwa
5977818ac3 disp: msm: dp: use updated colorimetry and DSC definitions
Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: I28482380124734680e46904b8d536ebadba8cc60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-12 18:06:52 -07:00
Abhijit Kulkarni
7d15639374 disp: msm: sde: modify fal10 thresholds for lahaina
This change modifies the fal10 threshold for lahaina platform.
Lahaina platform now supports uidle feature enabled for displays
upto 90 fps.

Change-Id: I4c7e84c9216572df1dfd1f062baef485359e06d6
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-03-12 14:05:38 -07:00
Narendra Muppalla
68ee65353b disp: msm: sde: align timing engine vsync based on panel vsync
This change adds logic to align timing engine vsync with panel
tear check if it is supported.

Change-Id: I3f881f392929589848c893f567822b21c0650000
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-03-11 10:14:57 -07:00
Narendra Muppalla
cd1e996b44 disp: msm: defer panel TE disable with poms switch
DSI host vsync is expected to align with panel internal vsync
during transition from command mode to video mode operation.
In order to facilitate this, keep panel TE enabled in video mode
operation until it is aligned with vysnc.

Change-Id: I3fc59b01336b30cd436be332af6953c5a01be7fd
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-03-10 16:37:21 -07:00
Satya Rama Aditya Pinapala
06e8f4436a disp: msm: dsi: fix parsing of display name from boot name
Change fixes parsing of software TE tag added to the display
name from bootloader.

Change-Id: I4747cc6eff43d681477150d6cad7a737963bf11c
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-10 16:20:50 -07:00
Satya Rama Aditya Pinapala
e6e39e8b94 disp: msm: dsi: add check for invalid arguments in DSI clock control
Check against the max clk_type and clk_state enumerations before
to validate the type and state of DSI clocks to avoid Control
Flow Integrity issues.

Change-Id: Id53465c2b12debb1b356c0c91064eb017c2ca30d
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-10 10:24:50 -07:00
Samantha Tran
c6d6839a78 Revert "disp: msm: sde: cache vbif QoS parameters"
The original change avoids unnecessary reprogramming
of plane vbif registers, but still copies values into
a local struct before exiting based on boolean. This
can be taken care of by 01e1d4136cc1 ("drm/msm:
minimize qos remap updates") instead.

This reverts commit 0c7159de4f.

Change-Id: Idd9b066db9ebad092aa1a6dd2cf47050b0babd0c
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-03-09 16:41:27 -07:00
Steve Cohen
32ad348d81 disp: msm: sde: add MDSS_HW block range for debugfs register access
Register the MDSS_HW block (at base offset 0) for access via the
sde_reg node in SDE's debugfs directory. This is needed for
validating correct UBWC register programming.

Change-Id: I2494e066a7603747f2ec12546e58a17f2120a521
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-03-08 01:42:56 -08:00
Steve Cohen
6cb33c8d11 disp: msm: sde: refactor catalog dspp parsing
Refactor dspp catalog parsing functions to reduce
cyclomatic complexity.

Change-Id: I0a8200f8e08a7ac40172fdcd6cc62e08135bba61
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-03-06 13:58:36 -08:00
Samantha Tran
5880783aa3 disp: msm: sde: avoid resetting blend stage in every commit
Move blendstage initialization to the atomic begin path in the
case where mixers are not setup. Additionally, clear all
blendstages during crtc disable to clean up registers.
This will avoid resetting each of the blend stages in every
commit and then writing only to the layer being used.

Change-Id: Idf7cb3e17de37034c2060f2563bc082fceb5cae9
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-03-06 12:29:06 -08:00
qctecmdr
13a29a2855 Merge "disp: msm: dp: update swing and pre-emphasis levels" 2020-03-05 18:06:13 -08:00
qctecmdr
879c309e6a Merge "Revert "disp: msm: dp: use the correct checksum for EDID"" 2020-03-05 18:06:13 -08:00
Tatenda Chipeperekwa
310e888d0f Revert "Revert "disp: msm: sde: remove colorspace property from connector""
This reverts commit 7470449242.
This is required to satisfy cross component dependencies with
kernel-5.4.

Change-Id: Idba2983923a8605ec0a05408da48f7549730035d
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-04 17:49:00 -08:00
Tatenda Chipeperekwa
43599c49a3 Revert "disp: msm: dp: use updated colorimetry and DSC definitions"
This reverts commit 982574f095.
This is required to satisfy cross component dependencies with
kernel-5.4.

Change-Id: I979e0371973376c46f2a11659348df726be2679d
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-04 17:48:27 -08:00
Linux Build Service Account
04db4e8a6b Merge "disp: msm: dp: use updated colorimetry and DSC definitions" into display-kernel.lnx.5.4 2020-03-04 12:41:31 -08:00
Steve Cohen
941597ae0f disp: msm: sde: add doc for sde_dt_props helpers
Add docstrings for sde_get_dt_props and cleanup error checking
in some call sites.

Change-Id: I031b7a928b894c2db9b8c95863807d77f25176d6
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-03-03 22:22:46 -05:00
Tatenda Chipeperekwa
71436eec71 Revert "disp: msm: dp: use the correct checksum for EDID"
This reverts commit eaed3221fa
which uses a downstream implementation for checksum calculation.
This will be fixed once the upstream changes to address checksum
calculation are merged.

Change-Id: I7a6ed1c4d4baf52533485d59bcdcb6dd1009d626
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 17:18:31 -08:00
Tatenda Chipeperekwa
c7d094b54b disp: msm: dp: update swing and pre-emphasis levels
Update the HBR and RBR swing and pre-emphasis levels as per the
latest published hardware programming guide.

Change-Id: If3b6713e0b6680f65539882221aae32b00bf0254
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 16:50:54 -08:00
qctecmdr
8a690a0b80 Merge "disp: msm: sde: support fps based qos setting" 2020-03-03 13:40:02 -08:00
Tatenda Chipeperekwa
982574f095 disp: msm: dp: use updated colorimetry and DSC definitions
Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: Ie52aed2df2f6c3f2df1e4129f342a85256f8fae4
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 10:35:12 -08:00
qctecmdr
f1c8d9f378 Merge "Revert "disp: msm: sde: remove colorspace property from connector"" 2020-03-03 09:08:48 -08:00
qctecmdr
ddc62cd51d Merge "disp: msm: sde: fix dsc/vdc register dump" 2020-03-02 20:47:39 -08:00
Satya Rama Aditya Pinapala
d97b665e1d disp: msm: move msm_drv probe to module level
With the introduction of sync state drivers, msm_drm probe can be
moved back to module level from late init.  It is now guaranteed
that the dependencies are probed before the actual driver is.

Change-Id: Ib7c3e0e3c3d32b37b7672b6119bcf5371783659d
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-03-02 11:38:00 -08:00
Dhaval Patel
2843f86793 disp: msm: sde: support fps based qos setting
Support different safe, danger and creq qos lut
configuration based on display fps. It also removes
the fill level calculations from sspp and wb block
because mdss hw supports simple configuration.

Change-Id: I203e4300c9eab27d3632c890bedd6383cca0e5a8
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-03-02 09:52:47 -08:00
qctecmdr
466dcda345 Merge "disp: msm: sde: move ramdump node from reserve area" 2020-03-01 22:20:57 -08:00
Abhijit Kulkarni
e3a078c712 disp: msm: sde: fix dsc/vdc register dump
DSC and VDC-M sub-block registers are not on contiguous
address range. This change allows dumping the registers
for each individual sub-block.

Change-Id: I06dfc64562211370a0e29f6fc1134351c47722f6
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-02-28 12:43:22 -08:00
Dhaval Patel
876ea7de77 disp: msm: sde: move ramdump node from reserve area
Ramdump node only allocates portion of splash
buffer memory. It should not be within reserve
memory area because splash buffer is already reserving
these pages.

Change-Id: I7caa818b19cb993571e6bf0648a4dfbbc2ad9d71
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-02-28 11:58:05 -08:00
Dhaval Patel
9438f3448b disp: msm: sde: add underrun line count information
Add underrun line count information for each underrun.

Change-Id: I34a740c33240fa8d444f4bbc3b8b014b0282fca1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-02-28 11:57:47 -08:00
qctecmdr
9d96e47c53 Merge "disp: msm: sde: add vbif axi port halt request support" 2020-02-27 14:37:43 -08:00
qctecmdr
65d27833bd Merge "disp: msm: sde: make sid programming optional" 2020-02-26 22:25:36 -08:00
Nilaan Gunabalachandran
f51424f8a7 disp: msm: sde: ctl hw flush ops clean up
Using individual flush functions for each active hw blk
is not scable-able for future use. Clean up the ops to merge
all flush functions into one and manage HW block id
with same API.

Change-Id: I62afbc51fa7d345b3a1f5721e5e09661a4215f7a
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2020-02-25 14:18:59 -05:00
qctecmdr
664e64b84b Merge "disp: msm: remove drm_connector usage for colorspace" 2020-02-21 10:28:36 -08:00
Tatenda Chipeperekwa
7470449242 Revert "disp: msm: sde: remove colorspace property from connector"
This reverts commit 483c9fdff4c611f250574fe6909cd8e5336808f5. It
is no longer needed on kernel-5.4 as all the upstream changes are
now available.

Change-Id: I11b0317c0e05ea2fe03fb1af734a79a1174b1922
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-20 19:41:31 -08:00
qctecmdr
5d23842089 Merge "disp: msm: add colorimetry block parsing to SDE EDID parser" 2020-02-20 11:19:21 -08:00
qctecmdr
6f793b503f Merge "disp: msm: dp: fix null check in atomic_check" 2020-02-19 17:55:56 -08:00
Abhinav Kumar
2e1c9a0751 disp: msm: remove drm_connector usage for colorspace
Move away from using the supported colorspaces in drm_connector
and replace it with sde_connector to satisfy GKI requirement.

Change-Id: I947c91ea6672e242e572151f72cf0db2e71990cb
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:32:02 -08:00
Abhinav Kumar
6082221107 disp: msm: add colorimetry block parsing to SDE EDID parser
Add colorimetry data block parsing to SDE EDID parser so that
we can eliminate usage of the same information parsed in upstream
EDID parser.

Change-Id: I53692bb90eeee1f8a865da54ce0e8932c381489a
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:31:50 -08:00
Abhinav Kumar
f1959d903b disp: msm: replace usage of drm_connector with sde_connector for hdr10
Since the HDR static metadata block parsing has been moved to
the sde edid parser, replace the usage of drm_connector with
sde_connector for hdr10 so that the modifications to drm_connector
can be removed.

Change-Id: I4526cda426c46708d3689eb8b993b7a4f50d32ae
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:31:42 -08:00
Abhinav Kumar
5367cc8373 disp: msm: add support for parsing HDR block in SDE EDID parser
This is needed to replace usage of upstream EDID parser
to satisfy GKI requirements.

Change-Id: I1e4043bd8e95b2ff71e7e4b05706cbeb9c66b03d
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 13:50:11 -08:00
Abhinav Kumar
849041b3fe disp: msm: replace usage of drm_connector with sde_connector for hdr10+
Since the VSVDB parsing has been moved to the sde edid parser, replace
the usage of drm_connector with sde_connector for hdr10+ so that the
modifications to drm_connector can be removed.

Change-Id: I7d69aa533e71fa45bfc578db24c17bb23e499c4a
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 13:47:39 -08:00
Abhinav Kumar
28ccb5f9de disp: msm: add VSVDB parsing support to sde edid parser
Add VSVDB parsing support to sde edid parser. This is required
for HDR10+ support. Currently the parsing is done in the upstream
edid parser. This shall be removed in a subsequent change.

Change-Id: Ibd3a31e12bba68e14e278e0e478656453eb111ac
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 13:08:48 -08:00
qctecmdr
c15f349088 Merge "drm: msm: handle resolution switch for LTM" 2020-02-19 10:32:00 -08:00