Commit Graph

1034 Commits

Author SHA1 Message Date
Abhijit Kulkarni
96e8b6819c disp: msm: set voltage to min before disable
This change sets the regulator voltage to zero for all
those regulators which support voltage scaling before
disabling the regulator. Failing to do so causes the regulator
vote to set to the last min value specified in the previous
set voltage call.
Additionally modified the config regulator api and renamed to
get regulator because of the above change.

Change-Id: Ie4c4842db0c08a4d98926ed79503cf84e4d5762a
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-04 11:06:11 -07:00
qctecmdr
34df751b29 Merge "disp: msm: fix probe deferral logic" 2020-05-01 17:58:08 -07:00
qctecmdr
dfc3e3ddc8 Merge "disp: msm: sde: add sys cache usage for static image" 2020-05-01 17:58:07 -07:00
qctecmdr
7928c8d0e1 Merge "disp: msm: fix kw issues in sde and dp driver" 2020-05-01 10:55:28 -07:00
Abhijit Kulkarni
802b5e31eb disp: msm: fix probe deferral logic
msm_drv should be probe deferred until rsc driver
probe is done. OF_POPULATED flag only checks if platform
driver is registered and hence additional condition to
check if driver is attached to this device, is needed.

Change-Id: I070965cc8d3ba3984032ad3704ec86066680eef0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-01 09:57:07 -07:00
qctecmdr
4ec51d5fd2 Merge "disp: msm: sde: Add support for PCC position field" 2020-04-30 23:57:39 -07:00
qctecmdr
6a5956b36e Merge "disp: msm: make msm_drm as module for GKI" 2020-04-28 23:51:44 -07:00
Shashank Babu Chinta Venkata
6cda336fc9 disp: msm: make msm_drm as module for GKI
Make msm_drm as DLKM(Dynamically lodable kernel
module) for GKI config.

Change-Id: I1c11c2de9d24da7f26333f94a157c35581bc2459
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-04-28 15:52:49 -07:00
Shashank Babu Chinta Venkata
8b8bfe0165 disp: msm: make msm_drm into single module
Make msm_drm into single module and all child driver
registers and unregisters are handled from parent's
register and unregister respectively.

Change-Id: I017513d1de3b6b25dd5543d7fa7741c0bac1740d
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-04-28 15:52:39 -07:00
Chandan Uddaraju
eaa458b165 disp: msm: move MDSS resource voting to probe
sync_state driver disables any resources that
don't have any votes after driver probe is completed.
Move MDSS resource votes to probe so that any resources
that are needed for continuous splash are intact until
the bind of all the components is complete.

Change-Id: I0056bf1ec56bcd6a1b620a81143d4b49d7ea2921
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-04-28 12:09:13 -07:00
Chandan Uddaraju
fa8f623802 disp: msm: dsi: move panel regulator votes from bind to probe
Add vote for panel regulators in dsi probe to make sure
panel regulators are ON until dsi bind is completed
for cont-splash enabled usecase. Remove this panel regulator
vote when dsi component bind is done.

Change-Id: I0b1d43fa1b16385712abc1d8aaa0e778f31ba634
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-04-28 12:08:21 -07:00
qctecmdr
ef37df40dd Merge "disp: msm: sde: add rotation and scaling check for max linewidth" 2020-04-28 11:50:26 -07:00
Nilaan Gunabalachandran
83ee51cb5a disp: msm: sde: add sys cache usage for static image
Store full or partial static image in system cache (L3 cache)
for video mode primary display. Added additional commit to
crtc commit thread to transition to read cache state.
The change also updates llcc APIs to support generic functionality.

Change-Id: I6b2a45da946d7e0e0b326da9d214be3f01a9420e
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2020-04-27 15:12:17 -04:00
Christopher Braga
a6081a2894 disp: msm: sde: Add support for PCC position field
A new position control register field has been added to the
DSPP PCC on Lahaina. This field controls whether PCC is invoked
before or after GAMUT mapping.

Introduce new PCC control logic to set the PCC position based on
the new PCC_BEFORE flag. Older versions of the PCC control function
now clear all flags to ensure backwards compatibility.

Change-Id: I0a33604111b755e0a0ccf1864a57b17cc9071e3f
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2020-04-27 10:58:28 -07:00
Christopher Braga
44b0851e91 msm: drm: uapi: Add PCC flag to specify PCC evaluation position
A new position control register has been added to the DSPP PCC
on Lahaina. This register controls whether PCC is invoked
before or after GAMUT mapping.

Introduce a PCC UAPI flag to indicate if PCC should be placed
before the GAMUT block. By default PCC will be placed after
GAMUT.

Change-Id: I0bcc35e0ce7f87c7fa29922a6a485abe479d893a
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2020-04-27 10:58:06 -07:00
qctecmdr
a003348eed Merge "disp: msm: sde: avoid secure display to secure camera transition" 2020-04-26 14:14:12 -07:00
qctecmdr
b34a60391e Merge "disp: msm: sde: add xlogs for secure usecases" 2020-04-26 11:26:35 -07:00
qctecmdr
44c74ccf58 Merge "disp: msm: sde: avoid drm_crtc_vblank_on during seamless transition" 2020-04-25 17:01:47 -07:00
Narendra Muppalla
d07ef2efe0 disp: msm: fix kw issues in sde and dp driver
This change addresses out of range and null checks in
sde and dp driver.

Change-Id: I142196d7394f0bf0abab1bfa89abfd784a5521c8
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-04-24 16:01:02 -07:00
qctecmdr
a60fc941c5 Merge "disp: msm: sde: setup blend configuration per stage" 2020-04-23 12:07:39 -07:00
qctecmdr
e689a13372 Merge "drm/msm: avoid dim layer setup if not required" 2020-04-23 12:07:39 -07:00
Dhaval Patel
d4566743e0 disp: msm: avoid msm_drv probe if sde_rsc is not probed yet
Msm_drv device node has dependency on sde_rsc device
node for power resource enable if sde_rsc device
device is enabled. This change moves the msm_drv device
to probe defer state during component addition if
sde_rsc device is not probed yet. It also removes
the master_drm device node access from sde_rsc device.

Change-Id: Ibb7457279b3376f45e82e5c9373aabd84a37ed36
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-04-23 10:29:44 -07:00
qctecmdr
9794834cc5 Merge "disp: msm: dsi: avoid seamless request for cwb transitions" 2020-04-23 09:09:01 -07:00
qctecmdr
5b628350cf Merge "disp: msm: dsi: Update mode population logic for POMS feature" 2020-04-23 09:09:01 -07:00
Thomas Dedinsky
d4124a5322 disp: msm: sde: add rotation and scaling check for max linewidth
Add scaling linewidth variable and logic changes to get
valid max linewidth values for inline rotation and scaling.
Modify linewidth check to compare with scaler source width.

Change-Id: I7c63175e568ecb524f9cdf8ada1d7c6fdc999236
Signed-off-by: Thomas Dedinsky <tdedinsk@codeaurora.org>
2020-04-22 14:08:47 -07:00
qctecmdr
a590ad8a8a Merge "disp: msm: sde: update QoS values on FPS switch" 2020-04-21 18:35:16 -07:00
qctecmdr
77a07da7c3 Merge "disp: msm: sde: add default calculations and settings for pre-downscale" 2020-04-21 13:55:11 -07:00
Samantha Tran
5217dfd7ea disp: msm: sde: update QoS values on FPS switch
This change updates plane's dirty flag with QoS
value to ensure QoS gets reprogrammed with new FPS
settings. This is required as QoS values will change
with FPS.

Change-Id: I377b99da2a640d375bd48477f149197b332e7f7b
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-21 12:48:23 -07:00
Adrian Salido
3720455502 drm/msm: minimize qos remap updates
Updating qos remap updates requires reading registers to update values,
this adds additional CPU processing when in reality this update
is only needed once.

Bug: 142504774
Change-Id: Iec8d4dfd858b0602db7d2275b6b716dbcffe0d2f
(cherry picked from commit dbd1cfbc21db4b9bd4f1a4fc234cedc314fa1265)
Signed-off-by: Adrian Salido <salidoa@google.com>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-21 12:43:55 -07:00
Nilaan Gunabalachandran
d423505a8e disp: msm: sde: add tracking for if perf_mode is changed
Perf tuning mode can be updated through debugfs and this should
be used to reflect the core clock rate.

Change-Id: I313d079f0b8013f43f4b293c6400f34eaf56b6d2
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2020-04-21 15:38:18 -04:00
Nilaan Gunabalachandran
563dd76580 disp: msm: sde: reduce complexity in sde_core_perf_crtc_update
Reduce cyclomatic complexity for core perf crtc update.

Change-Id: I7e110aefc64387ab40f11daf0624b9da29838fbf
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2020-04-21 15:38:10 -04:00
Adrian Salido
51769fd40f drm/msm: avoid dim layer setup if not required
Dim layer clearing/setup requires reading registers in order to update
value, doing this add additional CPU processing when it's not really
needed. Add logic to only do the updates only when needed.

Bug: 142504774
Change-Id: I23bcbe39575de35c387cfb7d2b9dc993525e4f98
Signed-off-by: Adrian Salido <salidoa@google.com>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-21 12:30:28 -07:00
Samantha Tran
291b36ee7f disp: msm: sde: setup blend configuration per stage
This change calls setup on blend configuration per stage
instead of per plane per crtc mixer. This avoids unnecessary
register programming if two planes are in the same stage.

Change-Id: I7481270edad13a4182352e72d5d2ab8941de0ae5
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-21 11:47:09 -07:00
Samantha Tran
5a12f8b0df disp: msm: sde: add default calculations and settings for pre-downscale
This change introduces pre-downscaling values to the path where
these values are not provided by userspace. Currently, pre-downscaling
is only allowed by a factor of 2.2 in the x direction. With this
change pre-downscaling will support >2.2 up to 4 in the x direction.

Change-Id: I04d1b07243a5973e9338ea2a212280985b31b6a3
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-20 17:24:15 -07:00
Krishna Manikandan
6d81ae22c1 disp: msm: sde: add xlogs for secure usecases
Add xlogs to capture the secure state information of
each of the planes during mixer setup.

Change-Id: I5d60fb4287b13b3ba5a78c6b858dd244ebeb18aa
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-04-20 14:32:35 -07:00
Raviteja Tamatam
2d1980b2b3 disp: msm: sde: avoid drm_crtc_vblank_on during seamless transition
When there is a race condition between DMS seamless transition and
drm_wait_vblank_ioctl, the latter gets deregistered for vblank
handle as drm_crtc_vblank_on call in crtc enbale increments vblank
count. This change avoids drm_crtc_vblank_on call during seamless
transition when crtc is already enabled as it is not required.

Change-Id: I0b9327a98cef00405b5b94e24a3fd15205339cfc
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-04-20 14:32:32 -07:00
Raviteja Tamatam
54b2d6810a disp: msm: sde: avoid secure display to secure camera transition
During stability tests there are cases where smmu faults are
seen due to direct transition from secure display to secure
camera without smmu ATTACHED state. Added atomic check to avoid
such transitions.

Change-Id: I307e342f35c6e7dab82902fa77e3a5c0c082f4e4
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-04-20 14:32:28 -07:00
qctecmdr
60b0ca7dba Merge "disp: msm: sde: update check flags to handle CONFIG_DEBUG_FS" 2020-04-20 14:23:29 -07:00
Samantha Tran
50c2183779 display: fix compilation when CONFIG_DEBUG_FS is disabled
Fix compilation error when CONFIG_DEBUG_FS is disabled in
kona-perf_defconfig.

Change-Id: I7f6e942e4af9fab1e3cb9fe053401a241597a81f
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-20 10:14:35 -07:00
Lipsa Rout
e009f7f81f disp: msm: dsi: Update mode population logic for POMS feature
This change adds support to populate one command mode for
video mode panels supporting panel operating mode switch
feature.

Change-Id: I850b889ebfa8c2ee1406ad946061b96143537b09
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-20 09:59:22 -07:00
Lipsa Rout
d59451d9e9 disp: msm: dsi: Add support to skip constant fps for command mode
VFP or HFP is adjusted to achieve constant fps during dynamic
DSI clock switch. This feature is not supported for command
mode. So, add check to skip porch calculation for command mode.

Change-Id: I5fa76d6536a55b2a19f24c0e14b6861e1f4c8f25
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-20 09:59:18 -07:00
Lipsa Rout
9cf9c8e99b disp: msm: dsi: Fix the total number of modes calculation
This change updates the parsing of timing nodes to check
the mode of operation as video or command. In command mode,
for each timing node, num of supported dfps rate is always
one. Accordingly, update the num_dfps_rate to 1 for
command mode.

Change-Id: I5098c7e0d4d2320609d6e10031eaef78c1d8b3c1
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-20 09:59:14 -07:00
Rajeev Nandan
4f53bc1569 disp: msm: dsi: fix physical size truncation of large panel
Panel's physical width/height larger than 255mm is getting
truncated due to type conversion into smaller type.

Change-Id: I826fb2db542146c07d8379951563430b7da8288c
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-20 09:59:09 -07:00
Harigovindan P
1b9802c099 disp: msm: dsi: modify handling of debugfs initialization
Add support to allow creation of debugfs node only if
CONFIG_DEBUG_FS is enabled.

Change-Id: I1ae2c4188a99e3ed88f59fc021efc01407bf942d
Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-19 14:20:12 -07:00
Krishna Manikandan
eaa0b9cc15 disp: msm: dsi: avoid seamless request for cwb transitions
There are some scenarios where a dfps request
during cwb session will result in cwb
encoder not getting disabled once the cwb
session is over. Add support to fail the
commit if any VRR or dynamic clock change
request is received during CWB transitions
to handle this.

Change-Id: Id3f192f79eac4ad0d7301bd34f7151fec243d685
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-19 14:13:35 -07:00
Lei Chen
92ecce2873 disp: msm: Subtract DSI interrupt count after interrupt was destroyed
DSI interrupt may be destroyed before it is disabled, it will cause to
the interrupt count can't be cleared, so subtrace DSI interrupt count
in disable function even it was destroyed.

Change-Id: I430b0281957db588c7405d5775d0c10f2f498b36
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-19 14:13:20 -07:00
Nilaan Gunabalachandran
a5cae7c0f3 disp: msm: dsi: make panel commands async for vid to cmd switch
Optimize pre mode switch panel command by transferring async. This
removes the time waited until subsequent dma_done irq.

Change-Id: I2e2516fdd641e85d1f1b221a6ea7999c868edf00
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-19 14:13:13 -07:00
Nilaan Gunabalachandran
41f52e3987 disp: msm: dsi: maintain validated dsi msg flags
This change fixes the usecase where dsi msg flags validated only
during command transfer. This fix maintains the flags between
transfer and trigger calls. It also adds a new async override
flag to be used to bypass validate function.

Change-Id: Ie12acd3d7b01099bba65ca37cec61091408b81c5
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-19 14:12:58 -07:00
Samantha Tran
18d29a5b7b disp: msm: sde: update check flags to handle CONFIG_DEBUG_FS
Add support to handle disabling of CONFIG_DEBUG_FS.

Change-Id: I8c07434afc36edfae9bd9bc7880d07264eca7650
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-16 23:55:58 -07:00
Samantha Tran
22923230ef disp: msm: modify handling of debugfs initialization
Add support to allow creation of debugfs node only if
CONFIG_DEBUG_FS is enabled.

Change-Id: Iaeaf51b3654c9458cf8131a9756e6b905007c4ae
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2020-04-16 23:55:48 -07:00