| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
Make change to ensure SDE driver compiles fine
with clang enabled.
Change-Id: I83cb2fef2b0ff8a4cdd1d77b180ebea4fef1b629
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
This change is done to fix null pointer dereference
in sde_core_irq_preinstall().
Change-Id: I448e275e2ce5708738651d1cf7f66329bcf47451
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a check to ensure HDR property is valid before updating
connector hdr. This can remove drm property setting error
message during booting up.
Change-Id: I7434f7f2cc5ca0007c87d3ba0e504758a0c879d1
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When enabling splash in LK, after kernel boots up, sometimes
interface timeout issue may happen. This is caused by kernel's
defect when decreasing pending frame kickoff count in vblank isr.
As LK and kernel may concurrently flush pipes, so flush_bit may
be set by LK, while kernel still treats a timeout issue if it's
not 0. This change is to fix the defect.
Change-Id: I928e444074617adf2dc86134dd3a96701c8f6aca
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |/
|
|
|
|
|
| |
add post_disable stage for each phys encoder to clear ctl_top
Change-Id: Ib34059546b6ddf7bbd2c60fd8321a7f820b97986
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
When shared display is both enabled in bootloader and kernel,
the handoff mechanism needs to be updated to ensure the handoff
can be finished.
Change-Id: I8172b0878a4a322f87e0ad138cff1e27161a9f83
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
User may send null commit without any plane attached to kernel.
In kernel, these null commits will clear mixer blendstage for
all pipes, and power on screen with black background color.
However, when bootloader splash is on, this operation will
override the splash, which brings long black screen duration
between splash and user UI. So this patch is to fix this.
Change-Id: I3a34ab2ad421f40bd315eb2874fea5dc33d3ccfb
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds the offset to the associated timeline
when the retire and release fences are created.
The DRM client queries the fences using the atomic commit
instead of set_property ioctl. So the sync point should
contain the updated timeline before sending the FDs to
client.
Change-Id: I1ac9507934223bd1091be6960805c63cb4aacfb1
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Avoid creating fence on crtc and connector if property
reset value set. This will avoid creating get_unsed_fd
on dying process.
Change-Id: Id4e898c55167b3568962384cade5e60b38c30468
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Remove release and retire fence support through
get property call.
Change-Id: Ib5e3643a8cb10e6bb1ffa45dd78b7a31fbba8cc9
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiple drm clients are allowed to call the
get_properties on drm device node. If sde driver
creates the fence for each get_property call then
it may leave fd leak in client process context
because might not be expecting fences. Supporting
get_property for only master device may not solve
the issue because master client may still call
the get_properties multiple times between two
commit cycles.
This patch supports release/retire fence through
set property to avoid fence leak.
Change-Id: I07fe63fe84901d7f96b522ca6309cfdd90a25c40
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new DRM node to handle early display service. The early DRM
driver is to workaround Andriod display framework long boot time
problem and DRM single master limitation. The early DRM node provides
display function for early application that is outside Android
framework. The early application can use early DRM to draw early
UI and bootloader review camera menu function. Android framework will
not use early DRM node. It will continue to use the main DRM node.
Early DRM is another KMS driver that designed for bootup application.
Early DRM is not based on SDE framework and it will not initialize
display hardware. Early DRM rely on bootloader to initialize display
hardware and interfaces. For power and SMMU, early DRM relies on main
DRM to initialize them. Early DRM only provide limited display
functionality such as RGB buffer display. Early DRM only expected to
run during bootup time to work with bootloader/early RVC. When Android
UI is ready, early DRM will handoff all display resource to main DRM.
After that, no application can open early DRM node.
Early DRM is enabled in device tree. User must specify which display
to enable early DRM and which display pipes are assigned to eDRM.
Change-Id: Ic9f68726677c5db26507caec79c7da1e6d745f44
Signed-off-by: Camus Wong <camusw@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Enable device PM callbacks to support hibernation feature.
Facilitates system restore from hibernation golden image when
early display services are running concurrently.
Change-Id: I380a7bf59d9af21468b56c121a7ac7293c32fca2
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
To support transparent panel stacking, application will pass non-panel-
stacking buffer roi to kernel and let kernel to extend to panel-stacking
size. A special flag is defined on source config for this purpose.
Change-Id: I59eb290f0f7b92744972391d7db743e2da12300b
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support to shared display for panel stacking and split screen
application.
The current DRM framework only allows one atomic commit for
each display, this change will create virtual display pipelines
based on the physical display pipeline, and each virtual display
can support independent async atomic commit.
With the change user mode application can setup and update
display on each virtual display and share the same physical port.
No mode switch is allowed on virtual display. When all virtual
displays are powered off, the physical display will also power off.
Change-Id: Ibf9a7dd1a96c59b6db9891d826cb4f11b409696c
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change enables resource manager to select the number of
layer mixers to be reserved for a particular usecase. Number of mixers
used will be controlled by the request from user by setting a
SDE_RM_TOPCTL_FORCE_MIXER_CFG property.
if SDE_RM_TOPCTL_FORCE_MIXER_CFG is set then
num_lm = 1
Change-Id: I94d37cfd1632e4b8d42235c2c155d9cf6cf25fc2
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Once kernel sends splash stop signal to bootloader, it
needs to listen to bootloader's cocurrent flush to
hardware is done, otherwise, one race condition issue
for mixer clear and setup messed may happen.
Change-Id: I7b603b9acc0dd0af07da3c5afee052007432b7fb
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When splash releases resource, kernel blob property should
be updated at first, and then uevent sending follows.
This sequence can ensure user can always get the correct
information after kernel blob property is updated in
splash handoff thread.
Change-Id: I7b6493943c6eb1624da75dff5252dd3a71dea657
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |\ \ \
| |_|/
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Early domain core driver provides apis to communicate
with LK. Deprecate the use of scratch registers, instead
use the new apis. Early domain core driver now hot adds
the cpu and frees lk text section by taking vote from
all early serivces, So remove hot-adding cpu and freeing
lk text section from display.
Change-Id: Id083850872bca0803e029a85f946c70b2ec5298e
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
|
| |\ \ \
| | |/
| |/| |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After early splash handoff is finished, kernel needs to
update each crtc's and plane's impacted blob property
by splash. This ensures framework can get correct resource
in the second init process.
Change-Id: Iddfa823d7ba786f3d81b96e86ad3b6e4b10a3375
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This change is preparing for early DRM feature. Change to
reserve the top two layers for both early DRM and
bootloader RVC.
Change-Id: If02d947674e6ddd5f41243b93181951975acf81e
Signed-off-by: Camus Wong <camusw@codeaurora.org>
|
| |/
|
|
|
|
|
|
| |
Original function pointer check is not correct, so use
the correct one.
Change-Id: I6e87eaef66339442b86e64ba0501eaca04b10d89
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
The incoming scaler v2 user data isn't guaranteed to be
valid if the 'enable' field is set to zero, so ignore
the entire structure unless the enable is explicitly set
to a non-zero value.
CRs-Fixed: 2052501
Change-Id: Ieeb24122a5caffcd7361007e52219cee94e33eee
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
update cpu1 hotplug by using its device structure
online callback. This is to ensure, sysfs entry for
cpu1 reflects the online status correctly.
Change-Id: Idc77a1074ca030ca826eb1a817b1ab7795e8548c
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This change is done to detach all pipes first before the first commit
proceed, Kernel will have to do the pipe detach when kernel got the first
valid frame and we want to detach all the splash pipes after the LK is
being notified to stop.
Change-Id: I3a599a102286596333a35273e27d8a363f2134b7
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDP underrun error is being reported to recovery manager as and when they
are detected by the interrupt handler. Since most of the times errors are
recovered successfully and stabilizes and hence we do not need to report in
those scenarios.
This implementation uses a delayed work to figure out if the error is
stabilized. In case if error is still persists then it would be reported
to the recovery manager.
Change-Id: I3509484867d86dc946dd4be856d85de444c0aa60
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This implementation adds the following support:
1. handle bridge chip error reported by driver to DBA. error reported
to DBA will be send to recovery manager to recover the faulty
bridge chip by performing a power cycle.
2. smmu fault error notification.
3. detection on errors in bridge chip driver.
Change-Id: I86cc491e3cd25fdcf9b998a0d687baba0a06d836
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ \ \ |
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
Early domain services run on cpu1 in LK, so hotplug
cpu1 once early domain services are finished.
Change-Id: I23b57b8b7460c5740083b27af72251b2fad78ed4
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
|
| |\ \ \
| |/ /
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix the %p format prints with %pK.
Change-Id: I1743bacb76c1db4bfa304146f7d391751b35273c
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
Signed-off-by: Navid Bahrani <nbahrani@codeaurora.org>
|
| |\ \ \
| |/ /
|/| /
| |/ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This implementation facilitates a framework to report and recover the
errors in display hardware pipeline.
Change-Id: Ie4059dd8bcdd83f73b5a5165ae5a8363ae4efb94
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 56902791977fa54fd0c34a7a6ea0c5da78b2334d.
Display blanking or black frames should be requested explicitly
by user space clients and shouldn't be triggered on system
suspend/resume transitions.
Change-Id: Ic0cf5b7b6d97dd118c0a43b81911eb9ee6ed8459
Signed-off-by: Clarence Ip <cip@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit b80fa288403b05992341f1fcca1a1195067b1dc0.
This change can't guarante the sequence of smmu operation for
early splash case, and more, the commit validity check is
mandatory to avoid potential glitch during display handoff.
So revert this change.
Change-Id: Ic8327dedc1357ed5d8ef6ca490390ce66b7eb986
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| |\ \ \
| |_|/
|/| | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Stage 1 translation enablement should be called after
user has finished early mapping for splash buffer.
Origianl sequence will bring potential race competition.
This change can avoid race condition happens.
CRs-Fixed: 2247983
Change-Id: I00ce034c5c54e06a2c1514faca22f9d65aca727f
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| | |
When the split display has preferred control path, the preferred
control path ID should be cleared before searching secondary control
path. Otherwise the search would fail.
Change-Id: Ie2cc1c4d0ec2d162cdcfedbbbef62400e5798bb6
Signed-off-by: Camus Wong <camusw@codeaurora.org>
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Such validity check will let Android FDR test failed.
This is because kernel has enabled interrupts, and
access registers, but with this validity check, LK also
co-exists with kernel, while it has disabled interrupts.
Hence conflict happens.
CRs-Fixed: 2247983 2258043
Change-Id: I21be9ae2beeaa0bc187aee241572ce530b9bc93a
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
|