| Commit message (Collapse) | Author | Age |
| ... | |
| | | |\| | | |
| | | | | | |
| | | | | | |
| | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Provide an encoder API for querying the currently active INTF
mode (e.g., command/video) that may be used in the rest of
the DRM driver.
Change-Id: I14d93fa0c1cb6282d941e3284ae6ebe6de5f6772
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | |\ \ \ \ \
| | | |/ / / /
| | |/| | | |
| | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Need to init return value in resource manager code.
Change-Id: I61b86781f0c602ace3b263a7236983094290959c
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Current crtc module checks the number of planes
against the number of z order supported. This is not
a valid check because hardware may support less
z order stages compared to number of planes. This patch
fixes those checks and adds additional bound check
like plane is within crtc boundary, two planes do not
request for same z order, etc during atomic check.
Change-Id: If571888ec02f8aa94972543c76e8c5895751089a
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add framebuffer validation checks before accessing it
to get the format information.
Change-Id: Iac43158509b323169c2e7ab47fc9370915354fc6
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add additional mode check in sde plane to avoid
invalid configuration at atomic commit level.
It also fixes the z order property range and
input fence property range.
Change-Id: I8ad12df7d50d39e6a737b5609d299c5f3b254bfa
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Current msm atomic check tries atomic check first and
modeset later. That causes issue for crtc atomic check
because crtc mode is not updated so vdisplay/hdisplay
is "0" when atomic check happen before modeset. That leads
to atomic commit failure.
Originally, it was added for plane format checks before it
updates. That may not be correct with sde driver because
it handles all atomic checks independently of modeset changes.
Change-Id: Id8cbbcb2f520ac2956cf56cb959e120ae6f55855
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Need to remove hard coded use case table with previously added
dynamic hardware resource manager. Resource manager works with
hardware blocks in the system, and user requests via
per-connector properties to assign hw blocks to use cases.
Change-Id: If5564cf755dd2358aca756feddddb6f58969eb5c
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add facility that will give ability to dynamically allocate
hardware resources to use cases based on availability and
requested parameters. Resources are tested at atomic_check
time, and locked during mode_set in atomic_commit time.
Change-Id: I4c316c3b9ca4fa57c3a1538be508c6daaffb88d1
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
SDE CRTC currently assumes one encoder per CRTC associated at
initialization time. Need to break this assumption and move
towards tracking multiple encoders, though full dynamic
assignment is not provided by this patch.
Change-Id: I47f42f5ef57f4df2f19f66bdef737cc86906ab1d
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Need a consistent way to test block interconnects in hw layer.
Move cdm and lm connections to use unsigned long bitmasks.
Also consolidate hw layer destructor call apis naming.
Change-Id: Ib6b94689183c9b5babbf81936c6aeef448c6aef2
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Need to expose connector properties for user interaction with
dynamic hardware resource mapping to drm object topologies.
Expose topology_control property on each connector to allow user
control reservation behavior. An immutable topology_name
property is exposed on each connector to allow user to query
active use case driver chose.
Change-Id: I97d22b9a1a8f6e0094f1148af8adb31c826a266a
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Clocks for the sde driver should only be enabled when the
device is actually in use, so change the driver to enable
and disable the clocks during driver open/close rather
than enabling them initially and never disabling them.
Change-Id: I19b98ec1ed86c08885ef6df1d05c7f692952c5b9
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
DRM FBDev emulation allocates dynamic hw resources on first open
of the DRM driver, leading to a reduced hw resources for the
first real client. It also does not properly handle virtual
displays like the writeback connector, and is incompatible with
the continuous splash feature. Need to enable FB support with
basic DRM to be compatible with varius other drivers.
Change-Id: I00b8be6f01cf2536dde4039f7e2944c211f428d8
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Consolidate physical encoder init parameters into a common
structure for clarity and ease of use.
Change-Id: I6d6b69deef69e7e0080361fd26148fa45c6032af
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Express hardwired connections in the hardware catalog between
layer mixers, dspps, and pingpong blocks. Also list out which
mixer pairings are valid.
Change-Id: I06b9c57d79b678df1372293247f2be7ab34950ca
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
LAB/IBB regulator subsequent enable is failing when wled
backlight is left on with panel power off sequence. This
blocks the back to back atomic commit operation with device
open and close. Current change turns off the wled backlight
during panel power off sequence to unblock the back to back
atomic commit operation.
Change-Id: I47fb72be00fe8c1ac2234c04c58183de0e84e6be
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | |\ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Add APIs to support tracking of dirty properties and overall
'is active' status on the drm component.
Change-Id: I63d243ac2cb4e0b1eb46c4df9666641f9c2850ae
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | |\| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Expand API for property helper functions to allow passing in
more DRM flags, specifically to allow DRM_MODE_PROP_IMMUTABLE
to be declared.
Change-Id: I17b48412488f8ca7e32d6bda9e5089c560d1f711
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | |\| | | | |
| | | |/ / / /
| | |/| | | |
| | | | | | | |
dev/msm-4.4-drm_kms
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Need to check the buffer pitches and trigger a source rectangle
update if they change to avoid possible smmu faults.
Change-Id: I6d692e7e1d8090c8dc7a11eee7f6c3643edc71ff
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Current implementation leaves dsi control power supply in
ON mode when drm calls bridge disable API. This patch
fixes the sequence to avoid control power rail leakage.
Change-Id: I6d8b6438e9b67f474f7a45ae947219a878c9f6c0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Display manager controls the enumeration of display devices.
This patch updates enumeration to include writeback connector.
Change-Id: I8c03630ae5a7e499cc0e879448d9b0cda08ac8f4
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Enable virtual writeback connector by allowing a property on the
connector to specify output frame buffer id, which takes in a
framebuffer object added via ADDFB2 ioctl. A new writeback
configure ioctl is added to configure connection state and
display modes of writeback connector.
Change-Id: Ifce411a3f0798e3af7dd7f19da27d67cdd849bfb
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add resource management control for writeback and cdm hadware drivers.
This enables sharing of hardware resources among multiple controlling
components.
Change-Id: Ieac1058b4ccb6a59c934c3ad5053dae20ca8c4e5
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Chroma down module is used to perform color space conversion and
downsampling of luma/chroma components. This patch adds support
for chroma down hardware driver to control the hardware block using
hardware abstraction api common across families of hardware.
Change-Id: Ic7f420572d06b312aafbba19832d053a9e1a4aea
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Writeback block is used to output composited images to memory.
This patch adds support to the hardware driver layer such that
writeback hardware block can be controlled using hardware
abstraction api common across families of hardware.
Change-Id: I92a69f1d564ee87e3f040cbef5a0302468599440
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add selection logic to choose smmu domain based on framebuffer
secure flag and vbif memory mapped setting. This allows
output buffer, attached to connector, be mapped to the correct
smmu context bank.
Change-Id: Ie5f6e2da0e34b77d68bd0fdcab82c5bd118c747d
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Current hardware interrupt driver does not support reading of
raw interrupt status using interrupt index. This patch adds
new function to perform atomic read and clear of interrupt status
using interrupt index returned from interrupt lookup function.
Change-Id: I0cb7f5802df6da270738e98bf4a1748978cdd565
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Warning message is output for unused interface during smmu
initialization. Disable those warning messages by bypassing
unused interface during smmu initialization.
Change-Id: I2406313c1e303444d2faecb99c34201fdb492473
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add additional smmu domains for non-realtime and secure use case.
Change-Id: I807be30cc107809a376b19b7035de959371c8172
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Update dsi driver to fill a provided array with display pointers
of all active dsi displays, and cache them within the display
manager structure.
This way, the display manager can simply look up the desired
display pointer based on a local index rather than asking the
dsi driver to perform a lookup each time and checking if it's
valid and active.
Change-Id: I213f66b96c44e95cd91face84005d67b3a9d92a6
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Provide an API to allow querying of the physical display info
for each sde connector so that other parts of the driver don't
have to access the underlying physical display drivers directly.
Change-Id: Ic3534e99ef414c12ee6a9cdd2ce97745a3aa9001
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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>
|