msm_fb: display: provision of mixer reset function

Mdp has hardware bug which cause fetch engine stalled if less than
3 pixels at begin or end of line be cropped into destination. Reset
mixer can fix this problem. However frame work can provide better
work around solution by falling back to gpu if the condition detected.
This patch will not reset mixer but provide mixer reset function in
case of mixer reset is need in future.

CRs-fixed: 443018
Change-Id: I38ee591f28bf1b81f4fbd58838281b43ba0a8498
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: Add support for multiple DCS commands in a single tx

This patch adds support to send multiple DCS commands in a
single transaction. This helps to reduce the latency caused by
separate tx for each DCS command. The turnaround time
caused by the wait for one DSI interrupt for each transaction
is reduced with this.

CRs-fixed: 453746
Change-Id: I5810b3819426f7df6ca9719a925a0e6906f7dace
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm_fb: display: add an extra write of 0 to clear dsi-ack-err bit

In addition to writing 1 to clear dsi-ack-err bit, an extra write of 0
is also need to clear error bit completely.

CRs-fixed: 478443
Change-Id: Id4c3e2a5a29534d65601999d3bbf9f30ebc73896
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: Avoid MDP mixer reset from ISR context

During DSI error interrupt handling, we currently try to do
MDP mixer reset. Avoid this since MDP clock control happens
in mixer reset which is not correct in ISR context. Schedule
a workqueue instead to call mixer reset as a separate thread.

CRs-fixed: 508882
Change-Id: Ie5471a01d79b4d8b67d8bb78647c407c35acae65
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm_fb: display: add panel's late_init

Some panels need to be initialized after panel is on.
Add late_init to support this feature.

CRs-fixed: 433011
Change-Id: I73c623d1fe52363f070af79ce4bf7774cd84689e
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: add early_off during panel off

Some panels need to send display_off command before
dsi controller turned off. This patch add early_off
feature for this purpose.

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