| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
|
| |
When setting the rates for the DSI byte clock, pixel
clock and the escape clock, use the computed values
based on panel parameters instead of hardcoded values.
Change-Id: Ief4d639d2d67b99439784eeb68cae924619cbaf1
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Allocating correct memory space for rcp key mapping
table.
Change-Id: I07da6dc86c448fe4d3e4372448ee2320e58ab82b
Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Resolve the issue that QSEED2 config regs got rewritten by scale_setup
and vig_setup; enable the content adaptive filtering mode for
QSEED2 sharpening/smooth.
Change-Id: I14da16a3852e1f7507bf6b0e43ad7c7f6164cd96
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
overlay cleanup needs to be called if display_commit fails
to ensure pipes are released from the control path even when
they cannot be pushed
Change-Id: Ib3ce38b29e3d72840933634399eec655081fc793
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Shared memory pool size and block count varies in different versions
of mdss hardware.
Change-Id: I1896b2494111c97c355329be8c2aae4802af5cfb
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Current MDSS driver only supports writeback output through WB2 block and
WB0/WB1 are reserved for rotator. This patch enables usage of these
writeback blocks in case WB2 is not available.
Change-Id: I2ef2931c4f0889de5ab395cbd114198dcba20d88
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Register programming for writeback post processing has to be
changed to support different versions of MDP
CRs-fixed: 459593
Change-Id: If6b47d9f05236ec3d8c4a71a774fdf2ffdb578dc
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Sending cable connect/disconnect notfications to userspace using
uevents is obsolete in presense of switch state notifications.
Remove this notifications in order to prevent user-space uevent threads
from waking up.
Change-Id: If362db7d46ee171d7e3ac5c23aed799618ecf362
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
HDMI Tx's hot-plug detect circuit is enabled and disabled through
sysfs. If the new value is same as the current one then return success
instead of returning an error.
Change-Id: Id3c75739d48290dedb9bbf5a39b81650eae03766
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
The current fence wait times out too early in cases where the GPU
is under a heavy workload. Change this behaviour to warn and wait
for a longer time for GPU to complete it's work.
Change-Id: I9d81380456cf88a53d56c8d367d0823a838a3ad8
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The pan_display path to send the frame update is not
setup to support continuous splash screen feature.
Continuous splash screen is broken if the first update
cames via a pan_display.
We need to setup the mixer for the continuous splash
screen feature. This has to be delayed till the split display
setup has been completed.
Change-Id: I2f0f268c1988f58c02cbdba7bc48b53bf999eea5
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
There are cases in which updates can happen on pipes but back buffer is
not updated. In these case updates should be reflected on pipe with the
current buffer being displayed.
Change-Id: I3bf5d7ec86a6169e76203de76c98721320c73e66
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Implement pm suspend logic for each virtual framebuffer device to ensure
framebuffer devices are suspended before MDP (which is parent of these)
and resumed after. Once this happens MDP can ensure that clocks and
regulators are completely off or on depending on suspend state.
Change-Id: I66d26b977f46f62cb9d56640b26ec68ff8c3053f
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
User space requires regular vsync updates in order to provide new frames
as soon as possible. Turn on the panel as soon as fb device is opened to
speed up the time before first update.
CRs-Fixed: 455021
Change-Id: If18d30a16cf648162f1077c49df9a67cf8448b15
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
All panels require bus clock to remain on while panel is up, make sure
to have a minimum bandwidth request even when there are no layers setup
in the use case (i.e. border color only).
Change-Id: I15148d5d55fa61f3a2eeb6944ffd4a9f8aa780b6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
First revision of MDSS has issues with shared memory pool when the
number of blocks allocated is not a power of two. In order to avoid
these, the number of allocated SMP blocks should be of a power of two.
CRs-Fixed: 455423
Change-Id: I5d766d568b33eb53796a726b3ce5c863a7b51f3e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Provide APIs to enable secure content display through wifi display.
Implement workaround to allocate a secure source pipe so that MDP is
allowed to write back to secure buffer.
Change-Id: I1c329fec726bec1ae721bc5f2ec39d3b21259e8d
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Copy splash screen framebuffer into temporary buffer
till we get the first frame update.
Change-Id: Ib8a3742bf8c58b29fd7763dfe477b83939ece193
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabling for MTP, CDP and FLUID devices. The continuous splash
flag is set in the platform dtsi which will keep the MDSS and
DSI settings intact till the first frame update.
Since the MDSS related clocks are enabled in the lk,
we still vote for the clocks in our probe to carry them
forward. The bandwidth request is made for the same
reason as well.
Change-Id: Iffb2d1b63b85d63db5db234b546805962bd9b913
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Add additional check to make sure active queue is not empty before
signaling timeline to avoid potential crash with improper dereference
CRs-fixed: 450957
Change-Id: I2614da9f10aba43d45e89ce3775af7e8aa59cb57
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
fb memory needs to be mapped to a virtual address even before
the iommu is attached which happens later. This avoids iommu
page faults when frame buffer is displayed through pan display.
CRs-fixed: 456276
Change-Id: I6e489958ed27c6b1c493b7cee961e799cb70786b
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Early MDP revision only supports mux of dual pipe on mixers 0 and 1,
ensure that these mixers are reserved for usage for dual pipe solution
only as long as there are other mixers available to use.
Change-Id: I570aa84d22912b87310922df2a25f3e506a9aae7
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By default, HDMI driver adds entries for
all the formats that it supports into an internal table.
However, when MHL Tx is present, the max format
supported should be limited based on the maximum bandwidth
supported by the MHL Tx. We implement a handshake between
HDMI and MHL drivers to exchange callback function which
returns the status of HDMI's TMDS lines that is used by MHL
driver before sending RAP messages.
Change-Id: I53b6541307f54309fd53f0062d9be3ef1e15c495
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
[cip@codeaurora.org: Moved mdss_hdmi_mhl.h file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Current post processing changes wait for a display update to write its data
to registers. Trigger post processing configuration at time of update so
that the updated features will be updated at next vsync. Needed by
destination side post processing features in particular since their updates
are made independently of display updates and effect objective display
quality.
Change-Id: Ib5a2b4c33e45bece74dea2d8e17b5c3d239206b8
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Ensure that post processing changes are committed and flushed independently
of other pipe commits. Workaround for hardware bug in MDSS flush
functionality.
Change-Id: I8cc2f044242c978159074040b766db8dca3a42a5
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Handle flushing of registers to display separately from wait.
This can unblock some other components such as post processing
to perform additional programming and flushes while waiting
for vsync.
Change-Id: I911a371f09eccedd5da9f4422cb12ddcf20844c8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Update the DSI physical layer settings to improve performance.
Update the DSI PLL enable sequence to avoid any
PLL Lock issues.
kernel 3.14 upgrade conflicts:
arch/arm/mach-msm/clock-mdss-8974.c
Change-Id: Ic9958d10cf74315f0e7907e130b85ba15b5a368a
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Overlay kickoff shouldn't be called during play
CRs-fixed: 451036
Change-Id: Ib112d218f38e47c04191eac7e621ee0be1b4e2fc
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
If vsync control from user space is called before panel is turned on,
this needs to be triggered as soon as panel is on. Since panel can also
be turned on in other places such as unblank, need to move this logic to
a common place as soon as panel is turned on faster.
CRs-Fixed: 452194
Change-Id: Ic8cf97df6af465b21610f5618f7eae76caa8423e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Allow a source pipe to be switched between left and right mixers as long
as the mixers are attached to same framebuffer. This will allow more
dynamic configurations for dual pipe MDP composition.
Change-Id: Icb5b111f9546976973ddb4cb488aaac637e012dd
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
DMA pipe has some limitations that userspace needs to be aware of when
using. In order to ensure that these are handled, these pipes need to be
requested explicitly.
Change-Id: Ife6c08da4e4fe73683d7cf5f9aa5ab8374e022f3
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
New MDSS revision has less strict limitations on the surfaces sizes,
update these limitations based on revision
Change-Id: I0c372d322d27602731f3c59669fb7d8b6778c17d
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
When sync fence times out it means buffer should be dropped, at this
point need to release reference on it so it can be reused.
CRs-Fixed: 449267
Change-Id: I1a03f809b06e234a094d598b26e715049ac4c3b6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Properly handle errors seen while mapping ion buffers, free memory only
for planes which were succesfully mapped to avoid issues.
CRs-Fixed: 444379
Change-Id: I70fc2402d2088f7766f4d958dbdc2bddbb53abcd
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Rotate should only free buffers which have already been allocated and
should properly return error code when there are any failures.
CRs-Fixed: 444379
Change-Id: I845c4858a9abdf7fb00f8a750e70d88ee8666f5c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Display blank/unblank events are now triggered from user space, so the
use of early suspend is no longer required to handle these events based
on wake lock. However support for pm suspend and runtime suspend is
added to shutdown panels for which blank/unblank is not called from user
space and mange display clocks accordingly.
CRs-Fixed: 446036
Change-Id: Ia9a506dba0961cc11ec00589fdfdb64620a31dc0
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
[cip@codeaurora.org: Remove SET_RUNTIME_PM_OPS if !CONFIG_PM,
change CONFIG_PM_RUNTIME to CONFIG_PM]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Initialize Histogram LUT only until hw is initialized to avoid any
access to MDP hardware during MDP probe sequence.
Change-Id: I4d044ab3197445066f4e792d8b1397170593de13
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Perform all MDP hardware registers programming during kickoff once it
needs to be displayed in screen. This ensures that all programming and
flushing of the registers happens at the same time, and avoid other
components flushing in the middle.
Change-Id: I30ca8167038f5defad0e2f51a7c8c9d24719c8d8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Remove the unnecessary dst_rect update done as a part of
MSMFB_OVERLAY_SET ioctl in the rotation case.
The values for dst_rect are computed and supplied by userland.
Change-Id: I7702ab0ca0b778f163c2af569e96a4a86ae19ae4
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
References in the control structure need to be cleared during cleanup to
detach hardware from the current control execution path and make it
available for subsequent executions to avoid buffer drops
CRs-fixed: 452500
Change-Id: I7f9472c51934293e199a2d872edb075b03c03366
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Display commit needs to happen on kickoff to ensure pipes are detached from
the control path. If the pipes remained attached upon control
reactivation it leads to frame drops.
CRs-fixed: 447112
Change-Id: I7b135874acc637501b3e4e7b844e111159b37eab
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
There is a corner case where clock can be disabled when workqueue is
running, with the clock control management. Simplify the logic by
keeping a ref count and avoid such corner cases.
Change-Id: I0bbdce197c7bdc60de8623715df0139fd723e509
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
video_info_code is used for HDMI mode setting, setting
via metadata ioctl to get rid of reserved field usage
Change-Id: I6ea6550dc4342fae163218a39faf7ad9647eeae4
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Configure the default format for HDMI Tx to
640x480p@60, which according to the HDMI Spec,
is the common format supported by all sinks.
The best-format negotiation will be initiated
from user space after reading edid data from the
sink, based on the sink capabilities.
Change-Id: I87a34b0746ca91eab4020d79dcc3d6a7764c8a99
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Unpack/pack programming pattern changes for writeback in newer versions
of MDSS, do these changes depending on hardware version.
Change-Id: I82d9ec30d08d142522134390f49e5036a36e161c
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
| |
Parse and setup video interface register offsets from device tree.
Change-Id: I12a876fbcb88f47876beafd5349ed35e2511b02e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
MDSS VBIF and QoS settings can differ across targets, move the setup of
these settings to device tree to allow different settings to be set
depending on specific targets.
Change-Id: Idf7dca0f19a3a694d3da3f2af662077bac445636
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Register offset addressess for hw modules (pipes, dspp, mixer, ctl and
writeback) are parsed from the device tree to support different chipset
configurations at run time.
Change-Id: I75d6805339469e37e5590b767c1918e224e83aa5
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Program QSEED2 sharpening values from parameters passed via overlay.
Allows for basic sharpening on vidoe pipes.
Change-Id: If860d32f500f2e460e826008d161e207b5536c37
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
[smuckle@codeaurora.org: backported from msm-3.7]
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Clear the post processing settings of the pipe when pipe has been unset.
Post processing settings should not remain on the pipe when it is
deallocated.
Change-Id: I61c595a9480563c9aba2518e1358b699fae63d14
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|