Commit graph

567223 commits

Author SHA1 Message Date
Padmanabhan Komanduru
6ec05813a9 clk: qcom: mdss: update PLL resources based on ref count
At present, the PLL resources are updated based on the
enable/disable parameter that is passed to the API. Add
support to update the PLL resources based on a ref count.
This avoids additional delay due to repeated enable/disable
of the resources and also maintains proper state of the PLL
resources.

Change-Id: I39b7ee2b33acb81acdb7dc1f4f387dc71381a464
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:16 -07:00
Padmanabhan Komanduru
269cc0b104 clk: qcom: mdss: split the DSI PLL driver based on PLL mode
Re-organize the DSI PLL driver code and split it based on
the DSI PLL HPM/LPM mode. Add a common PLL util file to use
the APIs which are common for both PLLs. Update the DSI PLL
enable sequence with the recommended settings for LPM mode.

Change-Id: I3f86554522e16579d5c2eccab976136c7afb0dd2
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:15 -07:00
Kuogee Hsieh
2a80bf3956 clk: qcom: mdss: Increase both edp pll's PPM and idle time setting
Increase both edp pll's PPM and idle time setting to fix
edp pll unlock problem during stress test.

CRs-Fixed: 614017
Change-Id: Ic8315fc77dd002e709a9b215b22cbf498edaf30b
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:41:14 -07:00
Padmanabhan Komanduru
c888a41e21 clk: qcom: mdss: update resource management in PLL driver
Remove mutex and ref count variables that synchronize the
resource enable and disable calls since the regulator
and clock drivers take care of maintaining the ref
count for each resource. Also, remove resource enable
and disable calls from mux_set_rate/mux_get_rate/clk_enable
context of the DSI branch clocks to avoid warnings.

Change-Id: Ieb32141156afcce008b3555af476c20f888f064b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:13 -07:00
Padmanabhan Komanduru
7a625cd32d clk: qcom: mdss: add DSI PLL clock driver support for 8916
This change adds the DSI PLL clock driver support for
8916. In addition, it adds support of DSI PLL programming
of different MDSS revisions using the same DSI PLL driver.
Also rename the compatibility string of the DSI
PLL handle so that the detection and support of DSI
PLL driver for 8974 and 8916 happens dynamically.

Change-Id: I169ebeaf23e4be8ff4b533fce1057144edd8b692
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:12 -07:00
Dhaval Patel
4b6d165fc5 clk: qcom: mdss: Do not include msm_iomap header file
Do not include msm_iomap header file because MDSS pll
driver is not using it.

Change-Id: Ibe47a7d643bd6c9c5e0a69aad1ff0cc44da09211
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:41:11 -07:00
Dhaval Patel
cb24ae88d4 clk: qcom: mdss: Fix MDSS HDMI pll support
PHY registers are not updated during MDSS HDMI
pll configuration due to wrong memory mapping.
It also leads to crash when user connects the
HDMI cable with target. This change fixes the
memory mapping for PHY and also adds the missing
register configuration entry for HDMI pll.

Change-Id: Ie81045fed320993fbab6b02bec6b2b82e5b5d495
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:41:11 -07:00
Dhaval Patel
bd4e625e49 clk: qcom: mdss: Add mdss pll clock driver support
Each display output interface such as eDP, HDMI and
DSI are clocked by different pll clocks to support
various displays at different resolution simultaneously.
The mdss pll driver handles all these display output
interfaces' pll clocks separately. It also handles their
resources through dtsi configuration.

Change-Id: I1de2ae9a0549de901a6c82ea489199a722344dc4
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:41:10 -07:00
Xu Yang
60553269d1 msm: mdss: add DSI control parameters to debugfs
Export DSI control properties in debugfs nodes. DSI commands
and properties can be get and set by reading and writing
debugfs nodes which helps debug and panel bring up instead
of changing dtsi files.

Change-Id: I768a85447d88167894c46eb0770d2644910f84cd
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
[cip@codeaurora.org: Remove u32 typecast for
debugfs_create_bool]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:41:09 -07:00
Clarence Ip
443821f90f msm: mdss: add panel parameters to debugfs
Export panel properties in debugfs nodes. Panel property values
can be get and set by reading and writing debugfs nodes, which
helps panel bring up and debug instead of changing dtsi files.

Change-Id: I2c658c4bf2a0f0c0713df0ab8898380227f0a03b
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflicts,
remove u32 typecast for debugfs_create_bool]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:41:08 -07:00
Terence Hampson
bb3b53e9a7 mdss: mdp: Allow for rotator to output CRCB formats
Enabling CRCB ordered chroma formats. This was a valid working
formats in legacy rotator code, enabling same functionality
in new rotator validation check.

Change-Id: Iecc96861b5c7cd0a2929d222de3514d4d8f71d44
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:41:07 -07:00
Terence Hampson
b9de3db6c6 mdss: mdp: remove mdp source clock
MDP core clock has been turned into a voter clock and can now
be directly voted for. No longer need a reference to source clock.

Change-Id: I7c9efc1d56d54840cea43776f53505a32a92f7a5
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:41:06 -07:00
Clarence Ip
2375b7ee8c msm: rotator: Rotator resource management
As a part of the effort to separate out rotator from MDP driver
to be its own driver, Rotator will independently vote for
resources it requires.

Change-Id: Ic7f7705852ee29d69e45dd22238f3447646bde4d
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
[cip@codeaurora.org: Removed msm8996-mdss.dtsi from commit]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:41:05 -07:00
Padmanabhan Komanduru
2ce6060ffa msm: mdss: check for split display flag during LM allocation
Command mode split display is only supported on DSPP0 and
DSPP1. The current software logic doesn't check for split
display flag causing mixer allocation failure for single DSI
command mode panels on LM-1. Add the check to take care
of this.

Change-Id: Ia8e8f2550c921b2d62ad05b1b99c8bb7e5f54f09
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:05 -07:00
Padmanabhan Komanduru
231f5b9fd4 msm: mdss: avoid check for ctl path number for sending panel commands
For command mode, we check for control path number to send the panel
OFF/LP1/LP2 commands. This causes issues when a command mode panel
is not driven on control path #0. Modify the check to make sure panel
commands are sent properly for all use cases using the split display
validity APIs.

Change-Id: Icbcf775020d4f65dc8bad8b3a84534842d114f0b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:04 -07:00
Padmanabhan Komanduru
62b220bb08 msm: mdss: use layer mixer number to select pingpong block
In the current implementation, the pingpong block is selected
based on the interface number. This causes issues when a
single DSI command mode panel is connected to Interface #n and
not driven on control path #(n-1). Add change to select pingpong
block based on LM number to handle this.

Change-Id: I195d25bb7dd890c3b731e6ea38b1a41a321b1cf5
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:41:03 -07:00
Subhash Jadavani
bc3319bf28 msm: mdss: fix compilation errors if debugfs is disabled
This change fixes the compilation errors seen when DEBUG_FS is disabled.

Change-Id: I28fb230c65b90a9c2ec33c5e4332164e37f2f241
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2016-03-23 20:41:02 -07:00
Dhaval Patel
ec3e1e02fc msm: mdss: add venus gdsc support in mdp
Venus gdsc has to be turned on before turning on
mdss gdsc due to hardware limitation for msm8996
v2 target. This change adds venus gdsc support
in mdp driver.

Change-Id: I2d6db6d43ac20d2e5196f5e31187246da38365d0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:41:01 -07:00
Ping Li
0e4cb72b71 msm: mdss: Unblock PP and hist ioctls when PU is enabled
Currently driver has checks to ensure that partial update feature
and post-processing feature are mutually exclusive. Ideally, this
enforcement should be done by clients of PP driver. This patch
removes all the partial update status checks for PP ioctls.

Change-Id: I0e50c16c3647dcebdf2eff37c632e554cc51002b
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:41:00 -07:00
Ken Zhang
699a73beab Revert "msm: mdss: Override partial update PP block using ioctl"
This reverts commit 679dc362a9effee922ef2ce1447424b318f667bc.
The way overriding partial update via PP ioctl is obsolete,
partial update control is going through sysfs. The left code
is blocking pp ioctl even partial update is disabled dynamically.

Change-Id: Icb455a0101b53c58ae6c1b2686bd2297b4832396
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:41:00 -07:00
Dhaval Patel
bce01b2e9d Revert "msm: mdss: enable mmagic gdsc before turning on mdp gdsc"
This reverts commit 3c2ffe73f03a1bfced4239b16d3284b2397f392c.
Clock change added support to handle the mmagic gdsc as
parent of core gdsc. This removes the requirement from
each mm core to vote explicitly for mmagic gdsc.

Change-Id: I10e0b3cc9bcb2bd5f4a850e1b8800b45f7305d67
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Removed dtsi updates]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:40:59 -07:00
Dhaval Patel
fae000ced6 msm: mdss: use u64 instead of u32 for bitclock rate calculation
Bitclock calculation for high resolution panel overflows the
32bit variable which causes invalid pixel clock and byte clock
setting. Updating it to 64bit fixes the overflow issue.

Change-Id: If1f6fa3200783b87022366580fc18bfe6e3ddd8d
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:40:58 -07:00
Rohit Vaswani
e863be17ed iommu: msm: Provide the IOMMU_NOEXEC flag explicitly during mapping
The logic for the iommu executable flag is inverted now and
all the iommu mappings are executable by default.
Provide the IOMMU_NOEXEC flag where the mapping needs to be non-executable.

Change-Id: Ifa0aa3d17ae79c16abdf66d2177a09b868a9f45f
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
[cip@codeaurora.org: Removed __iommu_create_mapping/kgsl_iommu_map
update]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:40:57 -07:00
Dhaval Patel
fdd80e65fb mdss: msm: keep smmu power rail on during continuous splash
SMMU clocks and regulators should be on during continuous
splash screen scenario. Turning them off causes the underrun.
This change leaves these power rail on during probe and avoids
additional refcount during attach. This refcount will be removed
on detach during first suspend-resume.

Change-Id: I70570dea67d9a95e86ddbe892252dcb493c8fa65
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:40:56 -07:00
Kuogee Hsieh
67500148ea msm: mdss: release mdp_busy flag at isr
Release mdp_busy flag a CMD_MDP_DONE isr while doing
hs_clk_lane recovery to mitigate possibility of causing
false mdp_busy time out whey system load is heavy. Also
checking CMD_MDP_DONE isr status before declare mdp_busy
timeout.

CRs-Fixed: 823949
Change-Id: Ia5fe60c9799944b8867c262661c4cd97cffba1c7
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:55 -07:00
Casey Piper
ea354ea3e4 msm: mdss: read from HDMI CEC register only if CEC enabled
If HDMI CEC is not enabled and the CEC sysfs node is
written, an unclocked register access could occur. Access
this register only if CEC is enabled and configured.

Change-Id: I1a190a8302fdf7012723fb908c661098ebabead6
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:40:54 -07:00
Veera Sundaram Sankaran
33f539a576 msm: mdss: add UBWC formats to mdp debug
Add supported UBWC formats to mdp debug, so that it displays
the correct format name.

Change-Id: I055d49344b13a74c0164072fa1da910921ef0606
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:40:54 -07:00
Jeevan Shriram
59dbf28883 msm: mdss: change calculation reference to default frame rate
In the current implementation for dynamic fps in vfp method, while
calculating the porch values current fps is taken as reference which
may lead to precision loss and clock calculations go wrong. Use the
default fps as reference for any change in fps.

Change-Id: I9a36c33c9824c95abc4925a324f9cd2f47456e6a
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:40:53 -07:00
Adrian Salido-Moreno
9df13699a8 msm: mdss: pipe: fix solid fill image programming
When programming pipe in solid fill, the image properties should be
programmed to make sure that scaling blocks are bypassed. In order to
do this we need to program out resolution to same size as source.

Change-Id: If0a9182ca738e753f99a5b5e9cc20bc76b75238a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:40:52 -07:00
Adrian Salido-Moreno
65a9c29680 msm: mdss: ctl: fix mixer allocation logic
Current mixer allocation logic does initialization only if the mixer is
part of the mixer pool, however code has additional path for alternative
mixer which is not being initialized. Also don't need to reallocate the
mixer if it's already allocated in case of split display.

Change-Id: I1dbbbb86096c4825d214755d9cc7bf81b2abbbc8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:40:51 -07:00
Adrian Salido-Moreno
ea86d8e5a5 mdss: debug: add panel timings to mdp dump
Provide info about current panel timings when dumping mdp debugfs data.

Change-Id: Id2b481797e86131e8d32d7fc59531964f0a21c0a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:40:50 -07:00
Jeevan Shriram
14b7eeba1d msm: mdss: enable tearcheck after panel on for synchronization
When pingpong split is enabled, we need to configure both PP0 and
PP4 tear check blocks for synchronization between the two interfaces.
In the existing implementation, the two tearcheck blocks are being
enabled at different time and the two TE counters are asynchronous.
This asynchronous behaviour could lead to DSI FIFO underflows and
are fatal during subsequent panel on/off. This change enables both
the tear check blocks together and waits for the TE signal  to
synchronize.

Change-Id: I966dcead59028c729a71cc7e47343303b0b9a6b2
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:40:49 -07:00
Ujwal Patel
bc4c597e76 msm: mdss: wake up threads relying on shutdown notice
In the current framebuffer driver, user context may be put to sleep
to serialize certain operations. These contexts are woken up on certain
conditions, one of which is system shutdown notification. Current api
used, wait_event_timeout, relies on wait queue to be woken up if any
variable that could change the result of the sleep condition. So when
shutdown context is active, it needs to wake up threads waiting on
shutdown notification else they will timeout and may delay the shutdown
process.

Change-Id: I11b97e4c65b434c5f35d455a5040f407a1460516
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:40:48 -07:00
Ujwal Patel
26bebe9912 msm: mdss: handle timeouts from pan_idle and wait_for_kickoff
mdss_fb_pan_idle and mdss_fb_wait_for_kickoff are used to hold the
current context until it is safe to proceed. Unless shutdown is going on,
these contexts are woken up by corresponding display thread responsible
for committing a frame to display. Display thread has various delays like
waiting for fences to be signalled, waiting for previous frame to finish
or waiting for a vsync etc. Under normal circumstances, these delays are
very negligible and different threads work in good harmony. However in a
heavily loaded system or some bad thread which disables interrupts for a
long time, these delays can become very large. Increase timeout to
arbitrarily derived value and add error messaging when the timeout is
observed. Remove panic from the timeout to let the system recover by
itself.

Change-Id: I58fe4c0d8b0c43998f87384035a1eacc24d7230a
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:40:48 -07:00
Nitesh Gupta
3425b351bd msm: mdss: Add MDSS version macro for msm8952
This change adds MDSS version macro for msm8952

Change-Id: I096833c36229f2d623ab7efdeaf43035e5254973
Signed-off-by: Nitesh Gupta <niteshg@codeaurora.org>
2016-03-23 20:40:47 -07:00
Terence Hampson
bac2d270a4 mdss: mdp: add mixer roi to mdp dump debugfs
In situation such as partial update mixer's roi and total height
and width are different. Adding roi information to increase
debugging information.

Change-Id: Iec7de7ae35e6d052d2e3c71d88bb8feba4da245d
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:40:46 -07:00
Kuogee Hsieh
9f2e56c7e6 msm: mdss: add MDP DSC configuration
Configure MDP DSC related registers when it enabled.
It updates the PP, DSC block, configure PP block output
to big endian and configure video timing with compressed
width.

Change-Id: I072aba1935cd36b5206bf56580416d470707fe1b
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:45 -07:00
Kuogee Hsieh
e9181896cf msm: mdss: add DSC parameters calculation
Add DSC run time parameters calculation base on some
predefined parameters input from dtsi. Also configure
DSI controller properly if it is enabled.

Change-Id: I24b7a2cb829084f76a159b54170b87d051c9eac6
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:44 -07:00
Kuogee Hsieh
262c304acb msm: mdss: add DSC offset parsing in mdss module
DSC (display stream compression) is the new module and
supported starting MSM8996 target. Input offsets from
dtsi so that registers belong to DSC can be configured.

Change-Id: I3f06b1a2524bd0d2d408baac4309061f1f9117e8
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:43 -07:00
Kuogee Hsieh
377c6c9ba8 msm: mdss: add panel on command support after te enable
Few DSI panels have requirement of receiving display on command
after receiving sleep out command and pixel stream data. This
can be achieved by sending panel on command followed by timing
engine enable. This change adds the support for such DSI panelS.

Change-Id: Ifa225aec4ad9bfd692e19c02bcb726c8d60ce4fb
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:42 -07:00
Dhaval Patel
e0c0e4d04e msm: mdss: configure overfetch in software pixel ext
MDSS hardware accepts 0 or greater value for repeat
pixel. However, if software tries to configure the
negative value it leads to underrun due to large value.
In such cases, software should configure the overfetch
block which allows the negative value.

CRs-fixed: 814452
Change-Id: I915a1f10951ae12d451cbf4a5fdff427174d32dc
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:40:42 -07:00
Jayant Shekhar
a8e138b0aa msm: mdss: add support for NV21_VENUS in MDP
Earlier, camera preview buffers were of NV21(YCrCb_420_SP)
and the video buffers were of NV12_VENUS(YCbCr_420_SP_VENUS)
format. Now that the video encoder has support for NV21,
both the camera and video buffers can be of NV21_VENUS
(YCrCb_420_SP_VENUS) format.

If the preview and video buffer sizes are the same, CPP
double pass to generate video and preview buffers can be
avoided and the buffers can now be generated within a
single pass with CPP duplication thereby saving power.

Add support in kernel for NV12_VENUS format to achieve
the same.

Change-Id: Ia0ee0155faaa5ba6d5cafbc0529428734eaf37e5
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:40:41 -07:00
Dhaval Patel
db39cdcb68 msm: mdss: fix MDSS and DSI hw revision check for 8996 v2
Incorrect HW revision check in MDSS drier is leading to
boot up failure for 8996 v2. This change fixes it.

Change-Id: I9c45387e48abcd48eec1dcb9fe9fda9a408c58d5
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:40:40 -07:00
Veera Sundaram Sankaran
8ae1574a3e msm: mdss: add async support for hw cursor
Reduce dependency between hw cursor updates and display commit.
Configure the cursor pipes and flush immediately, rather than
waiting for the commit. This would enable multiple cursor updates
within a single vsync. However, the screen update would happen
only after vsync, which would pick the latest cursor update. The
restriction is that after the first cursor update, a display commit
is required to stage the cursor pipes.

Change-Id: I666856c88b8e2decac6578237e9b93b106378ffa
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:40:39 -07:00
Terence Hampson
9bed64d0b8 mdss: mdp: Correct return value of wait for wfd finish
mdss_mdp_wfd_wait_for_finish was returning positive value causing
false failures in atomic validate of wfd.

Change-Id: Idbb8c3a22040d3c8b0f31fa7be8143261ccbfb85
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:40:38 -07:00
Adrian Salido-Moreno
4629783f33 mdss: fb: wait for idle only on last fb release
There could be multiple references to the framebuffer, when
releasing the last one the panel should be blanked. When blanking the
panel we should make sure that panel update has finished (wait for panel
idle), however this wait should be done only if it will lead to a
change in the panel. Avoid this wait if there are more than one ref
counts which means that panel won't be blanked.

Change-Id: I22ffd25cfc6d0512d006a979613610314772a27e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:40:37 -07:00
Ujwal Patel
3574b6767f msm: mdss: fix layer skipping due to dirty pipe
Pipe is marked dirty if it was newly allocated during validate. This
prevents unintentional staging for dirty pipes to HW. However when
the same pipe is used again with good configuration, dirty flag should
be reset. This is missing and leads to skipping of certain layers and
flooding of error logs. Fix this by resting dirty flag when pipe is
successfully validated.

Change-Id: I2d64ecbaaa8968ee7322270c93f5bf5c3e5c90e9
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:40:36 -07:00
Jeykumar Sankaran
28587990fd msm: mdss: Return EBADSLT on pipe failures due to priority
Return EBADSLT error for pipe allocation failures due to priority
mismatch. This isolation helps the client to identify and allocate
pipes to layers efficiently.

Change-Id: I601bd4880ade8313be3b870ca4551b40ebb7d00b
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2016-03-23 20:40:35 -07:00
Terence Hampson
9c7a81c5b7 mdss: mdp: Prevent accessing uninitialized rot_session_mgr
There are situations where mdss_mdp_rotator_release_all is called
and rotator session manager is not initialized. Added error
checking to prevent crashing.

Change-Id: I104fa88dd41bb4bad3a0402cf6955c85f640e384
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:40:35 -07:00
Kuogee Hsieh
fe0e12f81c msm: mdss: add compression_mode and pps dcs_type support
Two new DCS types, compression_mode (0x03) and pps (0x0a)
are introduced to support DCS (Display Stream Compression).
Add process those two new dcs types to support DSC.

Change-Id: Ibbd90c7c84598ba24a5919174bb547e851cc4754
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:40:34 -07:00