Gráfico de commits

1392 Commits

Autor SHA1 Mensaje Fecha
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
Ping Li
7536e8e0ef disp: msm: sde: Fix LTM hist off notification issue
When LTM is turning off, user space will turn off LTM histogram and
then wait for LTM hist off event from driver to change the state
from offpending to off. But if device enters IPC during this time,
driver will not notify user space with LTM hist off event and LTM
will stuck in offpending state. This change remove the check
before LTM hist off event notification to avoid LTM state stuck issue.

Change-Id: I073adabf72c6454acb8ab4d333c0547723523781
Signed-off-by: Ping Li <pingli@codeaurora.org>
2020-07-17 10:30:54 -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
Orion Brody
ee9c09b8b3 disp: msm: dsi: fixes in GKI cleanup path
Creates a deep copy of a struct which previously was shallow.
Also adds null checks which prevent segmentation faults.

Change-Id: I9155f632736fdb30e31f28f55ebe92954956a82d
Signed-off-by: Orion Brody <obrody@codeaurora.org>
2020-07-15 17:32:17 -07:00
qctecmdr
de02324782 Merge "disp: msm: dp: remove check for peer_usb_comm" 2020-07-15 15:11:45 -07:00
Orion Brody
66f04c4716 disp: msm: fix driver unload issues in gki config
Resolves segmentation fault during driver unload in GKI
configuration, caused by repeated debugfs destroy calls.
Also removes redundant unload calls.

Change-Id: I20a8efc1916b9a60766f9c7714a4b458aa518566
Signed-off-by: Orion Brody <obrody@codeaurora.org>
2020-07-15 12:26:08 -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
Jeykumar Sankaran
4faed220cb Revert "disp: fix compilation issue with trusted VM config"
This reverts commit e0b15f4dbc.

Needed display configs are enabled in trusted vm configuration.
We don't need this change anymore.

Change-Id: Id3b591ce5cfebf5f560a0b60816f7fd76253c347
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-14 22:47:38 -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
Krishna Manikandan
27c9c25faa makefile: add config support for display techpack for holi
Add required changes to makefile and enable the config
keys for holi target compilation.

Change-Id: I4b48e79c8b26c45f2f54fc1ac02a6e322bda07b9
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-14 10:19:01 +05:30
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
Raviteja Tamatam
0a0acb4162 msm: disp: rotator: changes to enable rotator on 5.4 kernel
Few v4l2_ioctl_ops are deprecated on kernel upgrade. Made
changes to use the new simulated ops. Addressed compilation
issues on enabling rotator on 5.4 kernel.

Change-Id: I37add012306da433c4d7f8aaada3089b6ecdd819
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-07-13 13:33:53 +05:30
Krishna Manikandan
bb7d5f490f disp: msm: sde: add rev check for shima target
Add required revision checks for shima target.

Change-Id: I610263844c280e12b91a8b88781a6b6344415174
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-13 11:25:00 +05:30
Krishna Manikandan
8303bc2669 disp: rotator: add rev checks for rotator for holi target
Add revision checks required for rotator for holi
target.

Change-Id: Ie35d888d7681c97d681e2b2d6b564e0a7e1f11f2
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-13 11:23:45 +05:30
Krishna Manikandan
471b1ef0bc disp: msm: sde: add rev checks for holi target
Add required revision checks for holi target.

Change-Id: I27daa66d9af10f90a5432b5698bbdb16d7866c2f
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2020-07-13 10:17:19 +05:30
Lei Chen
ff4f530606 disp: msm: add trace logs in display early wakeup function
Add trace logs in display early wakeup function for performance
profiling.

Change-Id: I63392417f03eac60dba1c43cd71fe5032ba59ed3
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-07-12 19:08:27 -07:00
Lei Chen
eb679f5289 disp: msm: add support for display early wakeup
Display clocks and IRQs are disabled during idle state
on command mode for power saving, and will be enabled
when a new frame commits to display driver. But enable
display clocks and IRQs will cause some latency.
So add a new SDE custom IOCTL for user-space to early wake
up display before first frame commits to kernel.

Change-Id: I6ca0188d321c4964f29c46e588b64d06b9634c59
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-07-12 19:08:23 -07:00
Lei Chen
2bcfcab1cb drm: define a new SDE custom IOCTL for early wakeup display feature
Add this new IOCTL for user-space to wake up kernel display as soon
as it gets a new frame update.

Change-Id: Icd45b47e99ca0ea996e46ae8335a29f6636bf406
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-07-13 10:08:00 +08:00
Jeykumar Sankaran
962fd4faca disp: msm: dsi: register io resource collection VM event hook
Add support to read register ranges and IRQ lines that needs
isolation during VM switch in dsi ctrl and dsi phy.
Register for VM resource collection event providing the
callback function.

Change-Id: I5eae4699b0a97ffed438627ccea855c401b3fbeb
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-12 15:16:32 -07:00
Jeykumar Sankaran
4b27380f07 disp: msm: dsi: reuse continuous splash path for trusted vm
Display in trusted VM works in a handover mode i.e, all
display components need to be initialized by the primary VM
before switching to trusted VM on the usecase boundary.
That makes it a hard requirement for the trusted VM not to
re-program any of the display configuration registers before
it could hand the HW back to the primary VM.

Also, most of the linux framework drivers including pintrl, clocks
are not enabled in the trusted VM.

In order to address the above two limitations and to control the
probe/commit sequences, this change adapts the same path as that
of continuous splash to bypass some of the critical functions
which are identified to be HW intrusive. Based on the DT property
read from SDE handle, dsi drivers will choose to bypass
enable/disable HW state updates when executing in the vm environment.

Change-Id: Ica71c924d189ab65fe3be5b0ac870633e3b749e1
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-07-12 15:00:09 -07:00
Jeykumar Sankaran
ea2fdb01f7 disp: msm: dsi: avoid sharing ctrl hw ops across versions
Avoid sharing and have dedicated dsi HW ctrl ops across versions
even if they are identical. It helps to stub out a specific
version of ops if needed.

Change-Id: Ic14c206b526ebe03dd5f47f62701820e7e542670
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-12 15:00:09 -07:00
Jeykumar Sankaran
e452acf2fb disp: msm: dsi: skip pll clock registration for trusted vm
Trusted VM will be granted access to MDSS HW dynamically on
usecase boundary. As a result, all the attempts to access
HW before the assignment, including the probe time access
will result in Stage 2 faults. This change skips the
PLL clock registration during probe as the clocks will not
be controlled by the VM.

Change-Id: I326f4a775796cd95dcf398449b08f2682e4aca43
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2020-07-12 15:00:09 -07:00
qctecmdr
6d1c929a4d Merge "disp: msm: sde: use tracing_mark_write as a node point for sde traces" 2020-07-12 14:50:18 -07:00
qctecmdr
2310f221c0 Merge "disp: msm: dp: update voltage swing and pre-emphasis" 2020-07-11 23:40:50 -07:00
qctecmdr
78d74e3576 Merge "display: msm: sde: Add display cooling device interface" 2020-07-11 17:44:49 -07:00
qctecmdr
dab2d306d2 Merge "disp: msm: dp: fix refcount issues on mst port disconnect" 2020-07-11 12:37:42 -07:00
qctecmdr
9e6d0416a0 Merge "disp: msm: dp: check branch device when adding mst sim port" 2020-07-11 09:42:45 -07:00
qctecmdr
2ea0c06410 Merge "disp: msm: sde: reset crtc power_event on crtc disable" 2020-07-11 07:06:41 -07:00