mdss: mdp: start vreg release index from PANEL_PM

Start vreg release index from PANEL_PM to avoid
release call with DSI_MAX_PM in error case. This
avoids crash in dsi_probe if panel node parsing fails.

Change-Id: I236f40851d41831fe37eea77aa83e2f4ce031a3b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
video: mdss: Fix control of batfet regulator

Change-Id: I4b88a83e3c7caf1c1f5c57005731a05d05c774c8
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>
msm: mdss: Configure TE GPIO using gpiomux framework

The TE GPIO needed on command mode panels has a gpio_func
value of 1. Acquiring resources of this gpio using gpio_request
API might configure this to a common gpio which has
gpio_func value equal to 0. Hence control this gpio using
the gpiomux framework.

Change-Id: I2e14ada484a6d20774030393ae6549f05ac1e8db
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm8974: Add TE gpio to gpiomux framework for Oppo boards

Change-Id: I12a91634a2aaf77c2b9cd0220c54e153280af15e
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>
video: mdss: Fix another unbalanced clock ctrl

Change-Id: Ia993ab7532197f94e400f34df989d7d576a11552
Revert "msm: vidc: reduce clk frquency before disable"

This reverts commit 3db8563bf15fcd1cda240d2f8c035766e7d941c8.
msm: vidc: Disable clock gating feature

Clock gating between inter frames when video hardware
is in IDLE state is not giving any power savings and
at the same time this feature is resulting in few
stability issues. So disabling clock gating feature.

Change-Id: I3d1d4521ec3ee2fbd25d80b33bd5c531a25d9034
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
msm: mdss: when fb splash logo enabled do not attach iommu

If fb splash logo is enabled pan display gets called with
continuous splash enabled. IOMMU attach should not be called
in such a case as this will lead to IOMMU page faults.

Change-Id: I59ac704c6fd77a7e731db0b544338cac3b8e8fe6
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
msm: mdss: Fix memory leaks in overlay kickoff

Add missing changes from the commit
398653b3734cd85ee1edd43acf0a11fc03014eb9. That commit is
not propagated properly to LNX.LA.3.6 branch and the
missing changes cause memory leaks during overlay kickoff
in scenarios where it is called without any data input
(i.e. during suspend/resume).

Change-Id: Ieed5bb614f0bd7d96c53fd7d24d4fddeaf2a03c4
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Revert "msm: mdss: handle get buffer failure gracefully"

 * It's possible in the split rotator case for the rotator to
   get queued with has_buf = 0, which results in solidfill being
   enabled on the pipe. This is leads to IOMMU page faults and
   writeback timeouts.
 * Fixes green screen when rotating video on dual-DSI, and 4K
   video rotation on single-DSI (split rotator).

This reverts commit e092ab6793d4c718a37da38f79bb9d79c92c22c8.

Change-Id: I6cd57bba4be77242c2e314a5c0452eae1f10b104