| Commit message (Collapse) | Author | Age |
| ... | |
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Existing callflow has multiple points of flush to hardware.
This complicates the callflows, and makes satisfying command mode
and writeback cases difficult since they require triggers based on
event complete irqs. It is important to avoid programming the next
frame's data into hw before the previous frame has completed. For these
reasons we need to buffer flushing of the ctl path, and trigger it
at kickoff time.
This change uses the kickoff callback from the msm layer to consolidate
simple page flip commits and enable/disable commit callflows into a
common kickoff flow.
Change-Id: I565afcf67969da3dbe6e358b5daeffc713b2027c
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Need the ability to communicate which modes the DSI panel is
operating capable of operating in, command or video mode.
Change-Id: I44a5f01c7dad4af6a14590fdbf2349b675f65393
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add a callback that will give subdrivers a single point where
flush to hardware trigger is appropriate in all commit
callflows; after bridge pre-enable and encoder enable, but
before bridge enable. Current flush to hardware trigger is
spread across different code paths depending on whether the
commit is doing an enable or just a page flip.
Change-Id: If3c9383f176af90b154dd02b338017c48e2fbc70
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Correct register enum and masks used for reading out the
pingpong vsync and line count values.
Change-Id: Iaa2a1034d38ad9f741c5201de2de7c5f39aeaaf5
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Update the gpio output direction configurations as per
the hardware specification to avoid panel boot-up issues.
Change-Id: I8b2885566530dc1e5b5a9ac66e4f48ba8d79a781
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use the symbol name as a best effort way to log the register
name along with the value and offset in the register logging.
Change-Id: I8befb674d9599725f66eadc4a293dcb24b96302f
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Top register requries a debug logmask area to be available to
register dumping logic.
Change-Id: Iec7c97ddfa94461e5d1065b03205bf8d5206ed3f
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add sde specific macros for dmesg logging that may be enabled
both via drm_debug and via the kernel's dynamic debug.
Change-Id: I25e724fec3e059d9997f3e3383e69223de6e111f
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Enable color fill if input fence times out. Move CSC/solid fill
updates to the flush point of the commit. Move sde_plane_flush()
call to execute before crtc_flush_all().
Change-Id: I9fd1fa5b98dae509e8957ef0300aa00735903fdd
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move sync_fence_timeout property from plane to crtc, so that
a common wait time can be applied to all planes selected for
each crtc.
Change-Id: I8108de8882667fad00df000073ddfc23202b15e0
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Memset dsi and drm data structures before populating them
with configuration data to avoid any possibility of using
residue data from previous configurations.
Change-Id: Ia601a540d62445f499b73284d54ec53424aa347d
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove unused tag from DSI API to avoid compilation
issue.
Change-Id: I8d1a986bf7af3e10884581c9bf931d438ec08caf
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
HDCP hdmi is an optional feature in DRM
and it is not needed at bringup stage. Remove
this driver from compilation from drm to
avoid any issues. It will be re-enabled when
complete feature set is supported.
This change also update the HDCP API name to
avoid conflict with FB HDCP driver.
Change-Id: I788747750e7f586c58fe0d0bd3b5a4d223adfb96
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
mdp4 drm driver is for old MDP revision. It
is not required for newer version of chipsets.
Disable this driver because it is using older
smmu/bus APIs which are not supported now.
Change-Id: Ic25e77112a378b96295d78f1bd9d8f48a07be32d
Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
DRM msm driver has option to switch between
qti kgsl driver and drm GPU driver. Qti kgsl
driver is preferred over other driver to support
rendering because it supports all qti features
with custom optimization. This change allows
to select qti kgsl driver if it is available.
Change-Id: I031eeec6378b6ce436c09c1a8388401e7ff48f52
Signed-off-by: Stephane Viau <sviau@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Get regulator data from device tree so that clients
like DSI driver can make use of it.
Change-Id: Ifbbac08f8f93b8ad85d212593e5e3f3ddab3fdfd
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When an incoming blob property is set for the csc, copy the
settings to the sde plane's config structure rather than a
local one. This allows the correct user values to be programmed
to the hardware.
Change-Id: I4b3e13209dd15cf7e8f932528c9929470bf5af42
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add display manager include paths and build to drm
msm makefile.
Change-Id: I54ca8a9babc11a135615c9217e21396ac9770477
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Before this change, the driver's name was defined as "msm". This
definition conflicts with another MSM driver in the downstream
kernel (camera_v2).
To avoid such conflict (kernel crash), the msm drm driver's name
is changed to "msm_drm", which is also a bit more explicit than
the previous definition.
Change-Id: Idc3e9d3e5d2b04e78e0b7665b7036c07f94d4413
Signed-off-by: Stephane Viau <sviau@codeaurora.org>
[cip@codeaurora.org: Also change name of drm driver
and workqueue from "msm" to "msm_drm"]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add checks to avoid dereferencing the user scaler blob if
the plane state is null, which is possible if the scaler
configuration is requested internally.
Change-Id: I497cdd8e2d35afa842451321eee98ae3b9c34bf2
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add error checking to msm_property_get_blob to avoid
null dereference if the blob property array is NULL.
Change-Id: I0e2e501eb1ed6beecae78a10e89fd755cc208ac6
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Create a new config for DSI staging driver.
Change-Id: I76879210bf51c6b30de94166f170ceae5001e1c7
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change mipi packet header format to work with msm hardware.
Change-Id: I6bd28a65f56b1f340b2bf77d311675ebc069259d
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove interrupt handling for now as interrupt handling
implementation is not complete and causes basic functionality
break.
Change-Id: I59a0e86434165b34c008ea5e1d62ecb17b5cf1af
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move display manager from dsi-staging to msm/display-manager folder.
Change-Id: I4620338489a71131a595b843f2a26a30e9234fd6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move DSI/INTF updates for dynamic FPS and seamless operations
from 'mode_set' to the pre-enable/enable part of the commit
sequence.
Change-Id: I334fb2395db7174037ab8b1b9c32092ca94aa9b9
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Sanitize for seamless frame-rate transitions for dynamic FPS. Check
for proper video timings, controller operation states etc.
Change-Id: I5f29238861e9bad41e7bac9f34cda12c29174868
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
DRM driver uses backlight driver's APIs. In case backlight driver
isn't probed, defer probe for drm driver to make sure backlight
functionalities are available for use when drm driver is probed.
Change-Id: I52713ad3b096f557091bbbd64bae460d69b46ab1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Display_manager.h provides a commong display interface for
MDP driver to query DSI, HDMI and DP display properties.
This is a replacement for the previous dsi-manager component.
Change-Id: Ifdd213b3341ca3c21ca13aca4e56d9c2404030ff
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Ensure that the device's private data kms pointer is set
before attempting to initialize planes, crtc, etc.
Change-Id: I4ad0dd10e5350e667575796bbd2d54d4553143de
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add dsi panel driver to parse and set panel configurations
like horizontal and vertical settings, configure regulators,
gpios and clocks. Add panel on/off, suspend/resume and panel
commands transmission logic.
Change-Id: I12044e4f9f2640f9e8bbc7aca8d7a5d9ec92944b
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add basic debugfs support for dsi driver. Get controller,
clock, power etc status for debugging.
Change-Id: I42164988cfe58b67a70ae3ffbc953b24fa708407
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add support for command mode panels. Command engine state must be
ref-counted since it is toggled in two paths, command transfer and mdp
command frame updates.
Change-Id: I9aba97465ad822c4c862f6aa5422dc47cb6664c8
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add dsi display tests like display configurations, TPG,
modes etc.
Change-Id: Id8fe472af84a9c4697a7501eb23acad1595b743c
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add DSI DRM component to interface with the DRM framework.
Configure DSI bridge and connector and hook up with DRM
framework.
Change-Id: I7c4c91047fece87e24955ffc35bf6681a8235cab
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add dsi display driver. Configure all internal DSI modules.
Manage power sequence for internal modules like controller
and phy. Configure lanes, modes etc.
Change-Id: I8edc918c4858f16d32af9373fc4626066b20d2e5
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove plane-oriented property/state handling helper functions and
use the common 'msm_property' functions instead.
Change-Id: Iadf61500be020b432187bde75c681a0a1a0b000f
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add generic atomic properties and private state structure
handling. The 'msm_property' class of helper functions capture
common code for storing local property values, handling atomic
state/property callbacks and basic blob property management.
Change-Id: I5be2d9c45d21c9d50e340036fdd7638e6b8c7ab9
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move sde_kms to register its own color format structure for get_format
to consolidate all format definitions. Also, make sde_format structure
compatible with mdp_format by having a common msm_format base.
Change-Id: I79bd4e84633618865456c0d21bcace67c3c8cb80
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move DSI/INTF updates for dynamic FPS and seamless operations
from 'mode_set' to the pre-enable/enable part of the commit
sequence.
This is done so that we can split the atomic commit sequence into
'prepare' and 'commit' stages separated by the CRTC's atomic_flush
callback.
Also remove previously added support for 8996-specific 'quirks'.
Change-Id: I7ba3e48a1cf22d4f329844153eca89e76674e96b
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Create a reusable wrapper macro under msm_drv.h (tied to the evtlog
instance) rather than requiring similar macros in each file.
Change MSM_EVT(log*, ...) to MSM_EVT(dev*, ...)
Change MSM_EVT_MSG(log*, ...) to MSM_EVTMSG(dev*, ...)
Change-Id: I95c74470ab1cd3c02e97186a6c1560ef31e9749e
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Need to init spinlock for lm_lock, otherwise it crashes.
Change-Id: I42b20c9a96c7e872cddef0e590efb845a84cf45c
Signed-off-by: Camus Wong <camusw@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Updating formatting/newlines for debug messages.
Change-Id: Ie17ee18fe6be554ac90fdcee8c93e661ebc5e905
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Provide highspeed lockless logging facility for profiling time
sensitive events in the drm msm driver. Registers with debugfs
as evtlog. Can be cleared with echo 0.
Change-Id: I6b8887b5fa2172ce38dced86128f4ba84b1a58f1
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Avoid doing full modeset every time by clearing pending flag in planes
Populate mode->crtc info for framework to use in dotclock calculations
Change-Id: I7f562431eaf30a9e7de16d813c41dbcc7253664c
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Planes buffer dimensions and pixel format don't necessarily imply
a full chain modeset.
Change-Id: I2def7e0d33755ba31754c2cf5b2692053a110ee9
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Minor logging improvement to plane and z-order prints.
Change-Id: Ib712a6b0dbf476aff1766a887d5b232a5a97912d
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add functions for creating/incrementing timelines, and
for creating fences at a specified sync point.
Change-Id: Idfd42150f2162fd0e4c3b89916e8ed5a801c27ae
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Correctly set max up/down scale for cursor/DMA pipes to one (i.e., no
scaling)
Change-Id: Ida8932f7fc55a3186dabd06282c5c59f1ed7aaa3
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
To prepare for input fence support, add a property to configure the
input fence timeout. Also, enable support for color fill (through
a plane property) so that it can be enabled if input fences ever time
out.
Change-Id: Iae79ebadb4731db444f39d3b7207b65cb2aa9243
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|