Commit graph

567417 commits

Author SHA1 Message Date
Siddhartha Agrawal
d84d76e2e3 msm: mdss: add support to featurize NULL packet insertion
For DSI6G v1.4.0 and above, DSI controller has support to insert
NULL packets in the middle of pixel data or DMA packets to avoid
HS-LP-HS transitions. Add support to featurize this based on DT
property.

Crs-Fixed: 880973
Change-Id: I36acfe6d27a1d750a5af12c3d136df473abb4598
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-03-23 20:45:29 -07:00
Siddhartha Agrawal
3c115aaa2f msm: mdss: add support for DSI NULL packet insertion
For DSI6G version 1.4.0 and above, for command mode use cases,
there is support in MDSS DSI to insert NULL packets automatically
between lines of a frame or High Speed DMA command burst to avoid
HS-LP-HS transitions in the middle of frame/DMA command transfer.
Add support for this in DSI driver.

Crs-Fixed: 880973
Change-Id: I468c2ea602d4c3efa0d8844c843840a15b631a3f
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-03-23 20:45:29 -07:00
Dhaval Patel
4fe4816a08 msm: mdss: fix race condition between dfps update and stop
Dynamic fps change and video interface stop works in two
different thread. It is possible that video interface move
to stop state when dynamic fps thread is in process of
updating the fps information on the same interface.

This change acquires the stop mutex lock and releases it
at the end.

Change-Id: I94d279ea53acb7daa7b042829c0e31df758a6782
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:28 -07:00
Dhaval Patel
821f93981e msm: mdss: fix initial mixer reserve logic for WB path
Commit a5f4c89e2774c070350039e3a9d9349908475a7c ("msm:
mdss: select mixer respective to ctl path for wb") tries
to reserve the initial mixer path for primary display
and use rest of the path for external and WB display.
It does not decrease the number of available mixers
after updating the mixer pool. This leads to invalid
memory access when all available mixers are in use.

Ideally, it should check the number of available dspp
which are reserved for primary display while allocating
the mixer for writeback path.

Change-Id: Ib97291d907dc8261005bca3cd947fd907f90d773
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:27 -07:00
Ingrid Gallardo
b76838b44e msm: mdss: fix race conditions when enabling mdp clocks
During the early wakeup event for command mode panels
the enable of power, clocks and restore of the
controllers status happen in a different thread
context. This can cause a race condition with
multiple threads that also try to enable the power
resources and assume that the status of the
controllers has been restored.
Prevent race condition for multiple threads trying
to enable the resources, by making sure that the
complete power on, clocks and restore of the
controllers happen before return from the first
call to enable the clocks. This fixes random ping pong
timeouts observed due above described race conditions.

Change-Id: Ie3607797994a5d4f533c4d4838718b0229e32dc6
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:45:26 -07:00
Ingrid Gallardo
a16cf3827e msm: mdss: fix deadlock during early wake up
Resource control lock mutex should not be held while
driver is waiting for the power work items to finish
since this can result in a deadlock.
Fix this by moving the mutex to only the area that
needs to be protected.

Change-Id: I91c440845a379a1e141178b043ad7adb33989ef2
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:45:25 -07:00
Vinu Deokaran
ba55276d8c msm: mdss: mdp: fix to prevent early wake up if panel is off
Current code request the power transition during the
early wake up event even if the panel is off.
This is can cause problems due ctl is not valid at this
time or in some other race conditions it prevents the
bandwidth requests. This fix prevents that early wake up
is called during power off, fixing the null pointer
dereferences and mdp busy timouts errors.

Change-Id: Idc51d02aa34d794a38f6e3a82ae80d5afa3d58f4
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:45:24 -07:00
Veera Sundaram Sankaran
94c0a0e5ca msm: mdss: send fb events for both pdata for split DSI cases
FB events are sent only for first pdata and not for the next
in split DSI cases. This is handled within each event separately.
Fix the event handler to send events for both pdata separately
in split DSI cases and avoid handling it within individual events.

Change-Id: I70edc88f0958af3a807eecf0211dc2d8cd26301c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:23 -07:00
Siddhartha Agrawal
0ff3b56b25 msm: dsi: fix dsi clock errors if ulps is disabled
Correctly setup the proper return value in case the ulps feature
is disabled. If the ulps is disabled, the dsi clock functions return
an error causing a bootup failure.

Change-Id: I2650957a5d955f66b31bc1c5f373c146efc5c23b
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-03-23 20:45:22 -07:00
Casey Piper
70199126ff msm: mdss: add HDCP 2.2 driver support for encryption level
When an application requests a particular minimum
HDCP encryption level, the kernel exposes an API
that informs the HDCP library of this change.
Add support for this API call.

Change-Id: I508a08f946c8d36a2567f3e7fba2e5b01e992e31
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:45:21 -07:00
Ajay Singh Parmar
746fd7db83 msm: mdss: hdmi: add support to dynamically add new resolutions
Add sysfs node to allow adding new resolution to the resolutions
database and let the system configure to that resolution.

Change-Id: I881be3cf9a441502e25c7501ea5d5cf456f2f58e
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:45:21 -07:00
Dhaval Patel
559d29938b mdss: mdp: fix linear format validation during perf check
Fix linear format validation check during perf check
which happens during atomic validation stage. Current
invalid check may lead to perf validation failure and
switch to GPU composition.

Change-Id: Ie1782de2f770de9e10e9b25ad1914405402c2f5d
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:20 -07:00
Dhaval Patel
4c8199537e msm: mdss: attach iommu dynamically for video mode panel
MDSS driver supports iommu dynamic attach only when splash
thread is enabled. Client might want to attach the iommu
dynamically without using splash thread to avoid blink for
video mode panel. That is possible by doing 1-to-1 memory
mapping before iommu attach and splash memory late release.
This change supports the dynamic memory mapping to avoid
splash thread. Release the splash memory in first commit
instead of first suspend resume.

CRs-fixed: 755804
Change-Id: I7dcb415644a54a4b80f700c4d0914511a5685830
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:45:19 -07:00
Dhaval Patel
b5d7349b2f mdss: mdp: configure secure flag for writeback block
Writeback block needs secure destination flag configured
while it is writing content protected buffer. This change
updates the flag at validate time to keep reusing the same
path for secure and non secure display.

Change-Id: Ia58276b472429731cfc23158db105a6ae0d041be
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:18 -07:00
Veera Sundaram Sankaran
0eeed3ad08 msm: mdss: fix split_lm flag setting for HDMI usecases
HDMI 4k uses dual layer mixer controlled by a single controller,
but fails to set the split_lm flag appropriately. This leads to
false comparisons in few usecases. Set the split_lm flag, and
the associated structures appropriately for different HDMI
configurations.

Change-Id: I7a294bc0ad7a45b92b6aceebbd6efa9d5f09a8ca
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:17 -07:00
Casey Piper
63e88a36a2 msm: mdss: hdmi: unload HDCP 2.2 TZ app when resetting
Whenever we disconnect HDMI or are performing a
reauthentication of HDCP 2.2, unload the HDCP
2.2 TZ app so the state of the app is completely
reset.

Change-Id: I4696c373b027e38eaa95a345c65a61c1d7f1bd2d
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:45:16 -07:00
Sandeep Panda
bed2a7d69d msm: mdss: reset DSI LANE control register during initialization
Sometimes during suspend due to some shared regulator, if DSI PHY
was not turned off properly, then DSI LANE control register might
store some stale values during resume and this might cause side
effects on panel during initialization sequence. So reset the DSI
lane control register during DSI host initialization.

Change-Id: Ib87281cc1346d88a83e7e26f7dc4951a0798276b
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2016-03-23 20:45:15 -07:00
Chandan Uddaraju
6f6cd7047d msm: mdss: dsi: fix NULL pointer access while changing resolution
During "adb shell stop/start", CTL structure gets destroyed.
Add check for CTL pointer before trying to change resolution. Remove
additional frame rate and clock rate parsing since it already done
while parsing the timing settings. Initialize timing structure
entries to zero before updating the structure.

CRs-fixed: 873962
Change-Id: Iebb2168eef0e002b98afa46b510b028f8ea183b1
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-03-23 20:45:14 -07:00
Adrian Salido-Moreno
75d078493d msm: mdss: dsi: fix configuration issues during resolution switch
The below configuration settings are needed for panel
resolution switch to work properly:
* Use DSI FIFO for DCS switch commands.
* Reconfigure DSI stream ctrl with new resolution
* Use the correct structure for tearcheck configuration.

CRs-fixed: 873962
Change-Id: I65ca10c2adad21637f8414784986aa15026fd774
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
[veeras@codeaurora.org: Resolve conflicts in mdss_dsi_panel.c,
 mdss_dsi.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:14 -07:00
Padmanabhan Komanduru
31a2037764 msm: mdss: add support for DMA TPG for sending panel commands
Currently, the DSI controller fetches DMA commands through the
MDP VBIF interface. The DMA data is fetched from memory only
when software triggers command DMA. The latency might be long
between fetches. A FIFO is present in the DSI controller to
bypass the VBIF interface from DSI rev 1.3.0. The user can
pre-fill the DMA data in the FIFO via the AHB bus before
triggering the command DMA operation. Add support for this.

CRs-fixed: 873962
Change-Id: Ieff7575fa4483c87e3b3665149f313828d9b09a7
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
[veeras@codeaurora.org: Resolve conflicts in mdss_dsi_host.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:13 -07:00
Ajay Singh Parmar
abb3de03bd msm: mdss: hdmi: fix 4k resolution parsing
Fix the parsing logic for extended tag Y420 VDB (Vendor Data Block)
4K resolutions by correctly checking the offset of resolution ids.

Change-Id: I59f9a7be47ac3634b0df6936051236ff22247116
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:45:12 -07:00
Sushil Chauhan
77c4293e55 msm: mdss: Fix the fetch order of RGB_565_UBWC format
The fetch order of MDP_RGB_565_UBWC format should be RGB.

Change-Id: Ifc58e4c04598fd3046943d7444f067d9f7476a42
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
2016-03-23 20:45:11 -07:00
Ujwal Patel
df5c12bfaa msm: mdss: debug: add additional debug bus probe points for 8996
Add additional debug bus probe points for 8996 to aid in the critical
debugging involving MDP related crashes.

Change-Id: I6e72062d7bc5fc25e44358363326e3192705511b
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:45:10 -07:00
Krishna Chaitanya Devarakonda
b9bb2471fa msm: mdss: double check WB done status
There are cases when WB done might be set in MDP HW but the irq
trigger is delayed. Add an additional check in case of WB timeout,
to check if the WB done is set.

Change-Id: I1cdb2c85157d4c66718deae8e49778b9f3962f5d
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:45:09 -07:00
Veera Sundaram Sankaran
bb01a30200 msm: mdss: allow get_metadata when the panel is in suspend mode
There are scenarios when HAL retrieves information through get_metadata
when the panel is in suspend mode. Allow the get_metadata ioctl to
go through, even when the panel is in suspend state.

CRs-fixed: 873962
Change-Id: I8d8bd14134f73cb3628e016668e766b818b8d89e
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:08 -07:00
Padmanabhan Komanduru
5760ffaa49 msm: mdss: avoid check for MDP line count during fps update
On latest MDP revisions where there is support for double
buffering of timing generator registers, it is not needed to
check for MDP line count while updating the fps. Add check for
this.

Change-Id: I4b722fb53f856f289e145d0369f1823ff215ab06
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:45:07 -07:00
Veera Sundaram Sankaran
3fdd8450ea msm: mdss: fix error checking for dma_map_sg_lazy
dma_map_sg_lazy returns the nents value, ie the number of entries in
sglist which is passed on success. Error checking should be done based
on nents value and not on non-zero return value.

Change-Id: I341990fcd4eb123306fb8d1c3b08be85f0b7764b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:07 -07:00
Adrian Salido-Moreno
e07af1b53a msm: mdss: dsi: add support for multiple panel timing settings
Some DSI panels support more than one resolution or panel timing.
Add support to parse and configure different panel timing settings
and ability to switch between them dynamically if possible.

CRs-fixed: 873962
Change-Id: I532587eaa763499c9d51909937339093cd74a8cf
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
[veeras@codeaurora.org: Resolve merge conflicts in mdss-dsi-panel.txt,
 mdss_dsi.c, mdss_dsi_host.c, mdss_dsi_panel.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:06 -07:00
Adrian Salido-Moreno
649c91d1cd msm: mdss: add support dynamic resolution switch
Provide support for panel drivers to expose multiple panel timings
supported and expose this through existing fb sysfs mode nodes.
When switching between resolutions allow seamless transition between the
modes.

CRs-fixed: 873962
Change-Id: Iad660a47ea0a63ca0d2332339727b8fcd005dac6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
[veeras@codeaurora.org: Resolve merge conflicts in few files]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:05 -07:00
Adrian Salido-Moreno
3344a14fd2 msm: mdss: restructure tearcheck config
Since we have a separate function for tear check enable.
Tearcheck config with enable flag is not required, and
redundant. Remove enable flag and improper usage of
the function.

CRs-fixed: 873962
Change-Id: I0835f858cc63a41e01a669069677322da408f245
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:45:04 -07:00
Siddhartha Agrawal
5705a14f1d msm: mdss: Power collapse mdss vbif before going to suspend
Correctly collapse the mdss vbif ports before going to suspend mode.
The vbif will be active only after the mdss gdsc is turned on.

Change-Id: Ic8c8898f603dc14400fe7aacd3c155523104b144
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-03-23 20:45:03 -07:00
Dhaval Patel
f73a4100e4 msm: mdss: dump vbif debug bus information in ram
New test points in vbif debug bus floods the log buffer
with print messages. This overwrites the necessary logs from
ring  buffer. This change dumps vbif debug bus information only
in ram by default. User can update the setting from debugfs
if print messages are intended.

Change-Id: I745c8e9c67a946f73a012095cf080d1161e453e7
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:02 -07:00
Dhaval Patel
4da05c3ace msm: mdss: update xin client test points for rt/nrt vbif
Update xin client test points on debug bus for rt and
nrt vbif based on updated programming recommendation.

Change-Id: I152b485d45bd610fe281c1c81a1efe73949abe5d
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:01 -07:00
Ray Zhang
0fab446349 msm: mdss: remove duplicated aquiring of cmd_mutex
It is incorrect to acquire the same mutex twice in case of
ESD read check because this mutex will be acquired in nested
function, so remove it in order to avoid dead lock.

Change-Id: I48c18195e0ac30b271bfc041a99547049ee6b04a
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-03-23 20:45:00 -07:00
Clarence Ip
66fe527ab2 mdss: mdp: add debugfs node for danger/safe on mdss
Add debugfs node to get the danger/safe status of mdp
and source pipes on MDSS.

Change-Id: I0c93d42b144cda932d80ba18221ae814bed3d3d4
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:44:59 -07:00
Jeevan Shriram
9f9928018f msm: mdss: clear the pipe's dirty flag after sspp configuration
In the current implementation, pipe's dirty flag is not cleared when
there is pipe reuse. This change clears the pipe's dirty flag if the
pipe is being reused with no configuration changes but only buffer
handle.

CRs-Fixed: 884773
Change-Id: I8d62e944110cd887f341dd8b33a642a679473ff7
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:44:59 -07:00
Ping Li
ed00b9f284 msm: mdss: Change PP loggings from warning to debug
Some of the post-processing features might not be available for
external displays. PP driver was printing them as pr_warn which
floods the kernel logs. This change updates these logs from
warning to debug to remove unnecessary logging.

Change-Id: Ic1dde42ccc84e13f06db33ddbf679a211726ff80
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:44:58 -07:00
Anusha Koduru
97746a102c msm: mdss: specify HFlip and VFlip per pipe BW limit
Apply per pipe BW limit check based on HFlip/VFlip. Some
targets have different limits for BW based on usecase.

Change-Id: Ie23dba396b47ffb3fb910e746e4a992fe6d78ab9
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:44:57 -07:00
Dhaval Patel
0bbece9015 msm: mdss: capture vbif dump with mdss dump when panic happen
Capture real time vbif and non-real time vbif dump with mdss
dump when mdp related fatal error occur.

Change-Id: Ia44402a0272938862569d1ed43871e6ecca17965
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:44:56 -07:00
Jeevan Shriram
2a6a83e5be msm: mdss: fix the input layer and layer list array index
In the current implementation, wrong memory is being referenced while
copying to user. Correct the input layer and layer list array index
to avoid invalid memory access.

CRs-Fixed: 882379
Change-Id: I47790d1c5419c099ce32727c28e5e6e7e742f18f
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:44:55 -07:00
Clarence Ip
07c71c6ce4 msm: mdss: use usleep_range instead of msleep in mdss util
msleep API runs in atomic context and can add extra delay
after sleep timeout. This can add extra delays for panel
regulator turn on/off sequence which affects device
suspend/resume timing. Moving to usleep_range enables the
delay backed by hrtimers.

Change-Id: Id9e50ab02c0166de41316eeb948e93cdce432e15
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:44:54 -07:00
Jie Cheng
5214f4a020 msm: mdss: Add check for enabled regulators to avoid delays
If the regulator is already enabled, driver doesn't need to
wait till post on delay is complete. This change fixes to avoid
delays during regulator enable.

Change-Id: If7c7d1f2895abaa12b94e9f5c78ba61f28b87758
Signed-off-by: Jie Cheng <rockiec@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:44:53 -07:00
Murali Nalajala
8529082f3e qcom: msm: event-timer: Add eventimer migration framework
Currently, all the event timers are associated to CPU0. These event
timers are not bind to any of the IRQs and always handled(hrtimer)
by CPU0. This event timers framework make sure event timers are
bound to clients IRQs and when the IRQ affinity has changed event
timer framework will make sure to move associated event timer to
a new CPU based on IRQ affinity.

CRs-fixed: 719258
Change-Id: Idbce3d5195655f558f74c208216f75515d235b8e
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
[cip@codeaurora.org: Remove drivers/soc/qcom/event_timer.c changes]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:44:53 -07:00
Terence Hampson
9d031f920e msm: mdss: rotator: make work queue high priority
Janks in display are occurring due to delayed scheduling of rotator
work. Making it high priority would prevent such occurrences.

Change-Id: I85a7e4ca46596cfad56b29256ede30f1a13f0123
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:44:52 -07:00
Dhaval Patel
d255172b31 msm: mdss: add vbif debug bus support in xlog
VBIF debug bus test points provides the ARB/XIN
client status. These test points information is
required when MDSS core has requested some transaction
but they are not returning back. This change adds
the support for common code dump/log the test points
and adds the offset for msm8996 configuration.

Change-Id: I376a9e50aaaedb170bf4904551450206a85e4a1c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:44:51 -07:00
Adrian Salido-Moreno
f3e3ad8414 msm: mdss: fb: remove check for allocated during resolution switch
While switching resolution the fb memory requirement may increase and
the current memory may not be able to support the new resolution.
However since we can still go through overlay path, this requirement
shouldn't be mandatory. Allow it to go through, there are enough
checks during mmap to fail if trying to use this memory.

Change-Id: I76aafecd568763c456ea75234582b8a7aa9f83f4
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:44:50 -07:00
Adrian Salido-Moreno
b6a3665201 msm: mdss: fix concurrency between add vsync handler and stop
If command mode interface is being stopped, adding vsync handler can
cause the clocks to go on and cause improper state after.
There are checks for panel off inside add_vsync_handler however, there
needs to be synchronization while the stop is in progress.

Change-Id: I99bfca53a18bc818eecc94007357abdf4a251e50
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:44:49 -07:00
Benet Clark
f7b772197d msm: mdss: fix six zone saturation mask
The mask for setting the six zone LUT is incorrect. This
change fixes the mask to make sure all data is written to
the hardware.

Change-Id: Ic8cb82cbf9d34d857c71c03decc8b64f3a3e9699
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:44:48 -07:00
Terence Hampson
f9a9be7536 msm: mdss: rotator: validate if output format is ubwc
Use the output format instead of the input format when validating X
and Y offset

Change-Id: I0a41c5f2d3f17b720da35cecb8d5c1def76b2d0c
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:44:47 -07:00
Benet Clark
ff7d7d67d9 msm: mdss: Prevent mixer GC programming if it is currently enabled
The layer mixer GC hardware is meant to be programmed and enabled only
once. In cases where we want to reprogram the values in the hardware,
there is the possibility of corruption. This change forces the mixer
setup to skip GC programming if it is currently enabled. The user
should disable the feature before enabling it with different values.

Change-Id: I3c049d87a230be6f65ffa354099a2f1f1096f78b
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:44:47 -07:00