Commit Graph

1293 Commits

Author SHA1 Message Date
Ray Zhang
e380b315c6 disp: msm: do not print error when crtc state is empty
Sometimes committed state doesn't contain any crtcs. For example,
fbdev emulation is still pushing null commits to DRM even if the
cable has been plugged out. Avoid flooding the logs in this case.

Change-Id: I6b7f049b80409c4a2ae057839ede6dd8af10d03b
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-25 22:20:43 -04:00
qctecmdr
5c9e7ebc98 Merge "disp: msm: sde: add macro for default fps" 2020-07-24 06:38:09 -07:00
qctecmdr
5cd8505102 Merge "disp: remove kernel mapping of writeback framebuffer" 2020-07-24 02:22:42 -07:00
Yuan Zhao
b54107cfa3 disp: msm: dsi: add a new PWM pinctrl configure
The default PWM gpio pin mode was not right for PWM backlight
control. If needs to use PWM backlight, must config the
gpio pinctrl.

Change-Id: I5fd6b947d379b53ef4c358be1b935a2ad4970f99
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-07-23 19:54:02 -07:00
qctecmdr
b41ee8cf11 Merge "disp: msm: dp: ensure display is disabled before deinit" 2020-07-23 16:20:44 -07:00
qctecmdr
13f1a4ee8e Merge "disp: msm: sde: add handoff implementation for color processing features" 2020-07-23 13:59:55 -07:00
Linux Build Service Account
87f5eca6e0 Merge changes I63392417,I6ca0188d into display-kernel.lnx.5.4
* changes:
  disp: msm: add trace logs in display early wakeup function
  disp: msm: add support for display early wakeup
2020-07-23 07:38:30 -07:00
Linux Build Service Account
004c899d2f Merge "disp: msm: dsi: drive backlight enable gpio low during power off" into display-kernel.lnx.5.4 2020-07-23 07:19:17 -07:00
Narendra Muppalla
cea2d1cef0 disp: msm: sde: add macro for default fps
This changes adds macro for default fps.

Change-Id: Ieb1d38bd6fbfcd3fec7e2cc6e39636b6297dd0ef
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-07-22 13:07:45 -07:00
Ping Li
98821c4384 disp: msm: sde: add handoff implementation for color processing features
Add handoff implementation for color processing features when switching
from primary VM to trusted VM.

Change-Id: I9c3a168f70f3981e912bf37533f212880ab30924
Signed-off-by: Ping Li <pingli@codeaurora.org>
2020-07-21 16:45:38 -07:00
Jeykumar Sankaran
f86e722e56 disp: msm: sde: control backlight update for trusted UI
Install backlight property only for primary VM and avoid
backlight updates when HW is not owned by the VM.

Change-Id: I35f26d5c41ea57c7271382a1fe571e65ee4520c1
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-21 13:29:28 -07:00
Linux Build Service Account
6b74335f74 Merge "disp: msm: dsi: add DSI PLL support for 10nm-LPU" into display-kernel.lnx.5.4 2020-07-21 12:59:59 -07:00
Linux Build Service Account
f04391273d Merge "disp: msm: sde: fix cache controller node parse logic" into display-kernel.lnx.5.4 2020-07-21 12:59:58 -07:00
qctecmdr
7c4ab87985 Merge "disp: msm: make rotator in msm_drm module" 2020-07-20 22:06:27 -07:00
Linux Build Service Account
8d58ba851e Merge "Revert "disp: msm: sde: control backlight update for trusted UI"" into display-kernel.lnx.5.4 2020-07-20 15:39:52 -07:00
Satya Rama Aditya Pinapala
333ce300ee Revert "disp: msm: sde: control backlight update for trusted UI"
This reverts commit 7bb6e30418.

Change-Id: I615129778556434f2e9a4bd1224b07df7b09ec02
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-07-20 13:14:45 -07:00
Krishna Manikandan
d141d184e6 disp: msm: sde: fix cache controller node parse logic
Cache controller is not a sde property, add
proper parsing logic to get the compatible version
of llcc cache.

Featurise system cache support with a catalog entry as it
provides a finer control to enable/disable llcc
for display.

Change-Id: I07fa8e144d0a4fa32ab16e46142c7b68f771d9c7
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-20 16:47:20 +05:30
Satya Rama Aditya Pinapala
19c01f38bc disp: msm: dsi: drive backlight enable gpio low during power off
Change drives the LCD panel backlight enable GPIO low during panel
power off sequence.

Change-Id: Icfd22cf8d5216fcff857bbeab9c183dfb02b83bd
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-07-19 23:14:20 -07:00
qctecmdr
e50c2562c7 Merge "disp: msm: sde: reconfigure misr based on user input" 2020-07-19 12:15:43 -07:00
qctecmdr
1e19ca1adb Merge "disp: msm: sde: trigger pm_qos vote with encoder idle pc" 2020-07-19 08:19:48 -07:00
qctecmdr
1b80126268 Merge "disp: msm: sde: use mdp scratch register to pass drm mode info" 2020-07-18 14:45:56 -07:00
Linux Build Service Account
6d768e78df Merge "disp: msm: sde: add delay after porches changed" into display-kernel.lnx.5.4 2020-07-17 15:14:52 -07:00
Linux Build Service Account
a585d8a7d2 Merge "drm/msm/sde: fix invalid connector state in crtc check" into display-kernel.lnx.5.4 2020-07-17 15:14:51 -07:00
Amine Najahi
1c83659a56 drm/msm/sde: fix invalid connector state in crtc check
Connector state in crtc_atomic_check is still the old state, use
connector_mask to update the actual connector in the list to fix
zero connector issue.

Change-Id: I91541063acbb19beced3004a030c7f27abf9ee50
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2020-07-16 18:17:28 -04:00
Veera Sundaram Sankaran
e8309fcbf5 disp: msm: sde: use mdp scratch register to pass drm mode info
Use MDP scratch registers to pass drm mode index information
between the VMs. Expose the APIs which LA VM can use to set
the current mode for all active displays before handoff.
LE VM relies on this information to set the corresponding
display in correct mode during handoff.

Change-Id: I4569dd58e953e588bca816ac718335d3f3f7e29b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-07-16 10:43:50 -07:00
Veera Sundaram Sankaran
96438460c6 disp: msm: sde: reserve resources on trusted vm usecase start
The MEM & IRQ lend handlers signals the resources
are lent from the primary VM. Reserve the SDE HW
resources in trusted VM using the cont-splash path
and setup the SDE & DRM software states. Set the
DSI connector status to active for the handoff
display during the start and disable it at the end
of the session.

Change-Id: I75b6df735eb5609cc521808aca0ddfb0b3993e84
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-07-16 10:40:52 -07:00
Jeykumar Sankaran
7bb6e30418 disp: msm: sde: control backlight update for trusted UI
Install backlight property only for primary VM and avoid
backlight updates when HW is not owned by the VM.

Change-Id: Ief831661e2b9419a0b9d392742bf96300ecc0d48
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 09:22:51 -07:00
Jeykumar Sankaran
f53b6a06ec disp: msm: sde: add VM guard checks for vblank control
Check against the HW ownership before servicing vblank
control requests from clients.

Change-Id: I22544817fde72afa7f668fbc08caa28abe0330ee
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 09:22:46 -07:00
Jeykumar Sankaran
ce532fb486 disp: msm: sde: add trusted UI support for SDE
Extends atomic check to validate TUI transition request aginst
SDE and non-SDE client states. Triggers HW assignment after
making sure current frame is  completely flushed out of HW
pipeline. Initiate the acquire after TUI end after restoring
the software states.

Change-Id: I6ceccd44c18526ff818723b5631b66af3ff083c1
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 08:40:28 -07:00
Jeykumar Sankaran
c249858e2b disp: msm: sde: add client pre_release/post_acquire handles for VM layers
client_pre_release/client_post_acquire hooks in vm_ops allows non-SDE
clients to register for callbacks to be invoked
 - before releasing the resources from the current VM so that
   the client can updates the respective sw state to indicate
   the absence of HW ownership
 - before the first frame push after acquiring the HW to update
   reset the respective sw state to indicate the presence of
   HW ownership and resume operations

Change-Id: I93e5a2b43c79b4e7cc28e6e0129d8091aa0e508d
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 08:38:45 -07:00
Jeykumar Sankaran
720f9d0014 disp: msm: sde: add VM files for SDE
Add VM layer files to handle VM specific operations
for primary and secondary VM's. They interact with
Hypervisor RM modules to LEND/ACCEPT/RELEASE/RECLAIM
HW resources. They also handle notifications for each
of the above Hyp RM operations to acquire and update
the SDE software states.

Change-Id: I5982f4bf56550dc464797c62cb356be39925b21c
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-16 08:38:36 -07:00
qctecmdr
de02324782 Merge "disp: msm: dp: remove check for peer_usb_comm" 2020-07-15 15:11:45 -07:00
Abhijit Kulkarni
15ae91e806 disp: msm: sde: add delay after porches changed
This change adds 2 vsync delay after changing the timing engine
parameters namely the porches to update the refresh rate.
This ensures that panel vsync is updated as per new timing before
modifying it again.

Change-Id: I5866ea2f6f2e68bc8ce7435c4a5dbe27d8ebdd91
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-07-15 11:57:00 -07:00
Rajkumar Subbiah
853e959f4d disp: msm: dp: ensure display is disabled before deinit
When hpd disconnect is received, the dp driver sends an uevent to
usermode and waits for the usermode to tear down all external displays
before turning off the dp link. If the wait for uevent completion
times out or exits prematurely due to a race condition with the
connect path, it is possible for the dp link to be turned off
prematurely, with displays still in enabled state. On a subsequent
hpd disconnect, the driver attempts to disable the display causing
this issue since the link has been already turned off.

This change adds a check for display status after uevent handling and
before turning off dp link, to make sure the displays are always
cleaned up before the link is turned off. Any future attempts to
disable from usermode will be ignored.

Change-Id: I404ad90b037fede9c9469a2fd16ca1fbdbd36b7c
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2020-07-15 09:45:31 -04:00
Rajkumar Subbiah
2ba9bd9434 disp: msm: dp: skip dp disconnect if already in progress
When dp disconnect is triggered, as part of the teardown process, the
driver sends a notification to audio driver and waits for the audio
driver to complete before proceeding. When back to back disconnects
are triggered currently there is no check if a disconnect is already
in progress. So the driver ends up reinitializing the signal
completion that the previous disconnect thread is waiting on causing
this issue.

This change adds a check at the beginning of disconnect handling and
bail out if a disconnect is already in progress.

Change-Id: I2eaee339408d9dbc120f8efc14d86fca0ebb0758
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2020-07-15 09:44:36 -04:00
qctecmdr
a995ee8ca1 Merge "disp: msm: dp: cleanup in GKI module unload path" 2020-07-15 04:44:36 -07:00
Narendra Muppalla
2c2a06abba disp: msm: sde: reconfigure misr based on user input
In current SDE driver when misr is enabled, for each commit in
encoder kickoff stage misr is configured for both lm and interface
misr blks. This can clear misr data before client could collect misr.
This change avoids misr data clear and configures misr based on
user input.

Change-Id: I85fc19c78afc6d01346219250c82f2ada824eb0d
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-07-14 18:06:14 -07:00
Dhaval Patel
5a6facc39e disp: msm: sde: trigger pm_qos vote with encoder idle pc
Commit d46cae019e ("disp: msm: sde: trigger pm_qos vote
with irq enable") moves the pm_qos vote with irq
enable/disable state. Such irq enable/disable call may be
triggered from atomic context and lead to scheduling issues
due to mutex_lock usage in pm_qos APIs. This change moves
the vote with encoder idle pc to allow lock usage with sleep.

Change-Id: I2d22566fbfb5399c5d2d2a4efe882a1928cfbbf8
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-07-14 16:26:51 -07:00
qctecmdr
e3dc3592ec Merge "disp: msm: sde: don't advertise rotation for virtual planes" 2020-07-14 12:28:45 -07:00
qctecmdr
dba8ecd836 Merge "disp: msm: sde: remove unused output parameter in _get_tearcheck_threshold" 2020-07-14 12:28:45 -07:00
qctecmdr
5e96ba152b Merge "disp: msm: sde: add rev check for shima target" 2020-07-14 09:50:09 -07:00
qctecmdr
8c127fd44f Merge "disp: msm: sde: add support to parse hbb and ddr type" 2020-07-14 09:50:09 -07:00
qctecmdr
99d42df79e Merge "disp: msm: dp: fix compilation issues for dp" 2020-07-14 09:50:08 -07:00
Rajeev Nandan
7cf728f3a6 disp: msm: dsi: add DSI PLL support for 10nm-LPU
This change adds DSI pll support for 10nm architecture.

Change-Id: I3819dd828dbcc168b115bd718c5d656ea9fd12c8
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
2020-07-14 00:05:36 -07:00
Tatenda Chipeperekwa
5ed32bb41f disp: msm: dp: remove check for peer_usb_comm
Reset the QMP PHY into DP-only mode only when the adapter/cable
connected is not multi-function capable. We remove the
peer_usb_comm check since this flag is not being updated when
the cable is connected.

Change-Id: Iafbdf73b3ef827b757b51bfadfa6fa16b840ac27
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-07-13 18:14:17 -07:00
qctecmdr
6fd5a637c2 Merge "disp: msm: dsi: register io resource collection VM event hook" 2020-07-13 17:20:39 -07:00
qctecmdr
06b7a6feeb Merge "disp: msm: sde: Register display brightness cooling device" 2020-07-13 08:57:51 -07:00
Krishna Manikandan
47e6acb39d disp: msm: dp: fix compilation issues for dp
Add required changes to fix compilation errors
when dp driver is disabled.

Change-Id: I84de1268e5f9a892d838f35e27773566dc82ef03
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-13 18:30:14 +05:30
Krishna Manikandan
0e257f3325 disp: msm: sde: add support to parse hbb and ddr type
Add support to parse ddr type and corresponding
highest bank bit for configuring UBWC parameters.

Change-Id: I54f79a60f55fd6b146783c8f53fce1bf6c8d8d0a
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-13 18:09:10 +05:30
qctecmdr
47918b2ba5 Merge "disp: msm: sde: update uidle wd timer load value and fal1 threshold" 2020-07-13 02:05:31 -07:00