Commit Graph

958 Commits

Author SHA1 Message Date
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
Abhijit Kulkarni
9502638682 disp: msm: sde: make sid programming optional
This change makes the access to sid registers space optional
as for lahaina target hlos is not supposed to access these
registers. Mapping this register space will be done only if
the device tree entry indicates this support.

Change-Id: I4ecefec0fe02c993ca34b55da432612e25eb6783
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-02-18 20:36:33 -08:00
Gopikrishnaiah Anandan
1690129d60 drm: msm: handle resolution switch for LTM
DPU configuration should be changed when resolution switch happens at
the layer mixer level for ltm feature. Driver should mark ltm properties
as dirty when resolution switch happens. Change handles dynamic resolution
switch for ltm by marking the properties as dirty.

Change-Id: I5ffc8e74c42da6c2902eb42fd2e3ed1b9f9e3e4c
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2020-02-17 07:52:01 -08:00
Amine Najahi
af07b8a5d4 disp: msm: sde: add support for hardware based rounded corner
Add support for hardware based rounded corner part of
color processing framework.

Change-Id: I3e5f4dac6ffc759bb940215b7621ac716f255169
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-16 01:03:58 -08:00
Steve Cohen
1470b1605c disp: msm: dp: fix null check in atomic_check
Fix an invalid pointer check on input parameters.

Change-Id: I899e19e578d4d337e49da9084875bfd1917efe59
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-14 23:35:19 -05:00
qctecmdr
f1f9f4cdb3 Merge "disp: msm: sde: add pm_qos support for cmd mode display" 2020-02-14 13:18:50 -08:00
qctecmdr
6777ca872c Merge "disp: msm: sde: populate WB display encoder list before dsi" 2020-02-14 12:39:37 -08:00
qctecmdr
b960967df9 Merge "disp: msm: sde: fix issues with dsc config" 2020-02-14 12:00:49 -08:00
Steve Cohen
818651c2f1 disp: msm: sde: use sde_dt_props object to parse dspp dts
Use the new helpers for parsing DSPP device nodes entries.

Change-Id: I620ba80cac90f34faa1f853f00cf856370ae387c
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-13 22:06:13 -05:00
Steve Cohen
e1e4771b77 disp: msm: sde: create helper for getting CTL & mixer dts properties
Simplify device node parsing by using a new structure for
temporarily holding the read properties and create helpers for
getting/freeing all the properties in a sde_prop_type table.
This patch uses these helpers for CTL and mixer parsing,
other blocks will be refactored as well.

Change-Id: I546f32baea8fc09c36a7f24b042f1f1615770b72
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-13 22:01:19 -05:00
Narendra Muppalla
42a8aea8fc disp: msm: sde: add pm_qos support for cmd mode display
Add/remove pm_qos request during sde encoder resource
controller enable/disable for command mode display.

Change-Id: If3247eb215a58eaae3ee0b4c7a90e7f5254e690c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-02-13 16:07:03 -08:00
Dhaval Patel
ac8fbffff5 disp: msm: sde: add vbif axi port halt request support
Add vbif axi port halt request support before
MDSS core GDSC power collapse state. It is needed
for targets without MDSS RSC support.

Change-Id: I1fbf281c4206ecd4ad1c2d1348a95e002740e2f1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-02-13 13:27:26 -08:00
Narendra Muppalla
d28ebf05f4 disp: msm: sde: populate WB display encoder list before dsi
This changes swaps the order of encode initialization between
wb and dsi displays. This ensures that wb encoder is registered
before DSI/DP encoder in mode_list and it allows single CRTC
to loop through WB encoder before other encoder during mirror mode
topology like CWB use case. With existing order of encoder list, CWB
flush is happening after primary commit flush which is causing cwb
failures when there is a cpu latency.

Change-Id: I24d6b4f27271d46e9743d17a624ac7e0930f7474
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-02-13 13:12:37 -08:00
Narendra Muppalla
f5666717c7 disp: msm/sde: add CWB support for lahaina target
This change updates the block offsets for concurrent writeback 
blocks and fixes the register dumping logic.

Change-Id: I41b540773fea60e66cab5d476dff1a19b4f4b3db
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-02-13 11:09:06 -08:00
Abhijit Kulkarni
970ea08286 disp: msm: sde: fix issues with dsc config
This change fixes issues which causes corruption for dual dsi
dsc panel. It fixes the number of slices configured on
dsc hw block and handles deriving correct picture width from
mode timings. Additionally it fixes the core max buffer sizes
used by the hw block.

Change-Id: Iec0ef80528425ffcb5f29d469bd181eb7040de16
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-02-12 22:19:15 -08:00
qctecmdr
516ec3cf98 Merge "disp: msm: sde: remove an uninitialized index variable" 2020-02-12 20:50:19 -08:00
qctecmdr
2e6b26c260 Merge "disp: msm: sde: add enc_id check before decrement avail HW resources" 2020-02-12 20:10:24 -08:00
Steve Cohen
dd9f329b96 disp: msm: sde: set prop_count for U32 and BOOL type device node props
Set the prop_count corresponding to unsigned 32-bit integers and
boolean types to 1. With this change prop_count should have a
positive value for all properties which exist under the device node.

Change-Id: I601870dc25ab347b742fcc4aa2f6bea2397c6caf
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-12 20:40:40 -05:00
Jayaprakash
f7d08feb38 disp: msm: sde: add enc_id check before decrement avail HW resources
Add changes to commit and decrement only those
hardware resources which are required for the modeset.

Timeline of Commit C1 with CWB modeset:
---> Atomic_check
	Primary encoder has allocated required HW resources.
 	CWB encoder has allocated required HW resources.
---> Atomic_commit
	On primary encoder, connector is seamless hence
	there is no virt_modeset call.
	On CWB encoder, there is virt_mode_set call
	and during commit HW blocks there is unconditional
	decrement for all the HW blocks with rsvp_nxt.

This change ensures hardware blocks are available during
dp display mode validations.

Change-Id: Ifd9439cfc96e727c3093af5f47802c8367775cd7
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2020-02-12 13:34:41 -08:00
Steve Cohen
7fc26f91b2 disp: msm: sde: let dma-fence driver set timestamp on signal
Avoid corrupting the cb_list by setting timestamp before signal.
The fence driver changed in msm-5.4 by creating a union for the
fence cb_list, timestamp, and rcu. Therefore only one of these
fields can be used at a time. Fence driver will take care of
setting the timestamp during dma_fence_signal after it has
cached the cb_list. Also, use fence framework API to set fence
error instead of modifying the dma_fence struct directly.

Change-Id: I58dbaa495027cb575f4f0b03275ca4aa551ecacb
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-11 16:57:09 -08:00
Narendra Muppalla
b03a7413a4 disp: msm: sde: remove an uninitialized index variable
Avoid exposing any uninitialized data when setting up the
interrupt tables.

Change-Id: I00d3dc8b5acc843401148585a129fde58e326beb
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-11 13:05:00 -08:00
qctecmdr
9beffdfdc6 Merge "disp: msm: sde: program dither based on input data" 2020-02-10 17:19:07 -08:00
qctecmdr
0ee986b2f8 Merge "disp: msm: dp: update the definition of atomic_check function" 2020-02-10 16:11:19 -08:00
Narendra Muppalla
f402d8e542 disp: msm: sde: program dither based on input data
This change programs dither based on user mode input data and
reprograms the dither when device comes out of power collapse.

Change-Id: I83be20c8eb2dc2221cc57cd2395f6512338ff6ef
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-02-10 15:33:42 -08:00
Tatenda Chipeperekwa
cf71a83fba disp: msm: dp: update the definition of atomic_check function
Update the definition of the atomic_check function for
DisplayPort connectors to align with the DRM upstream changes.

Change-Id: Id942c8ef16ae773540c4bc7221e0b784354a527c
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:34:43 -08:00