Commit graph

566354 commits

Author SHA1 Message Date
Aravind Venkateswaran
f0e6a39c27 msm: mdss: modify MDSS idle power collapse exit sequence
When MDSS is idle power-collapsed, any events that require hardware
programming should result in exiting idle power collapse. Currently,
this is only done whenever a screen udpate happens. However, it is
possible that other APIs may be called prior to the actual screen
update. To address these cases, add the exit sequence call at the
interface level as well.

Change-Id: I162e1c1c4137a2ba20ed0b76f0c182c2c931cc87
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:30:10 -07:00
Aravind Venkateswaran
802dc41de6 msm: mdss: move ULPS configuration to DSI clock control
DSI Ultra Low Power State (ULPS) mode is property of the DSI data
and clock lanes. Current implementation requires the MDP command
interface to send explicit events to the DSI controller to config
ULPS mode. However, it would be a lot more efficient if the DSI
controller would independently decide to enter/exit ULPS based on
whether the link clocks are enabled or not. This also ensures that
if any DCS commands need to be sent when ULPS is enabled, the DSI
controllers will exit ULPS accordingly.

Change-Id: If8d5b7039b5e104bcee5304c7c0ddb3cdd5bbcbc
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:30:09 -07:00
Radhika Ranjan Soni
fc0c415f2c msm: mdss: add support for RT/NRT traffic
RT/NRT feature splits the AXI traffic over two AXI ports.
By diverting RT/NRT traffic to individual AXI ports, NRT
traffic can be throttled by NOC at SoC level based on AXI
port#. Having this capability can help tweak QoS based on
use-cases.
This change adds support to identify real time and
non-real time clients and acocrdingly program HW to take
care of routing the RT/NRT traffic to respective AXI ports.

Change-Id: Ic5d94423f125226539db9e21bc095dba803cc63e
Signed-off-by: Radhika Ranjan Soni <rrsoni@codeaurora.org>
2016-03-23 20:30:08 -07:00
Dhaval Patel
37b308cea9 msm: mdss: unstage pipe from right mixer in error case
Unstage pipe from right mixer also if pipe staging
fails due to any error. This removes the invalid pipe
usage on right mixer when source split is enabled.

Change-Id: Iac8365025630b71808ea3e0f6ec849964ef52b9c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:30:08 -07:00
Kuogee Hsieh
20a1446910 mdss: display: last pp_done do the notification at partial update
For left+right partial update case, both pingpong_done are
enabled. The last pingpong_done will do the notification to
signal timeline to release buffer.

Change-Id: Ibfe115d3c9cc05cdc7f9171b9421e85f1cc56157
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:30:07 -07:00
Kuogee Hsieh
3a28acf18f mdss: display: add support of dual dsi partial update.
This patch adds l_roi and r_roi fields to display commit struct to
support partial update for dual DSI panels. Panel side
frame buffer's column, page address and DSI controller's
stream size are updated based on the ROI requested.

Change-Id: I70957c9ee1546448416441a8d0608fb00c3b92ca
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:30:06 -07:00
Dhaval Patel
903eef8201 msm: mdss: check for fb node refcount before calling null commit
Add a frame buffer reference count check before calling
null commit to release the free list pipes. This avoids
unnecessary flickering on screen if a process tries to open
and close the fb node without performing any operation.

Change-Id: I96b824edccf27f0ddb796c420ef1feb49f65ddea
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:30:05 -07:00
Sandeep Panda
41211cdb1f msm: mdss: Add support for dynamic mode switch
Add support for switching between dsi command mode and
video mode and vice versa at runtime. If the panel is
configured in video mode, it would be power efficient to
be able to dynamically switch to command mode on need
basis. This change adds the support by providing an IOCTL
to switch between video mode and command mode at runtime.

Change-Id: I573c063556d68d631fe27cc2d1447522eceb7f2a
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-03-23 20:30:04 -07:00
Ujwal Patel
6e50390b3f msm: mdss: fix OT limit configuration for WB1 module
Each VBIF client can be configured for its number of outstanding (OT)
transactions. Currently we can have as high as 13 of these VBIF clients
within MDP. OT configuration for these clients is spread across multiple
registers. Current implementation of rotator OT limit is not considering
these multiple registers which leads to incorrect OT limit configuration
for WB1 WR VBIF client. Fix this by adding logic to select correct
register offset.

Change-Id: I7b4f7ac37ff5c8a85f35dbeb6a6c450b157c4b3a
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:30:03 -07:00
Dhaval Patel
0c5fe51e41 mdss: mdp: prevent null pointer dereference in mixer width calculation
Frame buffer releases all allocated control nodes by calling
blank when its reference count reaches to zero. In error
case, caller might call prepare ioctl and lead to null
pointer dereference to calculate the layer mixer width. A null
condition check prevents such dereferencing call.

CRs-fixed: 664517
Change-Id: I3b65b48a67ab2efb9654457ca7901da6ef0d57be
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:30:02 -07:00
Ujwal Patel
5672e82ee7 msm: mdss: fix single layer vote for pipe staged at higher levels
BW calculation for single layer requires iterative search on how many
pipes are staged on a layer mixer. In the current implementation,
starting source split, container used to store staged pipes has two
entries per stage. Based on this maximum entries to search for single
layer has also increased. Update single layer iterative search based on
this new changes.

Change-Id: I2e65567fd795d71ca5ded0fa56c602267fe46768
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:30:01 -07:00
Vineet Bajaj
42ad918cd9 msm: mdss: Add high_perf flag to run H/W at highest capability
Adding a performance flag in perf_tune params to run the
H/W at its peak. Useful for debugging from the user side.
Give following command in adb shell to turn it on:
echo 1 > /sys/kernel/debug/mdp/perf/perf_mode
To turn off:
echo 0 > /sys/kernel/debug/mdp/perf/perf_mode

Change-Id: I11d86b840952b9f1d167e426997d50caa35b35cf
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
2016-03-23 20:30:00 -07:00
Kalyan Thota
f43bc79630 msm: mdss: add max mixer width property in dt
Max mixer width supported varies for different targets.
Add support for max mixer property in the device tree.

Change-Id: I2cbbb947eada13b89349702065d732dd54ed6ba3
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
2016-03-23 20:30:00 -07:00
Vineet Bajaj
9591650248 msm: mdss: Avoid unclocked register access with dsi_event_thread
In the case when ESD status check fails with DSI ACK
errors, there is a chance of unclocked register access when
DSI_INTR_CTRL register is being set.

Change-Id: I629b4ec642a86369b6ed693bdc6f8b4260ec1f5d
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
2016-03-23 20:29:59 -07:00
Ken Zhang
208c3bd8aa msm: display: only release kickoff when no cleanup pipe
If there is some pipe to clean up, need wait for it be done to
make sure the pipe can be used for the second cycle and recover
mode can be executed.

Change-Id: Ifb3fdb152bc4bbf367b3d272aa0c88b1a0650c19
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
2016-03-23 20:29:58 -07:00
Shivaraj Shetty
a3b8b7d84b msm: mdss: Add support for checking panel status through register read
ESD feature may need to check the status of the panel by reading specific
panel register depending on the panel. Add support for ESD status check
through status register read and to configure the method used for checking
panel status through panel dtsi entry.

CRs-Fixed: 660805
Change-Id: I13b11362722eb2ad379162944eafff04ec01d1cb
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:29:57 -07:00
Ingrid Gallardo
e4056eeb02 msm: mdss: fix screen shifting in some scenarios when split display enabled
Split display configuration requires that lower and upper pipe
control registers get programmed accordingly. This change fixes
a missing configuration bit in one of the control registers.

Change-Id: I17c71c004dbf6807483f132cb22271230b27960c
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:29:56 -07:00
Terence Hampson
d2aaad863b mdss: Dynamic timeout calculation for cmd stop
Time out condition was hard coded to 60 fps. If dynamic fps
feature was used, an invalid timeout might occur.

Change-Id: I0abe52416c10ef4ae0af6f541d22c66f6c8a6b5e
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:29:55 -07:00
Aravind Venkateswaran
177111cb6d msm: mdss: fix handling of runtime pm ref counts for fb device
In the current implementation, pm runtime status for the framebuffer
device changes to active when the overlay session is started. With idle
power collapse feature enabled, it is possible that the MDSS core could
be turned off prior to starting the overlay session depending on the
duration of the idle timeout. This may result in an invalid hardware
configuration leading to various target instabilities. Fix this by
holding a reference to the pm runtime when mdp overlay is turned on.
Similarly, when the userspace process is killed, wake up MDSS from idle
power collapse before shutting down the fb device.

Change-Id: Ie7748732fe76f9b2766da32b972e1e9fe7ff8751
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:54 -07:00
Veera Sundaram Sankaran
615ee3afbe fbmem: Remove mutex use from do_fb_ioctl()
Remove use of this mutex to allow multiple msm_fb ioctl calls.
Mutexes within the individual fb_ioctl calls already provide
the necessary locking.

This is based on android-msm-2.6.35 commit:
a809819d (msm_fb: display: Add delay kickoff to MDDI)
which in includes this change among others.

Change-Id: Iee68bf3556ab913f916868988f4adbad1ed6b2a0
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:29:54 -07:00
Veera Sundaram Sankaran
bd14538fc8 mdss: mdp: use file descriptor node info to track clients
FB clients are tracked using process id. The process id does
not match if open and close API callers are different. Track
the fb clients using file descriptor node id in such cases
and release all resources associated with that process id
gracefully.

CRs-fixed: 652449
Change-Id: I09c965a421197c6464a64684e9706f30df327882
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:29:53 -07:00
Jayant Shekhar
33a726f799 msm: mdss: Calculate plane size correctly for H2V1/H1V2 rotation
Currently chroma sample is calculated after calculation of plane
size and stride in case of rotation in H2V1/H1V2 formats. Fix
this to correct chroma sample before plane sizes and stride are
calculated.

Change-Id: I851d61034b465d48fd21bb4a015c103457dc7936
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:29:52 -07:00
Adrian Salido-Moreno
3b634e9974 msm: mdss: add systrace begin/end trace events
Adding trace points for systrace at various points in
the driver.

Change-Id: I4783fd2982bddb7f111de9e064bcaff153eb1ce1
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
2016-03-23 20:29:51 -07:00
Ingrid Gallardo
52b32260ac msm: mdss add bw related events for command mode panels
Add events to observe when bandwidth is requested,
when bandwidth is needed and when bandwidth is released
for command mode panels.

Change-Id: I56b8ce28683696bee50e9cd10351076c49e4a84c
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:29:50 -07:00
Adrian Salido-Moreno
46789d10a5 msm: mdss: add tracing events in mdss driver
Add tracing points in key points in driver.

Change-Id: Ie31e27be4890e2e7cd573c00dbf3f66fa9c62060
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Moved mdss_mdp_trace.h file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:29:49 -07:00
Kalyan Thota
29ebf7616b msm: mdss: Remove mixer dependency on pingpong Apis
Change the pingpong read and write Apis to accept address,
inorder to support multiple pingpongs accessibility
via same mixer

Change-Id: Ia21ee21fbb8d4334d6cdc8b7b659f6f263222a69
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
2016-03-23 20:29:48 -07:00
Shivaraj Shetty
09e198ab62 msm: mdss: Add support to enable esd check through dtsi entry
Add support to enable or disable esd check through panel dtsi
entry. This will help in enabling the feature only for those
panels which support BTA.

Change-Id: I4ef85bb2e78b133dd9577ac3d6788e46b34fe761
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
[cip@codeaurora.org: Resolved new Makefile location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:29:47 -07:00
Aravind Venkateswaran
57cc7b9c67 msm: mdss: fix potential deadlock with ulps work thread
Do not check if the clocks are on when sending the ULPS event from
the worker thread. This check is not needed since the work is only
scheduled after the clocks are turned off and would be cancelled
anyway when the clocks are turned on if it is pending. Removing this
unnecessary check avoids acquiring a shared lock which can potentially
lead to a deadlock.

Change-Id: Ib9760221f044dded50a38a32b59d0158c2f6b50e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:47 -07:00
Aravind Venkateswaran
58e6d3f6c9 mdss: mdp: do not send panel events for idle power collapse
When mdss idle power collapse is enabled, panel suspend and resume
events should not be sent to ensure that panel drivers remain active.

Change-Id: Ifbcdee69432cbd0d30f16c86af9c126d9443e269
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:46 -07:00
Aravind Venkateswaran
d4be657cb8 msm: mdss: add support to enable idle power collapse
Add support for a new configuration entry to enable mdss power
collapse for idle screen use-cases, when a command mode interface is
active. Currently idle power collapse happens only if the Ultra-Low
Power State feature of the DSI controller is enabled. Adding a separate
configuration entry provides the flexibility to enable this feature
independent of the state of the DSI controller.

Change-Id: I4732a95a9f3d0db3e7ecc96a36414349ac6b5604
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:45 -07:00
Aravind Venkateswaran
e34e985389 msm: mdss: dsi: Add ULPS mode support for dual dsi configuration
For dual dsi panels with broadcast mode enabled, the two dsi
controllers work in a master-slave configuration. Add support for
enabling ultra low power state (ULPS) mode in this use case.

Change-Id: I9e4383ca60174d6ffa599ce6caa47676a5eea216
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:44 -07:00
Aravind Venkateswaran
31ed8dc3af ARM: dts: msm: add mdss gdsc supply to dsi controller device
It is possible for the DSI controller to be active when MDP is
power collapsed. DSI controller needs to have it's own vote for
mdss gdsc to ensure that gdsc remains on in such cases.

Change-Id: I37f98c6e4f6d30908373b812fc50e29ba001b752
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:43 -07:00
Aravind Venkateswaran
939991ddb2 msm: mdss: Organize regulator supplies used by DSI controller
Regulator supplies in the DSI driver are used for two different
purposes. One set of regulators is used as a supply for the DSI
controller while another set is used to supply voltage to the
panel attached to the DSI controller. To support advanced power
saving features, it is required to be able to power down just the
DSI controller while keeping the panel on. To enable this,
organize the supplies into logical power modules.

Change-Id: I54f3ccba1c5ad1fe5c66e8700a012d22ab2684d6
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:29:42 -07:00
Jayant Shekhar
c6d38586a7 msm: mdss: Acquire shared lock after getting frame on wfd
Currently there is a deadlock when wfd and rotation is done
simultaneously and trying to acquire the shared lock. To
prevent this, acquire shared lock after rotated frame is
ready for wfd.

Change-Id: I3865f02c345ddadd985ee35134454a789936a79a
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:29:42 -07:00
Jeykumar Sankaran
5d518cef78 msm: mdss: Use generic data type for rect
Moves rect data type to a common header. Add helper macro
to compare rect values.

Change-Id: Icc499e11cac61463b9f279a7de0e71685cf706e8
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2016-03-23 20:29:41 -07:00
Shivaraj Shetty
04a5458143 msm: mdss: Protect iommu attach/detach with mutex for mdp3
In case of command mode panels we get iommu attach/detach call
from different threads. Hence protect the iommu attach/detach
operations with a mutex.

Change-Id: If18ecc18ffea3f8a88f48b91251523e8df29eda7
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:29:40 -07:00
Ujwal Patel
1901c2edb3 msm: mdss: fix sync fence deadlock when rotator is used
In the current implementation, whenever rotator play is called, it
forces DMA pipes to be released by calling commit on video mode ctl
paths if they are using DMA pipes. Here assumption was that DMA pipes
will either be used in block mode or line mode, all or none. But this
assumption is not valid any more where we can have a use-case where
DMA0 is used for rotator and DMA1 for video mode ctl path. In this
use-case, current implementation can lead to sync fence deadlock. Fix
this by removing obsolete assumption.

Change-Id: I2d1da9dca5d958257796d617db11d93631c98f27
CRs-Fixed: 656463
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:29:39 -07:00
Shivaraj Shetty
62cfc12845 msm: mdss: Cancel ESD workqueue whenever display off happens
Display can be turned off by using different ioctls. Make sure that
in all the cases ESD workqueue is cancelled.

CRs-Fixed: 626835
Change-Id: Id14992665e4a86941386a8269600d322c3500a70
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:29:38 -07:00
Sandeep Panda
b192b2158d msm: mdss: hdmi: Fix HDCP ddc clean up wait time
With existing implementation the check for ddc hardware
not ready always fails because of incorrect logic and
driver always waits for 2 seconds even if there is no
pending hardware ddc transaction. Fix this by waiting
only for the time ddc transactions are underway.

Change-Id: Ic8396200d5d078d604ba3b4414d41644b455c103
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-03-23 20:29:37 -07:00
Manoj Rao
ff2167526c mdss: pp: fix incorrect base addr len in csc setup
As a part of VG pipe setup the post-proc driver
constructs the color space conversion table. This involves
programming the hardware using values from a static CSC
conversion table in the driver. Since MMSS blocks remain 32-bit
addressable the iterator for hardware registers used in
post-proc driver should move ahead in
increments of 32-bit to program these values into mdss-pp
registers and not the width of a pointer in memory.
Use 32-bit to fix incorrect CSC programming of the hardware.

CRs-Fixed: 642481
Change-Id: I49b4b008c1ebb1a8032603fe2f16b1fe893d91ff
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
2016-03-23 20:29:36 -07:00
Sushil Chauhan
62a29d2870 msm: mdss: Clear the previous state of pipe during SOLID_FILL
Clear the previous state of pipe when it is being used in SOLID_FILL
operation to prevent wrong register configuration. For ex: Use case
when DMA pipe was used in BLOCK mode in previous frame, then it is
being used in LINE mode for SOLID_FILL operation in current frame.

CRs-Fixed: 655993
Change-Id: Ibe9ef6a819089d262ad7fa7b81773cc0c3d3d992
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
2016-03-23 20:29:35 -07:00
Manoj Rao
8253e93230 mdss: mdp: increase size of mdp image data length
MDP image structure's len member is currently 32-bit.
This field is incorrectly cast to unsigned long before
passing to ion APIs like ion_map_iommu that expect 64-bit
wide data. This can cause unexpected data overwrites.
Avoid such incorrect casts and declare the member
in mdp image structure to have 64-bit width.
Additionally, use appropriate format specifiers in print
statements for the new field type.

Change-Id: I5b60230d25db23f355372284a81ef7505b3e8488
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
2016-03-23 20:29:34 -07:00
Manoj Rao
95f8941890 mdss: compat: suppress unnecessary prints
Some overlay ioctls would fail in order to indicate that a user
request cannot be satisfied due to, say, resource constraints.
Such failures could depend on a particular target's
capabilities. In such cases, it is not fatal to return error.
Suppress printing such failures as errors.

Change-Id: I163d6c21055527a8d5f0adf09af0debc54e47751
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
2016-03-23 20:29:34 -07:00
Ajay Singh Parmar
3ad5d5a830 msm: mdss: hdmi: Fix 1080p 30Hz and 25Hz AVI InfoFrame data
Correct the AVI infoFrame data for 1080p 30Hz and 25Hz resolutions.

CRs-Fixed: 656725
Change-Id: I00cda5ab665639b4513a1571a97a6060a7a897a6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:29:33 -07:00
Terence Hampson
09dd38e93b mdss: mdp3: swap colors when performing csc from yuv2rgb
When ppp hw is performing csc from yuv to rgb there is a color
swap. In order to account for this we need to swap the unpack
and packing order.

Change-Id: I55df9a87300f3ce2c9bf5352725f3ce1d2b1b8a4
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:29:32 -07:00
Dhaval Patel
9cbe5da507 msm: mdss: send panic/roburst signal to bimc based on fill level
MDP hardware will send panic/roburst signal to bimc based
on fill level for all pipes connected to realtime interferfaces.
This allows bimc to priortize the MDP traffic across all bimc
ports, regardless of other clients' priority. This feature
is not for non-realtime clients like writeback.

Change-Id: Iafe891c6aefad905d482bd7aa54e00562698676e
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:29:31 -07:00
Vishnuvardhan Prodduturi
bff6074e0c msm: mdss: Fix writeback MISR for apq8084
Layer Mixer MISR register configuration has moved to upperpipe
MISR Block in apq8084. Address the same by properly taking
care of Register offsets.

Change-Id: I1c6612e833c17f0fa72f20b0bc7aa0c5a7e67228
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2016-03-23 20:29:30 -07:00
Dhaval Patel
6b26faccfa msm: mdss: add error check for iommu attach API
Iommu device attach api returns error code if it fails.
MDP driver will check this error code and fall back to
recovery path if device attach fails.

Change-Id: I2b9d2d3aa16bc814739e466e9fc5a2c51c7b2b4b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:29:29 -07:00
Terence Hampson
dbb88ca56b mdss: mdp: Fix check to identify if dsi short read
The short response can be <=2 bytes.

Change-Id: Iad322bc892ea29b2acf220ef579d18dea1a91c32
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:29:28 -07:00
Ajay Singh Parmar
bddf54c0d8 msm: mdss: hdmi: HDCP and Tx core power off sequence
Power off HDCP first before powering off timing generator and
Tx core to make sure last VSYNC is received before the HDMI
clocks are off and there are no side effects like snow screen
on HDCP.

Change-Id: I1c5e9761b77d559f42ce0a0982642dac6dd9f1d8
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:29:28 -07:00