| Commit message (Collapse) | Author | Age |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace dsi_display_info and display_info structures with
a common msm_display_info structure to reduce unnecessary
structure layering and translation.
Change-Id: Ia097a5d64fa35472ea715ac99e14f496553d4b44
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Explicitly list supported formats rather than attempting to
infer what is supported based on h/w features. This makes
the determination of supported formats more reliable, and
also opens the way to account for different h/w blocks
supporting different sets of formats.
Change-Id: I39b223638c2c126d57eee5551a57c7b8fd7cb1f5
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a property to the sde connector to support Android's retire
fence semantics.
Change-Id: Ibd557cc7a881859fd410aae8529addeedfa347c1
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Update the display manager and dsi driver to make use of the sde's
generic connector infrastructure. Replace DISPLAY_TYPE property
with a generic SDE_INFO property that contains one or more key+value
pairs.
Change-Id: I366ea44e2e03211424b9cfa7b713178f5d01490d
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add generic drm_connector support to sde driver. Place
all reusable code for common drm connector properties and
state handling inside 'sde_connector.'
Change-Id: Iff1871710e7261450d1f23fa6f0938c25b5fcb45
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add utility functions to support creation of ASCII information
text of the form,
"key=value\n"
One or more such information strings may be combined together
and stored within an sde_kms_info structure to be used at a
later time.
Change-Id: I7fccc14548e66ed7c5b24dc129247572209d506b
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add an 'output_fence' property to the crtc to support both
Linux output fence semantics and Android release fences.
A 'prepare_fence' callback is added to msm_atomic_commit() after
swapping the incoming atomic state but before spawning any
worker threads to process the commit. This guarantees that the
correct sync point value may be determined by the driver at any
point after the relevant commit request.
Change-Id: I7c024709f052fbf49f1c9e438d10a3c9f9aab023
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Create shared functions to support Android release and retire
fences in the future. These functions utilize a common sde_fence
structure to generically handle creation and signaling of both
output fence types.
Change-Id: I7d56bd315cc7ab997737f4c684fc95480ace4a3b
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add support for variants of RGBX, RGBA4444, RGBA5551, RGB565,
and the appropriate compressed variants.
Change-Id: I3fef703d094967d722472a20197d4ccbaa12bb6a
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a way for subdrivers to do their own validation of
non-standard buffers with format variants marked by vendor
format modifiers.
Change-Id: I2a3dd2f6cf44b6ed4055b8d590f3a7fb82463292
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add support for command mode panel physical encoders.
Change-Id: I82868a1aa3d5adc8ce41670840c8a3ef8b1d1bd6
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix error path to undo gpio changes if panel reset fails.
Change-Id: I753215fb10651dbe2adbef730d8ef31ee5f32eac
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|