msm: mdss: Block postprocessing updates during DTM

When calibration tool requests the fb driver to enter in
Display Tuning Mode (DTM), PostProcessing blocks should
not update the HSIC, Memory color, Six Zone colors, etc.
Updating them during DTM conflicts the update from
calibration tool.

Change-Id: I11fcac57a651581d85e771911f83b2fdd9c3c681
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
msm: mdss: Support six zone and memory color access

Allow display calibration tool to access six zone and
memory color area on MDSS hardware for 8084 target.

Change-Id: I6c5e180448dc0218bdf6e552a12ced8914316c60
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
msm: mdss: allow histogram stop operation while display is off

After the display is off, the user space can still call histogram
stop operation.

Change-Id: I5c28b3e7e0529319de9d22ca49bdd606994cf7fd
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
mdp3: Enable sw vsync when dma is not active

Recently in an attempt to enhance sync event reporting we
prevented sw vsync when dma is turned of from toggleing display
off and on.

Change-Id: I71c9be55d36dc92e513d9f5ead4d1e42157285c6
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
msm: mhl: sii8334: handle MHL discovery failure cases

Reset mhl mode on disconnect and suspend to avoid discovery wait
timeout in case connect interrupt is received before start of wait.

Free IRQ on suspend and reconfigure in discovery to avoid unnecessary
wakups and suspends during PM shutdown.

Notify USB in case discovery is failed and on suspend to take over
the control.

CRs-Fixed: 579997
Change-Id: If0747b067d53563c3eb380e80be1254d38b140d6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
msm: mdss: Returning NOTIFY_SUSPEND while polling NOTIFY_UPDATE

mdss_fb_update_notify does not return Suspend in NOTIFY_UPDATE
case. Daemon polls on NOTIFY_UPDATE but does not get Suspend
notification. Hence Daemon would not stop polling.

Suspend Case is added in UPDATE case.

Change-Id: Iaeaf819a6849acda2eb7eb78f0fc3306866d1b64
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
msm: mdss: add DSI video test pattern generator API

Add DSI video mode test pattern generator API support
to use it whenever necessary.

Change-Id: I4bcbfc592bf77fd57ab55ccabd582478e1522acc
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm: mdss: Fix ARGC error when writing LUT to registers

When updating the ARGC LUT registers, the data is incorrectly written
such that the arrays are off by one index. This patch fixes that error
by starting from the correct index.

Also, when the READ flag is enabled for ARGC, the dirty flag is no longer
set.

Change-Id: I7e8e19c51d5891cd11344a425f1a8ac47d57368c
Signed-off-by: Benet Clark <benetc@codeaurora.org>
msm: mdss: Set correct flush bit for writeback mixer.

Wrong flush bit is being set for writeback mixer which can cause
MDP hang/unexpected behaviour when the mixer is used in line mode.
This patch addresses the issue by setting the correct flush bit.

Change-Id: Ie0c2ee27b1f466164a8fb84f7daae9309b74d1d8
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
mdss: Avoid panel ON commands during boot up for command mode

In command mode, when continuous splash is enabled, we do not
send the panel OFF commands through the SPLASH_BEGIN callback.
Avoid the SPLASH_FINISH callback also for command mode since
panel ON commands are not required to be sent. This avoids
unnecessary warnings during boot up.

Change-Id: Ifc249f259655045ecd799b57e1efb964238c504a
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm: mdss: support frame buffer allocation on 8x10

The pan display api is using the frame buffer allocated
from the display driver.  This change is to use the
splash screen memory as frame buffer.

Change-Id: I2560aa644c92145658ac4e873ba6d2e58c5f502a
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
msm: mdss: increase height constraints for panel resolution

MDP is able to support higher resolution and is only limited in height
by the MDP clock rate. There is already check in place for the MDP clock
requirement, however need to update phase step calculation to handle
proper overflow conditions for these higher resolution according to
hardware constraints based on potential overflow while scaling with some
phase steps. At the same time hardware is able to handle some conditions
that are currently failed, so enable these to allow more cases that can
go through MDP.

Change-Id: I4c5a569e115302f05db7c525c0f8a76ed1738521
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
msm: mdss: set the mdp core clock rate on 8x10

During the kernel initialization, we need to set
rate on the mdp core clock rate.  Otherwise, the
core clock rate is at its minimum, causing display
under-run on large panels.

Change-Id: Idcd69a758cbf3022f8ad6590b021f21dad5972b1
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
msm: mdss: Fix debugfs string overwrite

If more than one display paths are active, like split display or external
mirroring, and stat debugfs node is read then debug data for only one
display is shown. Fix this by using correct offsets.

Change-Id: Ia8b36eb3105f6df8f096ff544b82cc49c9b31a48
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
mdss: display: add edp frame rate

Add edp frame rate so that run time bus bandwidth requirement
can be calculated correctly.

Change-Id: I6ac147f35dd6d35aec9799d8f9e5c96e149d8161
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
mdss: display: add mdp core clock to edp control

Since mdss interrupts are generated in mdp core clock domain,
mdp clock need to be enabled along with edp clocks to have edp
interrupt be delivered to edp during edp probe.

Change-Id: Idad19dddfdc2aed9efda15b28b666ac0411dbbda
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>

Conflicts:
	drivers/video/msm/mdss/mdss_edp.c
	drivers/video/msm/mdss/msm_mdss_io_8974.c
msm: display: hdmi: vic search

When looking for vic code, get the one that can
match the basic timing if cannot get the one matches
all.

Change-Id: Id054b1c7586d2bfe420443d94c8d5750c96c64d8
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
msm: mdss: fix IGC access for calibration service

Fix IGC address range access on DSPP and SSPP pipes
for calibration service.

Change-Id: I5601f0da1088ea9c31d98e13d0cc5f9c7e33ce3b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
msm: mdss: clean up overlay resources properly when display is off

When display is turned off, the clocks are already turned off and
unprepared.  Earlier, when unsetting the overlay resource, we were
trying to re-enable the unprepared clocks.

Change-Id: I36e79e4a0bdbbe35f4474527a09a4da59cbec96c
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
mdp3: ppp: simplify ppp completion logic

This fixes issue where ppp would no longer process requests
claiming that ppp core is hung, when in fact ppp core was
not active at all.

Change-Id: I257858a61df5b3141d835ad6c6fff78c72bf7cbd
Signed-off-by: Terence Hampson <thampson@codeaurora.org>

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