Commit graph

567318 commits

Author SHA1 Message Date
Terence Hampson
fac0d37e2c msm: mdss: rotator: validate ubwc x and y offsets
For destination roi x and y offsets need to be validated for ubwc
formats to make sure that they align to the start of a tile.

Change-Id: I43c50401a212b624851fa0d7f1347fe313d19ca2
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:44:03 -07:00
Terence Hampson
75c3748493 msm: mdss: prevent crash in null commit use case
Prevent client from crashing system when wfd_pre_commit is called
without calling validate before.

Change-Id: I83a2b878b300fb835908e57037da8a4d83d114ed
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:44:03 -07:00
Jeykumar Sankaran
4e60bcd430 msm: mdss: Fix DSI ROI alignment read during DSI probe
Fixes a bug in reading the DSI ROI alignment values as per the
property description.

Change-Id: Ieffa48891f4f9219951b6e90009369db993791a7
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:44:02 -07:00
Casey Piper
6616ee692a msm: mdss: hdmi: remove DDC power disable in HPD off
The HDMI driver is causing an unbalanced
mdss_update_reg_bus_vote call when powering off HPD
in suspend state. Since the DDC module is powered
on for HDCP in MDSS_EVENT_PANEL_ON and then powered
off in MDSS_EVENT_BLANK, there is no need to power
off the DDC module again in the HPD off function.

Change-Id: I3b5e9e352d07e572e6c909554945d949fc374287
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:44:01 -07:00
Benet Clark
51b4e93f03 msm: mdss: Add IGC version framework support for default IGC programming
A limited range IGC LUT is set by default in the cases of HDMI output.
In order to set the default LUTs, the values must be sent according to
the new PP versioning framework. This change adds support for configuring
the IGC parameters according to that framework.

Change-Id: I08e641f9c6dd1be119c98446afad26f633615ea1
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:44:00 -07:00
Benet Clark
87f95cf2a9 msm: mdss: Check valid PP hardware configs based on mfd
The logic for validating the hardware configuration of the mixers, AD
hardware, and DSPPs in a display pipeline has been simplified. If an
incoming PP configuration is invalid and PP hardware is not available,
a warning is printed. Invalid configurations are recoverable, however.

Change-Id: Ib3a6206a8c181390fb6ee5a6761e5ea857b37e1a
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:43:59 -07:00
Dhaval Patel
33896c0d52 msm: mdss: fix error handling in pan display commit path
Pan display commit leaves the left ctl pipe allocated if
right ctl pipe allocation fails. It also tries to release
the iommu refcount when it did not added it. This can lead
to pipe allocation failure for atomic commit or page fault
due to smmu clock disable. This change fixes the error
handling in pan display commit path to release the resources
in correct order.

Change-Id: Icaa0cf164d12fe3f8d4d2012917a5524ad31f824
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:58 -07:00
Gopikrishnaiah Anandan
a384d144e1 mdss: mdp: update dspp histogram states atomically
State of dspp histogram blocks attached to logical display
should be changed atomically to idle when histogram collect is ioctl
is called by userspace clients. This will ensure that histogram
interrupt handler will see consistent states for all dspp's attached to
logical display and prevent incorrect sysfs notification to userspace
modules.

Change-Id: I7f32ce21cd65026e1ea01e3b6fe8b571c7b08db3
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:43:57 -07:00
Casey Piper
6929655b3e msm: mdss: hdmi: use HDCP SW keys if available
On compatible hardware, HDCP keys can be provisioned
through software instead of being hardware fused.
If HDCP keys are available in sofware, set these
keys and gather aksv through QSEECom calls. If
keys are not available, do not continue HDCP
authentication process.

Change-Id: I7a93b6e1ef958aaa53ef756393ce1f81882bedaf
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:43:56 -07:00
Terence Hampson
60f99505b3 msm: mdss: correct ubwc total plane size calc and usage
Total plane size was not calculated properly for ubwc formats.
Additional the value that this was compared against was also
not calculated properly. This change fixes some minor issues
in data validation.

Change-Id: I0a925f4824bf084e4a7465ecc650ea93936e8f68
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:56 -07:00
Ajay Singh Parmar
46b34d140b msm: mdss: hdmi: make edid parser an independent module
Currently only HDMI driver is using EDID parser. But this parse
can be utilized by other MDSS drivers. Make this as an independent
module which can be used by any other MDSS driver for EDID parsing.

Change-Id: I62622af6c27927b7cf0390238f311452c03cd262
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:43:55 -07:00
Ajay Singh Parmar
5b0fec9e82 msm: mdss: hdmi: fix 4k@60 scrambling issue
Enable scrambling for all the pixel clocks where scrambling is mandatory.

Also, do not process multiple interrupts of same HDMI cable status as
this can lead to spin multiple threads, one modifying scrambling data
while other accessing it, resulting in wrong interpretation of scrambling
related data.

Change-Id: I31f80315a7d1b70bc6a0a84f5cd2990021bb8025
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:43:54 -07:00
Ingrid Gallardo
a65a03be43 msm: mdss: xlog: fix issue preventing dump address to be stored
Fix bug in xlog dump which prevents the virtual address
of the registers to be stored in the driver context.

Change-Id: I15fba4b8f88b31b8cd9eb27a21548e04a9a286ff
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:53 -07:00
Dhaval Patel
19443f6d86 msm: mdss: configure pixel extension block for all formats
Pixel extension block configuration is mandatory
for all pipes and all formats on 8996. It is leading
to underrun if not configured for solid fill format or
other formats. This change configures the software pixel
extension block for all formats - with/without scaling.

Change-Id: Ie724873340c6dfd5e6cb11d66aeb0ac3aae7f841
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:52 -07:00
Benet Clark
ffe277c9c2 msm: mdss: Add default dither programming from CTL init
The ability to program default values to the dither hardware
is broken using the new post-processing versioning framework.
This change adds back the functionality of programming the
dither block based on panel bits per pixel.

Change-Id: I016e7ebec3e05107e677d6ca6e2ef7fd078af048
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:43:51 -07:00
Dhaval Patel
dadb8126e9 mdss: mdp: do not report tile format when ubwc is supported
MDSS driver reports the tile format and ubwc format support
in capability node. It should not report both format
supports because framework may use tile format over ubwc
which is not intended. UBWC is common for venus, camera
and GPU.

Change-Id: If9230d4974ec150d879c77a6f1efba7f040ba2ed
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:43:50 -07:00
Vinu Deokaran
9355cfcaeb msm: mdss: add csc tables for mdp5 for various color spaces
Add csc tables for 601 full, 601 limited and 709 limited
to support different csc matrices.

HAL provides color space request to driver, consider it
to choose appropriate matrix for conversion.

This will help in solving artifacts during GPU/MDP switches
so that both GPU and MDP choose same matrix for conversion.

Change-Id: Idd73e0695ea64d0c0bd778dba07199e209ca6f3d
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:43:49 -07:00
Kuogee Hsieh
e4f8eae0df msm: mdss: add generating 128 bytes of DSC PPS
Add generating 128 bytes of DSC PPS (picture parameters
set) base on specified DSC picture width/height and slice
width/height. Send 128 bytes PPS stream to configure and
enable panel's DSC.

Change-Id: I3f2fcb7098023b7d27ef85392e4d5f36bf189d1b
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:43:49 -07:00
Dhaval Patel
7fdfe0ad67 msm: mdss: add secure display support
Secure display architecture requires null commit
before and after secure display session. It
also adds requirement to make the SCM call before
and after secure display session. It supports secure
display with single-stage SMMU hypervisor controlled.

Change-Id: I3f41ed318c80d6e76328de114f7dee0c9891c2f0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:48 -07:00
Jeevan Shriram
7303f4b547 msm: mdss: restore ctl registers when idle power collapse is enabled
In the current implementation, control register are not being restored
for the compression modes. This causes display corruption on command
mode panels if idle power collapse is enabled. This change restores the
compression mode registers while coming out of idle power collapse.

CRs-Fixed: 859333
Change-Id: Id40270e78b798f3baf7a6c3ad2598f7f12bbf3fb
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:47 -07:00
Terence Hampson
d36adec65e mdss: mdp: extract if mdp has ubwc from hw rev
User space needs a way to identify if mdp has UBWC

Change-Id: I5fec34976473ea80c09684d51b14d5588fab09eb
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:46 -07:00
Padmanabhan Komanduru
1fa271e59c msm: mdss: use the correct variable for continuous splash status
The DSI driver checks if continuous splash screen is enabled
via mdss_panel_get_boot_cfg API to MDP driver. In the current code,
we use the wrong variable to check continuous splash screen status.
This might cause display crash during boot up when continuous splash
screen is disabled. Fix this issue by using the correct variable
to check the status.

Change-Id: Iaa752a5c764dbd3ca94a5e14514f9174dad21695
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:43:45 -07:00
Dhaval Patel
c6e6724120 msm: mdss: reset the skip buffer flag to avoid memory leak
Pan display path can call buffer alloc and use one of the
buffer. It will enable the skip detach enabled for that
buffer. This buffer moves to free queue when atomic api
stage next set of layers. It can lead to memory leak when
atomic API path reuse the same buffer without resetting
the detach flag. Ideally, it should be reset for each
attach call.

Change-Id: I96e2c030669539d8e5dc7205abc233ecc7118bdb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:44 -07:00
Aravind Venkateswaran
8b9bb877e8 msm: mdss: specify unique name for panel debugfs directory
For dual DSI board configurations with independent displays,
the debugfs directory needs to be created for both panels. Use
unique directory names for the debugfs node. After this change,
the debugfs directory will have the following structure:

For Split-DSI:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)
/sys/kernel/debug/mdss_panel_fb0/intf1 (assuming fb0 device node)

For Dual-DSI with independent displays:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)
/sys/kernel/debug/mdss_panel_fb1/intf0 (assuming fb1 device node)

For Single-DSI:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)

Change-Id: Ic98d0d662932223828c41511c51cb4a0dda42bb2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:43:43 -07:00
Ingrid Gallardo
96007ec277 msm: mdss: add support to switchable qos during vblank
Starting with 8996 chipset, qos settings can be adjusted
to be different during vblank. This change adds support
for this feature.

Change-Id: Ifa25dd799a55396224f49c49a29fcc8f5a245bd0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:43 -07:00
Casey Piper
bbdb824e97 msm: mdss: hdmi: add hardware ddc rxstatus support
Support reading rxstatus through hardware interrupts.
Reading rxstatus through hardware allows locality
deadlines to be enforced.

Change-Id: Ic56b3e5c27f2410c7b060a6d5c7c88e0770dc16b
Signed-off-by: Alhad Purnapatre <alhadp@codeaurora.org>
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:43:42 -07:00
Dhaval Patel
00ebebb0e9 msm: mdss: remove unused register read request and invalid comment
Ctl rev in vfp update method is unused. Remove this nop
instruction. DSI timing mode configuration is not specific for
8916/8939 target but common for all targets. Remove such
invalid target specific comment.

Change-Id: Ie7c75203ca50e6bd2abf952f4d4362314c01987c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:41 -07:00
Tatenda Chipeperekwa
f6fb77ca7d msm: fb: add support to set the output format
Add support to set the output of the interface based on the
grayscale value. The grayscale value must be set to a format
specified according to the V4L2 FOURCC pixel format definitions.
We translate from the FOURCC pixel format to the corresponding
MDP format when setting the final output format. For example,
this is used to set the output format to YUV420 for HDMI TVs
that are HDMI 2.0 compliant.

Change-Id: Id5623f1211b743b54002c22b19d81dbd13e6564f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 20:43:40 -07:00
Ingrid Gallardo
e593068d2e msm: mdss: fix typo in mdp bw calculations preventing to use comp ratio
Fix typo that prevents to use the compression ratio factor
to reduce the bw vote for ubwc formats.

Change-Id: Ic06129a1fa0c548bda9673037748b348b8af730a
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:39 -07:00
Krishna Chaitanya Devarakonda
4381407108 msm: mdss: add support for dynamic OT for mdss on 8952
As per QoS recommendation for mdss on 8952, Rotator/WB OT
should be configured for both read/write paths. Add
support for configuring dynamic OT in msm8952, for
Rotator and WB paths.

Change-Id: I543a99cb931f2a58f5f98937c32728f290614316
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:38 -07:00
Kalyan Thota
2430a9eb6c msm: mdss: initialize prefill lines for BW prefetch on 8952
initialize min prefill lines, cursor size and max z-order
for 8952.

Change-Id: If243c285590c45d681aa18a32d830c0c05075a6b
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:37 -07:00
Krishna Chaitanya Devarakonda
39b46f5d78 msm: mdss: calculate rotator bw based on source fps
If the source FPS for the rotator is set, store it and
use it for calculating BW required by rotator.

Change-Id: I35801528930897447a039c4a4c950048e99d16d9
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:36 -07:00
Jeevan Shriram
9ba615f517 msm: mdss: re-check dsi cmd transfer done interrupt
There is a possibility that irq trigger may get delayed in the
software for more than expected, in such cases the cmd done status
may have been updated in DSI isr status register. Add additional
check to see if the dma transfer is completed by reading this register
and checking the status.

Change-Id: Ia27ee162668949934c3e3cedc97e746832824f5c
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:36 -07:00
Jeevan Shriram
8dd6c66e6a msm: mdss: reduce log level when ping pong timeout happens
In the current implementation, driver has a recovery mechanism
from pingpong timeout on command mode interface. This change
replaces WARN macro with pr_warn to reduce the logging in dmesg
when the pingpong timeout happens only once.

CRs-Fixed: 856973
Change-Id: I7568466f4e909e4adafaabbcd5da22596750914b
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:35 -07:00
Mitchel Humpherys
c2d9466e08 arm64: dma-mapping: remove order parameter from arm_iommu_create_mapping()
arm32 recently removed the `order' parameter from
arm_iommu_create_mapping: (68efd7d2fb: arm: dma-mapping: remove order
parameter from arm_iommu_create_mapping()) in order to make the API
easier to understand.  The arm32 DMA IOMMU mapper has dynamic resizing
of the iova bitmap, so there was no reason to keep the `order' parameter
around (which was introduced to reduce the size of the bitmap).

Although we don't have dynamic iova bitmap reallocation on arm64, we'd
still like to get rid of the `order' parameter since it's confusing and
doesn't really help much (especially since all known clients on our
system are passing order=0).  Remove it.

Change-Id: I35e32fdfbe05ec434f64a3a316d13c8f43304bc6
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
[cip@codeaurora.org: Removed changes unrelated to display]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:43:34 -07:00
Terence Hampson
9ebcc0e450 msm: mdss: add ubwc address offset calculations
When adding x and y offsets to uwbc formats, the addresses need
to line up with the start of a tile.

Change-Id: I975dd07bba4bf6dde7ece7aa9b2bfb61d5315dde
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:33 -07:00
Lei Zhou
a0c6e7178d msm: mdss: ignore buffer mapping if it's solid fill layer
Ignore mdp_buffer mapping when MDP_SOLID_FILL_LAYER is detected.
The client marked this mdp_input_layer as SOLID_FILL layer
without input buffer associated with this layer. MDP hardware
SOLID_FILL feature will be utilized.

Change-Id: Ica48dc5b0be69ac42e2f442d6114781790a3c56a
Signed-off-by: Lei Zhou <leizhou@codeaurora.org>
2016-03-23 20:43:32 -07:00
Gopikrishnaiah Anandan
f29534f106 mdss: mdp: Set completion if backlight level is zero
During rapid suspend/resume usecases assertive display is being turned
on with backlight level zero. When on command is received with backlight
level zero driver bails out with out turning on AD and doesn't signal
the client that worker queue has stopped processing which results in a
timeout for on command. Change will ensure that client is signalled if
driver is skipping the processing of AD due to backlight being zero.

Change-Id: Iaa6229f10ce54f44ec64c175f67ef7584ad4c8b2
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:43:31 -07:00
Ingrid Gallardo
f6a76559a2 uapi: msm: mdss: expose compression ratio for rotator
For bandwidth calculations, rotator driver needs
to know the compression ratio factors which
depends on the pixel format. This change adds
support to share this information between
user-space and rotator driver.

Change-Id: I6163317514328610a836c34fd9ca75c3e753b50f
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:30 -07:00
Veera Sundaram Sankaran
3139253e9f msm: mdss: fix cursor pipe idle checking mechanism
The clk status register and vbif status based on xin-id
is used to check if pipes are idle. VBIF checks cannot be done
for cursor pipes as the same xin-id is shared between dsi, cursor0
and cursor1. Avoid vbif status check and fix clk status check for
cursor pipes.

Change-Id: I9e0a185beffd4e732c1b5dc61822cc94b3735a27
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:43:30 -07:00
Terence Hampson
28d54c74e9 mdss: rotator: add trace and debug logs
To assist with profiling and debugging, traces and additional
debugging logs have been added.

Change-Id: I39529dc52fe99de704268170a294bc4391ec2871
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:29 -07:00
Terence Hampson
c2bd48d7b8 mdss: rotator: fix memory scribble issue
Prior to this patch it was possible for rotator wq to write
to memory that had been freed in close session. Close
session now offloads the close work to wq if it still has not
completed the work.

Change-Id: I4b48071f930b912a098094d7de2b2081dac4c2e5
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:28 -07:00
Terence Hampson
ac1cdfd7a7 msm: mdss: provide buffer height when getting plane size
When calculating the plane sizes the buffer height is what should
be passed into mdss_mdp_get_plane_sizes.

Change-Id: I3e4bab0fbfed1e2f34dbe757768a72c9a7916919
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:27 -07:00
Veera Sundaram Sankaran
56f473ee35 msm: mdss: fix smmu buffer mapping in recovery mode
When booting up in recovery mode, mmap is called without iommu attach.
This would result in device panic as iommu fails when buffer mapping is
done without attaching the respective iommu domain. Fix the issue by
delaying the mapping to a later point, during the commit.

Change-Id: Idbe4f6ca5557774b5add56c064ea6b05a67d530f
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:43:26 -07:00
Ping Li
9040e63de8 msm: mdss: Correct the condition check for AD input ioctl
One of the condition checks in ad_input ioctl is to check the input
mode is not MDSS_AD_CALIB_MODE. The current code missed one pair
of brackets and made the check invalid. Correct the check to fix
the bug.

Change-Id: I82a083fe8a1bef6c57a01e20e02fdd14f8c09bde
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:43:25 -07:00
Jeevan Shriram
e95e4f1d5c msm: mdss: try recovering from pingpong timeout without panic
In the current implementation, as soon as the ping pong timeout
happens, driver dumps the relevant logs for debugging and panic.
It is possible to recover from this situation without panic by
performing MDSS control reset and panel write pointer reset. This
change tries to recover from pingpong timeout. If the recovery
is not successful for 10 consecutive frames, uevent is sent to
HAL layer for performing blank and unblank of display driver.

Change-Id: Iadc929a79a62bbf222b9022af5cf04f870079ded
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:24 -07:00
Aravind Venkateswaran
0fae3b24d9 msm: mdss: restore backlight level when recovering from ESD attack
When ESD related panel failures are detected, the recovery process
involves blanking and unblanking the panel. In such cases, it is
required to restore the backlight level as there may not be an explicit
call from the userspace to update the backlight.

Change-Id: Idd84a628cf2a1e37121b94d3c5cc11d45a78fdab
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:43:23 -07:00
Jeevan Shriram
a9416e66c1 msm: mdss: dsi: Add dsi event to reset panel write pointer
There are instances where the mdp wants to reset to full screen
especially during frame timeouts. Add event to s/w reset the dsi core
and reset the panel's ram write coordinates to full screen.

Change-Id: I43e5cb12126837330f3ed72386f87f5c7fabd2c0
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:23 -07:00
Jeevan Shriram
50b9827d5b msm: mdss: reset MDP ctl path for pingpong timeout recovery
When pingpong timeout is received, it could be due to some bad
configuration on MDP pipeline. In order to recover and have clean
HW for next frames, perform SW reset on the faulting ctl path. Also
make sure all the pipes in the bad configuration are halted
properly and does not have any residue transaction for the new
frames.

Conflicts:
	drivers/video/msm/mdss/mdss_mdp_pipe.c

Change-Id: I9a6c6cb6d004fd65c24a7fefe7457ee68af9273a
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:22 -07:00
Jeevan Shriram
8bd3e27fb6 msm: mdss: reset panel when wait4pingpong timeout is received
Due to various reasons wait4pingpong timeout can be observed and
this usually results in split screen behaviour for the end user.
Split screen is manifested because for a given frame only half of
the pixel data was sent and then some kind of hang was observed.
So unless the panel and display pipeline is restarted, next frames
will start from the location where it hanged. Improve user behavior
by resetting the display pipeline including panel by sending panel
dead event to user-space. Upon receiving this event user-space should
issue blank and un-blank which should recover the display pipeline.

Change-Id: Iec674a61229cbc037d24cf4f62ceb02a977b219c
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:21 -07:00