Commit graph

566979 commits

Author SHA1 Message Date
Jeevan Shriram
dd85a8543e msm: mdss: add handoff support for multiple pipes on same mixer stage
In the existing implementation, display driver assumes only one pipe
can be staged on a layer mixer during overlay handoff. Starting from
MDSS v1.03, layer mixer can support two pipes staged at the same stage.
This change handles the case for two pipes on layer mixer at same
staging level. If more than two pipes are staged on a layer mixer, it
is invalid.

Change-Id: Ie6fa42e7a5b555de53fc4a3801e89447c3b1f90f
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:39:12 -07:00
Casey Piper
90ded5a0d9 msm: mdss: support probe defer in writeback driver
Exit cleanly in the case of failure in writeback driver
to support probe defer scenarios.

Change-Id: I8c8b5099ea649e98b99093cf8b9c3a06d55f8b57
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:39:11 -07:00
Ray Zhang
7937cdefcf msm: mdss: add sysfs node for panel status
Some tools like MMI need know whether panel is working
correctly or not, so add a panel_status node in sysfs.

Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Change-Id: I2f5da3c850f83230476f0cd66f2bf11b9234ed32
2016-03-23 20:39:10 -07:00
Siddhartha Agrawal
cb4fe3d989 msm: mdss: Fix tearing and hang issues for autorefresh
While turning off autorefresh feature, there are some frames
that do not get transmitted causing timeouts. This change gracefully
exits autorefresh feature while new frames are pushed.

Crs-Fixed: 773221
Change-Id: I66ecf13133723ff5fad465755d50c6eb1ec0e52a
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:39:09 -07:00
Jayant Shekhar
0080419738 msm: mdss: Synchronize control stop and ESD check
Use ctl mutex offlock to synchronize between control
stop and BTA ESD status check function to prevent any
race condition.

Change-Id: I841e03a066b6e9e193ba9c6deae20d5527d4a20f
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:39:08 -07:00
Padmanabhan Komanduru
bb8ed54586 msm: mdss: avoid MDP line count check when target is in suspend
During DSI data lane recovery sequence, we poll on the MDP line
count to enter the active region before performing the DSI
recovery operation. Sometimes, the overflow error can occur just
when the display enters suspend state. This causes the DSI
event thread to enter a continuous while loop causing watchdog
kill due to kernel logs flooded with the below error.

mdss_mdp_video_intf_recovery: line count is less. line_cnt = 0

Avoid check for the line count in such cases.

Change-Id: I4159ae639edc9b0e2cd0f09b97ba6fbd640737d4
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:39:07 -07:00
Aravind Venkateswaran
47fc8d8adf msm: mdss: fix issues with transition from LP3 to LP2
When transitioning from LP3 power state to LP2 power state, reset
the flag to indicate that the interface is active again and can accept
updates. This ensures that all the interface clocks are correctly turned
back during the subsequent display update.

Change-Id: Ia3e90a5e9da7432529a9dd5ca3c5690b8d6c2af0
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:39:06 -07:00
Ingrid Gallardo
8100cb00f3 msm: mdss: debugfs: add support to serialize wait4pingpong
For command mode panels, current code configures the HW
to transfer a frame and returns the commit context
without waiting for transfer to finish. As an example,
after kicking off frame N transfer, commit context doesn't
wait for Frame N's transfer to finish. By doing so, it
allows SW to configure/queue frame (N+1) and improves the
performance. But before frame (N+1) is kicked off, SW needs
to make sure that frame N is finished otherwise it may lead
to tearing and/or unknown behavior. This is achieved by
calling wait4pingpong routine. But this optimization has a
side effect when debugging critical issues. If for some
reason, frame N had a bad HW configuration and it had
HW hang then wait4pingpong during frame (N+1) will timeout.
This timeout will lead to HW register dumps but this
register dump is related frame (N+1) and not frame N.
This gives incorrect debug information. To overcome this
side effect, allow wait4pingpong's timing to change using
debugfs.
Setting this node to true will make the driver
to run this processing in a synchronous way,
setting it to false will return the driver to
normal asynchronous operation:
echo 1 > /<debugfs>/mdp/serialize_wait4pp -> sync
echo 0 > /<debugfs>/mdp/serialize_wait4pp -> async (default)

Change-Id: Ief25232b65cf3dfec7c2147120dac57d0f54d22f
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Use debugfs_create_u32 for wait4pp]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:39:06 -07:00
Ingrid Gallardo
19f0ce5520 msm: mdss: debugfs: xlog: add support to dump from a work item
Add support to initiate the dump from a work item
so the driver can dump from an interrupt context.

Change-Id: I51a9719884c826713cc4c9abe926205eaac4d721
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:39:05 -07:00
Krishna Chaitanya Parimi
23a7f64be1 msm: mdss: Add gamma correction support in mdp3
Add gamma correction support in mdp3 driver via
MSMFB_MDP_PP ioctl. The ioctl has been extended to
program luts corresponding to histogram based
outputs and gamma correction based on flag.

The gain corresponding to gamma correction and
the histogram based output are combined in driver
and applied to hardware.

Change-Id: Ie875b4a9f4f4c752ad9a811ad68aff1c5110d57b
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
2016-03-23 20:39:04 -07:00
Krishna Chaitanya Parimi
31a7c2e261 msm: mdss: Correct RGB order for LUT programming in mdp3
MDP3 LUT programming has incorrect RGB order as per HW. The
correct order is to have color0 for green, color1 for red
and color2 for blue. Correcting color order in mdp3.

Change-Id: Ie7b6ab7f83e18495e83a05102e288fee6841e3ab
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
2016-03-23 20:39:03 -07:00
Dhaval Patel
ecfab603f9 msm: mdss: fix ret value during error case
Fix ret value for error case in framebuffer
allocation api and use integer instead of
unsigned int for sscanf api.

CRs-fixed: 790640
Change-Id: Ib7fa217334365b8194571e220740a769597636e0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:39:02 -07:00
Benet Clark
addda799ca msm: mdss: Fix gamut mapping disable sequence
For the new versioned PP framework with config payload pointers,
the Disable operation should be highest priority and allow a
feature to be disabled without requiring a config payload. Gamut
Mapping had no check to see if Disable operation was present before
throwing error for a NULL payload. Now, Disable op is checked first.

Change-Id: Ia644316dcd8f86d6f85b06f4a8aed99873c54e4d
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:39:01 -07:00
Benet Clark
8b9d016850 msm: mdss: Redefine Gamut Mapping v1_7 Fine Mode table size
The table size definition was incorrectly defined previously, which
caused the Gamut Mapping tables to be missing values. The table size
definition has been redefined, in order to include the missing values.

Change-Id: I0adf546c52c40f7a251f3aa977864ba116822d93
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:39:00 -07:00
Kuogee Hsieh
1e32b0c2e8 msm: mdss: update clamp ctrl register config for msm8996
Clamp control enable register is different on 8996 target.
Update DSI software to handle it based on DSI version.

Change-Id: Iac61ac0a03397633154d2fe1bf44bcaaeeab1c52
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:38:59 -07:00
Dhaval Patel
9086f7ef89 msm: mdss: fix chroma plane size requirement for nv12 ubwc format
Fix chroma plane size requirement for bit stream and meta data
for NV12 ubwc format.

Change-Id: Icae966ea296cc34673492d7adae0094303e92a0d
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:38:58 -07:00
Ian Maund
6d1a9721f4 include: media: Add the msm_rotator api header file
This header file is required by userspace components for compilation.

Signed-off-by: Ian Maund <imaund@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:38:58 -07:00
Clarence Ip
7f66a9d175 msm: mdss: Remove smmu v1 related code
smmu v1 is not supported in 3.18. Remove smmu v1 specific
changes in display.

Change-Id: I9deb060b6d3539acb9ee4b3fa05f491e0fc1db43
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:38:57 -07:00
Veera Sundaram Sankaran
3475ec6865 msm: mdss: Include MDSS and cleanup unsupported versions in Kconfig
Add configs necessary to include MDSS hw. Remove panel related
configs and other unsupported MDP versions.

Change-Id: Ie358ca1c8105d99ce4d3aa8b27be34df1b788b1b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:38:56 -07:00
Terence Hampson
90ae553e66 msm: mdss: Add flag to pass in rotation information
When open session is called, input and output format validation takes
place. In order to properly validate, we need to know if the session
contains rotation. This rotation information is passed using the flag.

Change-Id: Ie8bf4c6639aa0d671ac044a2581132bc97b68242
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:38:55 -07:00
Terence Hampson
b2217c3921 msm: mdss: Add session id to rotator item
Value will be used to validate and identify which rotator
session request item is a part of.

Change-Id: Id62719c4d37c9a2f690cb57fa1ca2826310d1da8
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:38:54 -07:00
Veera Sundaram Sankaran
fc23d209fd msm: mdss: re-factor new rotator flags
Change rot_180 and rot_270 flags to be a combination of few other
flags, as those would summarize the respective operation. This
would adhere more to how hardware behaves and also allows more
combinations.

Change-Id: Ib8e6e9e01710b773284e3ec496c689b8d786502c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:38:53 -07:00
Xiaoming Zhou
328e4bd174 msm: mdss: add rotation device API
Define the new rotation API for the mdss rotation driver.

Change-Id: Ief25e7e6c7716db8183cb49e41cbd447b7cdfbfc
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
2016-03-23 20:38:52 -07:00
Terence Hampson
d3b2767d4b mdss: mdp: fast forward msm_mdp.h for 3.14 kernel upgrade
Fast forward msm_mdp.h file for 3.14 kernel upgrade. Commit
history is not essential for future debugging.

Change-Id: Id9525ef3361c7f73b5c341a29e7a3e91b8037fa7
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:38:51 -07:00
Veera Sundaram Sankaran
f94adb7e6b msm: mdss: Replace thulium with msm8996 in display code
Use appropriate SOC name. Also replace all
instances of thulia with kryo.

Change-Id: I3d21e3534fdf113190882c84ee5426ee929da131
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Always build mdss_mdp_pp_v1_7.c]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:38:51 -07:00
Ingrid Gallardo
76dae5e544 msm: mdss: debugfs: xlog: add support to dump registers by ranges
Current xlog dumps the entire registers ranges
mapped in memory. This entire range can be
reduced to only the meaningful offsets to help in
debugging and avoid overflows in the debug buffers.
This change adds support to only dump the registers
ranges specified.

Change-Id: Iecf7f5eaa909b0365ea599ae094c7f184c0ae8b8
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 899cf5dbc528b13bd488038215356c5bea5b591c)
[veeras@codeaurora.org: Resolve merge conflict in mdss_dsi.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:38:50 -07:00
Huaibin Yang
ebba7cddde msm: mdss: debugfs: xlog: move reg dump function to xlog
reg dump func is specifically used by xlog, so it should be static in
xlog file.

Change-Id: I14570e174b215d7ea5f77f0b333f65956b549222
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:49 -07:00
Huaibin Yang
53f3da5050 msm: mdss: debugfs: xlog: fix block names for reg dump
Update obsolete mdss block names to new ones for xlog register dump.

Change-Id: Iae8859c42df45577bfccd5a939669742f8395ca2
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:48 -07:00
Huaibin Yang
7a0fc66655 msm: mdss: debugfs: xlog: add debug xlog
When MDSS_XLOG_DBG entries are inserted into code, these entries are
always logged regardless enable status. This helps use xlog in quick
debugging and none of these entries should be merged.

Change-Id: Iebcf6cb7fc32bc77281e2f02a354f35357ff6d88
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:47 -07:00
Huaibin Yang
befbe0ce8b msm: mdss: debugfs: xlog: add iommu xlog
Add iommu xlog flags and handlers. MDSS_XLOG_IOMMU is dedicated to
iommu issues. The fault handler, if installed, dumps mdp registers to
ram, dump xlog entries to kernel log and panic the system.

Change-Id: I7d703c5958104fb3dc2c30a7fc1e59508c8d0ca3
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit a3cfbff0abb7ff9f906df76a7ff68007d7f1fc3f)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:38:46 -07:00
Huaibin Yang
d86a0d05f2 msm: mdss: debugfs: xlog: fix xlog early crash
xlog entries may be called before debugfs nodes are created, so
spinlock intitialization should be done during compile time.
Use ktime APIs to avoid other crashes during early boot time.

Change-Id: I5dc8e066b56d26934fd4c324c03e5f1ec3b4a6f3
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:45 -07:00
Huaibin Yang
4ae0ab18f6 msm: mdss: debugfs: xlog: refactor xlog dump
Make overall dump facility more reliable and more useable for
debugging: write xlog info to stdout; only un-logged and un-dumped
entries will be dumped out each dump; add func line number, pid and
time stamp difference for each entry; add index for each entry dump.
Format of the log is as follows:
name:line=>[entry:timestamp:delta][pid]:params
   Where:
   name: Name of the caller function
   line: Line in the source file
   entry: Index in the circular buffer
   timestamp: time when log was taken
   delta: time difference with previous log
   pid: process id
   params: parameters used to log information
      (these are specific to each log)

Change-Id: I32853ef7e27cc8ac34775ff492d60c801df61dba
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Use debugfs_create_u32 for xlog panic]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:38:45 -07:00
Kuogee Hsieh
6faada7714 msm: mdss: set dsi clock lane to proper state on 8994
For 8994, dsi clock lane may get stuck at hs mode. It
needs manual control of clock lane to avoid it.
Force clock lane to HS mode before kick off and clear
it after completion.

CRs-Fixed: 774612
Change-Id: I8182489d2d5eaf041b4869af71155378dd3aea99
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
(cherry picked from commit 5d9e1ace6123d8f5a1ac8f0eb62e9fd8c841d5f8)
[veeras@codeaurora.org: Resolve merge conflict in mdss_dsi_host.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:38:44 -07:00
Kuogee Hsieh
0aa2dc71b8 msm: mdss: ignore overflow error when sending dcs command
When horizontal line time of BLLP is too short to finish
sending dcs command packet, overflow error is reported
mistakenly. The remaining packet data will get transmitted
at next line. Therefore this overflow error can be ignored.

CRs-Fixed: 769898
Change-Id: I2239bd6bf432a1144f0f5b65bf1d82127dd4cfff
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:38:43 -07:00
Huaibin Yang
33c3002ff1 msm: mdss: debugfs: xlog: enable xlog with different flags
xlog buffer helps capture debug events, however, due to its small
size, one set of xlogs cannot solve all problems. It would be helpful
that when a specific issue happens, only one set of xlogs specific to
that particular issue is dumped and other irrelevant events can be
ignored. Accordingly different event handlers can be registered as
well for different issues.

echo 0x00 > <debugfs>/mdp/xlog/enable -> disable
echo 0x01 > <debugfs>/mdp/xlog/enable -> enable default xlogs
echo 0x80 > <debugfs>/mdp/xlog/enable -> enable all xlogs
echo 0xff > <debugfs>/mdp/xlog/enable -> enable xlogs regardless flags

Change-Id: Id1bf2a6f2009afdc63d74add652ce2722a3173a4
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:42 -07:00
Huaibin Yang
26a8df47f4 msm: mdss: debugfs: xlog: dump mdp registers to RAM
Currently xlog provides the capability of dumping mdp registers to
kernel log. This patch adds the option of dumping mdp regs to ram as
well.

echo 0x0 > <debugfs>/mdp/xlog/reg_dump -> disable mdp reg dump
echo 0x1 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to log
echo 0x2 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to ram
echo 0x3 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to both

Change-Id: I767bbd956ac3b1c9e76800bd9d563fc80bd337db
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:41 -07:00
Huaibin Yang
1151c7b8c9 msm: mdss: debugfs: xlog: move xlog related variables to local
debug_log is an unnecessary global structure that is actually only
related to xlog debugfs nodes. Those variables that control xlog
behaviors should be in the local xlog file.

Change-Id: I8e2a37e72d849b09e5c8afb8b2170adf9516e215
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:40 -07:00
Huaibin Yang
13611e8bcf msm: mdss: fix phy_io base for ldo_cntrl
Due to wrong base io address, ldo_cntrl is not properly
configured. Fix this bug to get suspend/resume working.

Change-Id: I708d645f33a05a0bf8d68be0909c43fc628d293e
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:40 -07:00
Anusha Koduru
b6f20f1701 msm: mdss: Avoid NULL pointer access
Validate pointer to avoid NULL pointer access

Change-Id: I47671f0072a61c7025d47da74de13ab66a543064
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:38:39 -07:00
Adrian Salido-Moreno
13b9a7e123 msm: mdss: fix wb memory registration optimization
In order to avoid multiple mappings of same buffer handle, we check for
any existing handles that are already mapped within writeback. However
current checks are based on file descriptors, and these may be reused
for a new buffer handle, and in turn we end up having wrong assumptions
of the actual queued buffer while performing the writeback commit.

Fix this by getting the actual ion handle mapped to the file descriptor
and look for this handle instead.

Change-Id: Ib800dc4000ce8353ed16c7e779cda21644696ec8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:38:38 -07:00
Krishna Chaitanya Parimi
1f137a2c70 msm: mdss: add init and deinit calls to notify update ioctl
Adding notify update init and notify update deinit calls which
ought to be called when the notify update thread is being
started and exited in userspace. The need for these is to ensure
that during exit sequence of the notify update thread there is
minimal wait due to ioctl being blocked in driver. The wait
completions will not be reset if deinit has been called and will
need an init call for them to start working. So when we are
exiting the notify update thread, any block that might happen
due to either a concurrent or a later notify update call is now
handled properly so that the block is either returned early or
is not allowed respectively.

Change-Id: I8212bf058285f5929ebc85d41d6bb12b50e388d9
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
2016-03-23 20:38:37 -07:00
Aravind Venkateswaran
77437745cb msm: mdss: swap flags for LP1 and LP2 modes
Use FB_BLANK_NORMAL flag for LP1 power mode and FB_BLANK_VSYNC_SUSPEND
flag for LP2 power mode. This better aligns with the definition of
these power modes since display updates are suspended in LP2 power
mode while updates can still occur in LP1 power mode.

Change-Id: Ica132e38dd1d0bb96368a1bbb51143100f0352cc
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:38:36 -07:00
Huaibin Yang
ed28b72bee msm: mdss: add mutex locking when BTA is triggered
Add cmd_mutex when doing s/w triggered BTA to make sure this operation
does not race with DCS commands.

Change-Id: I888e06a8175691938aebc7a51c2c693d582ce23d
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:35 -07:00
Vinu Deokaran
365f1722ff msm: mdss: hdmi: set tmds clock ratio bit if scdc is supported
Set TMDS_BIT_CLOCK_RATIO bit in the SCDC port based on the bit rate
for the current mode. This bit has to be set before the TMDS clock is
turned on.

Change-Id: I315e00a032a1465974431e09ed2918ff353cb6de
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:38:34 -07:00
Ujwal Patel
eca9b5401e msm: mdss: fix right_blend pipe assignment for validate layer path
When source split is enabled, a layer mixer can have two pipes staged
on a same z_order, or stage. To support this, pipe on the right side of
the blending is recognized as right_blend. Current validate ioctl path
is missing implementation for this use-case which is causing unexpected
behaviour when source split is enabled. Fix this by bringing a logic to
identify pipe as a right blend.

Change-Id: Ia117afbad993d9d60f28f1ea6641b780ba866783
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:38:34 -07:00
Dhaval Patel
65ded8d75d msm: mdss: fix ab/ib vote for nrt clients
Invalid port calculation is causing wrong ab/ib
vote on rt(RealTime) and nrt(NonRealTime) clients.
This change fixes it and provides correct ab/ib
vote for nrt clients.

Change-Id: I6b7f63721237b63fa12457b96e47852913597d9f
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:38:33 -07:00
Dhaval Patel
cf5ef3a218 msm: mdss: fix RGB565 and RGBA888 UBWC format config
Invalid stride, format configuration and destination configuration
causes corruption for RGB565 and RGBA8888 UBWC format at
input and output level. This change fixes them for input path
and output path.

Change-Id: I77cc20409bbb7c95fd0f3bdac9e61b305fddc811
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:38:32 -07:00
Ping Li
b27a8bb5bc msm: mdss: Unblock mdp PP features when AD calib mode is enabled
Assertive display calibration mode can co-exist with MDP based
post-processing features, only the backlight changes need to be
blocked when AD calibration mode is enabled.

Change-Id: I9c2932e4fa305a9d53cb4dcca11b877f298b4a23
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:38:31 -07:00
Ingrid Gallardo
5436b22971 msm: mdss: remove bwc workaround for thulium
HW problem where panic was being asserted
continuously when BWC was enabled and causing
CPU throttling is fixed in thulium, so this
patch disables BWC workaround for this target.

Change-Id: Ie418dcfb75c6af06f3cdfe530da7d78e5d6c8ca8
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:30 -07:00
Ingrid Gallardo
5e537fce5f msm: mdss: program Client Driven Prefetch (CDP) for thulium
Program CDP for thulium target as per
recommendation. This disables CDP on source
pipe and WB block when used in rotation
operations for v1.

Change-Id: Ia77f80d15033b20edd64e73f6fe98467aabb88f1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:29 -07:00