Commit graph

567223 commits

Author SHA1 Message Date
Padmanabhan Komanduru
2e9714f338 msm: mdss: change the print level to debug for dynamic fps write
During stability testing, the device can enter and exit the idle
screen use case very frequently. When this happens the fps switch
between the minimum and maximum configured values happens many
times causing the kernel logs to be flooded with messages related
to this. Hence, silence this print statement by changing it to
pr_debug.

Change-Id: If54871c1d27fcc50d901712c5fd5f279a8bd3efc
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:39:50 -07:00
Ramakant Singh
7060dbc3e1 msm: mdss: fix back light issue in recovery
When continuous splash is enabled backlight is
turned on in lk itself. But the pwm_enable variable
is not set till first backlight update in kernel.
In recovery case blank is called even before
backlight update. Since the bwm_enable variable is
not set backlight disable is skipped keeping the
backlight on.

Change-Id: I73c02d8250596e7b6addec4ffc54655bbc8cb53c
Signed-off-by: Ramakant Singh <ramaka@codeaurora.org>
2016-03-23 20:39:49 -07:00
Veera Sundaram Sankaran
c5aedfabd2 msm: mdss: fix possible NULL pointer dereferences
Fix few NULL pointer dereferences in dsi and rotator.

Change-Id: Icc1a8e744dad287445474908cc96c21c5bb66751
(cherry picked from commit 5549fcb68e4d8f8e0551754cddefc5d8ffd557d7)
[rameezmustafa@codeaurora.org: Resolve merge conflict in mdss_dsi_host.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:48 -07:00
Padmanabhan Komanduru
d6bc431a14 msm: mdss: synchronize DSI overflow recovery thread with suspend/shutdown
DSI overflow recovery thread has synchronization issues with suspend and
FB shutdown path causing watchdog bark issues due to excessive logging
and NOC errors due to unclocked register access. Add changes to synchronize
the thread properly.

Change-Id: I9e6c4d21803d1bb99349568ac2cca431d5a5d1c3
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:39:47 -07:00
Ingrid Gallardo
ee6e565bcc msm: mdss: debugfs: xlog: fix xlog corruption in ramdump
Display driver debug feature xlog, allocates some memory
to copy some of the MDP registers that are needed for
debugging and then it panics. Current memory allocation
api has a problem, where data from this memory allocation
is shown corrupted in the ramdump.
This change workaround this problem by changing the
memory allocation to a dma alloc which works fine
to keep the data correct in the ramdump.

Change-Id: I391419095fb7ebfd3eb88faf26d2b473c255f28c
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:39:46 -07:00
Sandeep Panda
172cc23834 msm: mdss: allow ESD check to be enabled at runtime
In current panel ESD feature, there is no way to enable
ESD check at runtime if it is not set in DT property.
This code change allows to enable ESD check feature from
sysfs node dynamically irrespective of DT property set.

Change-Id: Ie44eca60c02dec108eaac562e49cda34b8093b06
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-03-23 20:39:45 -07:00
Siddhartha Agrawal
7d96b96915 msm: mdss: Add dt support to enable clk lane recovery
This adds dtsi property to enable the clock lane recovery
mechanism. This will prevent clock hang issues in command
mode panels.
- To enable this qcom,dsi-clk-ln-recovery property needs
  be enabled for that particular target.
- In case commands need to be sent in HS mode, need to add
  CMD_REQ_HS_MODE to the commands flag list.

Change-Id: I24d61983de9e2d695084de7c0b5eec860c1c1601
CRs-Fixed: 783621
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-03-23 20:39:45 -07:00
Ingrid Gallardo
059322e52a msm: mdss: skip bw vote for same bw requests
If the bandwidth requested is the same as the
one from the previous vote, skip the call to
bus driver in order to avoid an overhead
due unnecessary calls to bus driver.

Change-Id: I5e90f04a186d9d259e28c70783840294c86fcc98
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 7337a9e3df25b2ce22005001d95866a51738429b )
[veeras@codeaurora.org: Resolve merge conflict in mdss_dsi_host.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:44 -07:00
Jeevan Shriram
40064f21be msm: mdss: increase wait for kickoff timeout in display thread
Increase wait for kickoff timeout to accomodate system delays
in display commit thread. In the current implementation, there is
a possibility that unsignalled fences are flushed to display on the
panel. Hence update mixer stage to border color to avoid displaying
unsignalled fences.

Change-Id: I005ac5ccec001d167d65810b6c68f788794985b8
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:39:43 -07:00
Padmanabhan Komanduru
3299540a16 msm: mdss: check for clock lane HS setting before overflow recovery
When the clock lane is forced to HS always, it is possible that
the clock lane status iS HS and data lanes are in LP mode. We need
not perform data lane HS overflow recovery. Add a check for clock
lane HS setting in such cases.

Change-Id: I2a4cc3bba90ae6a48183810717318fac450775bb
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
(cherry picked from commit d5a33b3bc61303b9c75b827d5a4e1476e1ff66c7)
[veeras@codeaurora.org: Resolve merge conflict in mdss_dsi_host.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:42 -07:00
Adrian Salido-Moreno
84019e7e6c msm: mdss: clean any dirty pipes after a successful prepare
After prepare call is made it should be assumed that all pipes that are
needed for this round should already be set. If there are any pipes that
are still dirty after a successful prepare call, it means that they are
not properly referenced in user land. Thus mark them for cleanup.

Change-Id: I6fea19482129223484b8061eb2917aa8987253e5
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
(cherry picked from commit f0fb17bd97c9eb15376c589a65ea0f33174c3856)
[veeras@codeaurora.org: Resolve merge conflict in mdss_fb.h]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:41 -07:00
Ingrid Gallardo
6bbba6f01f msm: mdss: refactor ot limits to support rd and wr
Current code only supports to configure the same
read and write ot limits. For newer platforms it is
needed to configure different default limits for
each of the operations. This patch refactors the
implementation so the driver can support a different
default limit for the read and the write operations.

Change-Id: Ie54e4f24d52a561a6bf10de65ab6bce8a98211bb
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 1b032907f97620955e76cfd0c7a970dd1d697db2)
[veeras@codeaurora.org: Resolve merge conflict in mdss.h, mdss-mdp.txt]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:40 -07:00
Huaibin Yang
a07a798f71 msm: mdss: set mdp video stop mode
When dynamic refresh is triggered and DSI sets the video stop signal,
mdp line counter is halted, but not mdp engine unless this bit is set.

Change-Id: Ibfd9b2c6c9ed6635c1ca229f2ad21f800427e760
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:39:39 -07:00
Ingrid Gallardo
e3ac2f4367 msm: mdss: fix cursor alloc and setup
Each pipe holds a list with the addresses to the planes
allocated for each pipe. Current code was missing to
populate this list for the cursor and update the global
list with the correct index for the cursor allocated.
This change fixes this issue by populating the list
and updating the global cursors list.

Change-Id: Ib5bdfd5a93802c05643b74a6ebf396d2d9308365
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:39:39 -07:00
Adrian Salido-Moreno
7cb38c1606 msm: mdss: fix check for hardware cursor mixer stage
Currently max target zorder is used to check where hw cursor needs to be
setup since it needs to be setup at highest mixer stage for target.
However max target zorder reflects the maximum number of layers
supported and not the actual mixer stage. Fix by doing proper check and
configuring right mixer stage for cursor.

Change-Id: I6dee63a852126110bdc4953239d5b92b77f12488
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 8e983248cdc4a00412cddb5e986cc7c6eb629fd1)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp_overlay.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:38 -07:00
Ingrid Gallardo
e153a85adc msm: mdss: reduce rotator fps for high resolution
For 4k video playback, video only expects to decode
at 30fps for current target. This means that
rotator is only expected to run at 30fps for 4k
resolutions, this change considers this for the
rotator bandwidth calculation in order to optimize
the bandwith vote.

Change-Id: I416a5f2bda00bdd962fa7d26fba2ed19f4247d81
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 440c2184e5c29db07de5c5bcf7036bf7b6fc5a3d)
[veerascodeaurora.org: Resolve merge conflict in mdss_mdp_ctl.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:37 -07:00
Jayant Shekhar
accd754fc4 msm: mdss: Print buffer len in hex
Buffer len is currently printed in decimal while
address in hex. Change this to print buffer len
in hex.

Change-Id: I0c90d45806c988e59d6239519544dd80f7b5f306
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
(cherry picked from commit 6d90e7ab009a77159004579006e4c6f2b2a99f04)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp_util.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:36 -07:00
Jeevan Shriram
126e1a5bd1 msm: mdss: update max fence wait timeout for all acquire fence
In the current implementation, driver waits for each fence upto
10 seconds which is too high. This causes other threads to stall
and causes fence timeout. Aggregate all fence waits to a maximium
of 10 seconds.

Change-Id: I086583170cc461609ff426577b4711d78e3eca28
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:39:35 -07:00
Ujwal Patel
edafc2a85a msm: mdss: enable partial update with ping-pong split
When ping-pong split is enabled, frame-buffer is not split and
user-land program is not aware that at lower level there are two
physical panels. Because of this, user-land will always send a single
ROI covering the entire frame-buffer. In such cases, it is driver's
responsibility to split the ROI into two when ROI is crossing mid-point
and make topology changes when ROI is only on left or right panel. Add
these changes to support partial update with ping-pong split.

Change-Id: I3fa1beac2f7e9700d5b3a3d4fda63078f1e6e976
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:39:34 -07:00
Chandan Uddaraju
0974ef0df1 msm: mdss: add support to configure svs voltage on cx rail
For dsi panels, we observe display fading issue
on few of the existing hardware version when the
cx power rail goes to svs voltage. Add support to
vote for the cx regulator in mdp driver if needed
and control the voltage to avoid any
display fading issues.

Change-Id: I0ea98d46ec1464b9311fe2a5364499e27975651f
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-03-23 20:39:33 -07:00
Kuogee Hsieh
9be8a7be57 msm: mdss: enable dsi clock during HS clock lane recovery
DSI registers are accessed during HS clock lane recovery.
Therefore related dsi clocks need to enabled at that time.

CRs-Fixed: 789721
Change-Id: Ie953054d30fcd8f0dbc58e26c5dd11d59f582419
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:39:33 -07:00
Jayant Shekhar
30b06c97b9 msm: mdss: Synchronize DSI off, BTA status and DSI event handler
Currently there will not be a race condition with ESD check and
dsi off sequences. But there can be a race condition with dsi_off
and DSI event handler as the mutex is removed from dsi_off. Add
the mutex back again in dsi_off and BTA status check.

Change-Id: I1ae6cccbcf255f5295d1fdb79de140d5615b45ad
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:39:32 -07:00
Saurabh Shah
0bc9cc98ea mdss: mdp: Add support for 180 rotation in PAN_DISPLAY path
Add support for 180 rotation (FB_ROTATE_UD) in the PAN_DISPLAY path.
Currently this is not supported and required by panels that could be
mounted inverse.

Change-Id: Id58271bf0daf849129cb1a5ed10c5b35e2e5a292
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
2016-03-23 20:39:31 -07:00
Ujwal Patel
9d14ac063e msm: mdss: improve right blend pipe allocation during source split
Current implementation does not consider left_blend pipe's priority when
allocating right_blend pipe. Because of this, higher priority pipe may be
allocated for the right_blend and later be dropped. Prevent this by
skipping pipe's with higher priorities than left_blend.

Change-Id: I75dd846f171a27c087f29d58ee7850582434ebaf
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
(cherry picked from commit c930ee39306d1c8c7d20c35d70af1b72c4112464)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp_pipe.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:30 -07:00
Jayant Shekhar
d0abb3685d msm: mdss: Add extra panel info element in the fb_data_type
Dynamically allocating memory and using can cause overhead
while the memory is getting allocated and de-allocated for
every update for recovery use-cases. Hence, add one more
instance of struct panel info element in the fb_data_type
and use it.

Change-Id: Ic26b73bd779e21b008093cab1cb3decc28a95587
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
(cherry picked from commit b2110a1e44c030cbdc715a18af2adc5f37da2411)
[veeras@codeaurora.org: Resolve merge conflict in mdss_fb.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:29 -07:00
Aravind Venkateswaran
b6cd64fd53 msm: mdss: dsi: enter ULPS after blanking the panel during suspend
In the current implementation, when the display is blanked, DSI phy
is turned off prior to turning off the supply to the panel. This results
in an abrupt transition on the DSI lanes from LP11 to LP00 which is in
violation of the MIPI spec, and can potentially cause panels to go to a
bad state. Fix this by requesting ULPS entry when display is blanked.

Change-Id: I5c3e422cfdd9a398939a7277cd78ed7adb16d76f
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:39:28 -07:00
Jeevan Shriram
18bf7ffbf4 msm: mdss: allow unused SMPs during pipe re-use on MDSS v1.10
Allow unused SMPs to be allocated in pipe re-use cases and when
there is a change in required SMPs.

Change-Id: I4737b0edf60577f4bec852a63f47412ead653029
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:39:27 -07:00
Ingrid Gallardo
94011e5334 msm: mdss: avoid overlay queue for a dirty pipe
During pipe setup, if a failure happens, the pipe
is marked as invalid and an error is returned to
the caller; it is the caller responsibility to honor
the failure and avoid an overlay play in the invalid
configuration. Anyways in order to prevent
configuration problems that can lead to underruns
due a wrong sequence by the caller, add a check
to print a warning and return an error if an
overlay play with an invalid pipe is called.

Change-Id: Ib2497b20eb4117bca8a94c30d3ef3b87ddb79fde
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:39:26 -07:00
Terence Hampson
07930a1500 mdss: mdp: Dynamic dsi mode switch
This feature enables user space to issue ioctl to initiate DSI
mode switch from video to command mode and vice versa. The
mode switch occurs on the next frame that is to be commited
for display.

Change-Id: Id6f187541a773fc52f809b968a6366008da9d4a3
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
(cherry picked from commit 98a936dc8a4b4c94c5220c98a4dfc2b3eb006b1c)
[veeras@codeaurora.org: Resolve merge conflict in mdss_fb.c, mdss_fb.h
mdss_mdp.h, mdss_mdp_ctl.c
Modify mdss_mdp_layer.c due to compilation errors]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:26 -07:00
Jeykumar Sankaran
80b557c07f msm: mdss: Refactor ping pong split configurations
Refactor ping pong split programming to make it generic enough to
support the feature on multiple targets.

Change-Id: Ic2a1cad97c354997de81f06e449ab78a1864fda2
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
(cherry picked from commit 472bb7cff9aae26cac323c6cb5d01ffb1de206ab)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp_intf_cmd.c
and mdss_mdp_intf_video.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>

	../../../../tools/gator/daemon/events_xml.h
2016-03-23 20:39:25 -07:00
Terence Hampson
1c9334a895 mdss: mdp: Separate intfs func ptr to their own struct
Cleans up interface specific function pointer to be
grouped together.

Change-Id: I5be4bdd8248e672dda1162bf119f44762a5e8f7a
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
(cherry picked from commit bee39e7b680901da2cf7d52a47a6f3b2c45fc180)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp.h,
mdss_mdp_ctl.c, mdss_mdp_intf_cmd.c.
Modify mdss_mdp_layer.c, mdss_mdp_wfd.c, mdss_mdp_rotator.c for
compilation errors]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:24 -07:00
Adrian Salido-Moreno
7d02092362 msm: mdss: add xlog handler to wait for kickoff timeout
For cases in which wait for kickoff or wait for panel idle, currently
there is not enough information to debug why it can be happening. Add
more information about current state when it happens by adding XLOG handler
to dump display driver info.

Change-Id: Icc3555c05bfa5603fed965e747857d1d538a9ef1
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:39:23 -07:00
Adrian Salido-Moreno
13c9317289 msm: mdss: remove downscale overflow check for recent MDP revisions
The overflow check for downscaling was added due to bug in scaler for
earlier MDP revisions. The bug has been addressed in MDP 1.03 and newer
revisions, hence keep check only for older revisions.

Change-Id: I2df98f7d23c016472bc4bcf67ce37fba4fb2c40e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
(cherry picked from commit 50fb9e51cea706e81ea7fc31cfb7826d69140918)
[veeras@codeaurora.org: Resolve merge conflict in mdss.h]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:22 -07:00
Shivaraj Shetty
5ca0bcf14f msm: mdss: skip ESD check during continuous splash
Running ESD check during continuous splash will show false
ESD failures. Do not check panel status until the
continuous splash is done.

Change-Id: I14a74feb0b7f5beb7c690d1c4c9a3c37354abe25
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:39:21 -07:00
Jeevan Shriram
de2c65cd7b msm: mdss: disable continuous splash for slave control
Continuous splash screen needs to be disabled for the slave control
as well after handoff. In the case of pingpong split, there is no
secondary control and needs to be disabled for the next pointer.
This change handles disabling continuous splash screen for slave
control for command mode interface.

Change-Id: I8897a00fc54f71698467fa9c63dca0c2746230d0
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:39:20 -07:00
Ingrid Gallardo
7d4071a7fe msm: mdss: debugfs: xlog: enable xlog debug by default
This change will enable by default the display
driver debugging features in non performance
builds to: dump MDSS registers during failures,
panic during fatal display driver errors and
enable some logging into an internal buffer
(to avoid logging overhead).

Change-Id: Idc5e2dbd6960ee568f3e18a103c248b20faca548
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Resolved Kconfig file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:39:19 -07:00
Ingrid Gallardo
d4d841c63e msm: mdss: debugfs: xlog: display kernel panic cleanup
Cleanup the kernel panic within the display driver to
dump mdp registers before driver panics and remove
unnecessary panic during underrun interrupt.

Change-Id: Ia8cb125b2836096b4179463cb4d4e6d1bd6cd804
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:39:19 -07:00
Ping Li
002aa08637 msm: mdss: Output backlight info to mdp stat sysfs node
Add modulated and scaled backlight values to d/mdp/stat sysfs
node so that they can be accessed from user space side.

Change-Id: I4c66978e71bcbce785c7a6ab460eab918b5e3ac6
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:39:18 -07:00
Jayant Shekhar
f283ba88e6 msm: mdss: Start ESD BTA status check after unblank done
BTA status check currently is invoked as soon as ESD thread
starts. In some cases, this BTA status check might fail as
unblank is not yet performed and panel is not on. Hence
delay BTA status check start till unblank is completed.

Change-Id: Ic752866cc679438fb2ccffede660c29e9597d01e
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:39:17 -07:00
Sandeep Panda
407b84d154 msm: mdss: add support to read force clock lane HS property
This change adds support to read force clock lane to HS
property from panel dt file.

Change-Id: I20c42e0f7914c8fb91c6cb7ea6fd2802359a6be6
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-03-23 20:39:16 -07:00
Aravind Venkateswaran
4a73f2adf8 msm: mdss: fix potential crash when sending backlight DCS commands
If MDSS idle power collapse feature is enabled, MDSS GDSC can get
toggled when exiting idle power collapse. This may require an
explicit call to TZ to restore MDSS security configs prior to accessing
any MDSS registers, which is typically done whenever IOMMU is attached.
For panels where backlight is controlled using DCS commands, it is
possible that a backlight update could be triggered when MDSS is power
collapsed. This would result in enabling MDSS GDSC and restoring DSI
registers prior to sending the DCS commands. For such use cases, ensure
that IOMMU is attached prior to any register programming to avoid any
crashes.

Change-Id: I245d1180cfeedeb938e70b792fd6d627e86c5d14
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:39:15 -07:00
Jeykumar Sankaran
b088e80929 msm: mdss: Add panic signal support for msm8992
Add panic signal support for msm8992.

Change-Id: I5fe9d370bebf3ccd82f6930da0d4e833fffb67e4
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
(cherry picked from commit 63d2c6c06e14d42dac143d0c5e6d13e80701c735)
[veeras@codeaurora.org: Resolve merge conflict in mdss_mdp.h]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:14 -07:00
Ray Zhang
7e0c6813e2 msm: mdss: add debugfs support for LCM debug
Register debugfs nodes to read from and write to the LCM registers.
Give following command in adb shell to read panel register:
	echo address feedback_count > /d/mdp/panel_off
	cat /d/mdp/panel_reg
To write panel register:
	echo address value > /d/mdp/panel_reg

Change-Id: I9ef9fb57dc1b7dea42c7e701c60018f7946ee75b
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-03-23 20:39:13 -07:00
Shimrit Malichi
a506802723 msm: mdss: Add support for boot LED indication
By turning on the blue LED we get a notification that the boot-
process has started. The blue LED will be turned-on in
bootloader and be turned off when HLOS display takes over.

Change-Id: Ia8f97a507a5deda9d692f0a8b53488a684f5efd2
Signed-off-by: Shimrit Malichi <smalichi@codeaurora.org>
(cherry picked from commit f6e38df1b908fdc77bab9c843cb24efb5ce8ee2f)
[veeras@codeaurora.org: Resolve merge conflict in mdss_fb.h,
mdss-mdp.txt]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:39:13 -07:00
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