| Commit message (Collapse) | Author | Age |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Need to assign control path blocks based on matching use case
requirements to hardware block capabilities. Prefer to assign
lower capability blocks first so we are still able to serve
split display clients when they arrive.
Change-Id: I415da3c1aed8d7fa6a919eba1e730aa7c8e3751a
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove duplicate ctl flush mask cache in the CRTC since it no
longer needs to maintain a separate cache.
Clean up assignment of ctl to mixer assignments to reflect that
two mixers may be controlled by the same ctl.
Change-Id: Id6db2d69e60a5728e026307685e60a0c52220927
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move hardware blocks tracking in the resource manager to use
one list per hardware block type to reduce list traversal cost
when looking for a specific hardware block type.
Change-Id: I5b574c7ecd80054a26937a95531a28c097d52c25
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | |\ \ \
| | | | |
| | | | |
| | | | | |
dev/msm-4.4-drm_kms
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Need to update the driver-side cached value of properties when
they are updated via the internal set_property helpers,
especially for driver-generated read-only immutable properties.
Change-Id: If9a2c04d867eea41c1fa3ee2eb02964bc71afc06
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
SDE crtc handles the plane stage based on mixer
loop. That adds an issue when two planes are staged
on same z_order. It overwrites the second plane
configuration with first one. That leads to underrun.
This cleans up the issues in and around plane stage
setup to avoid overwrite or unnecessary locking. It
fixes the issue for source split cases.
Change-Id: I2e784ab4fbb06b8156bef3a8d53a5ae8d69b2fd3
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |\ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The sde encoder wait for commit done is called from kms
driver. It can be called during first commit without
enabling the encoder to check if any commits are pending.
That should not be treated as warning.
Change-Id: I6072b3ea1bdea6b93c1ddc04b8d38dc9fa790de3
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |\| | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Current sde driver returns warning when client
tries to setup a plane/pipe at base layer. That's
incorrect behavior. A full size base layer is
supported. This patch remove those invalid checks.
Change-Id: Id2b420c20d47aa5abbfc5558c53a16d8a011e2dc
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |\| | |
| | | | |
| | | | |
| | | | | |
dev/msm-4.4-drm_kms
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Update plane, crtc and connector capability blob property
with max linewidth, scaling and decimation support.
Change-Id: Ic986a228cb0c9fa23f59f340c9a049a17ad2e372
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |\| | |
| | | | |
| | | | |
| | | | | |
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>
|