msm: mdss: Parse clock levels from devicetree as optional item

No need to create unnecessary noise.
ARM: 7953/1: mm: ensure TLB invalidation is complete before enabling MMU

commit bae0ca2bc550d1ec6a118fb8f2696f18c4da3d8e upstream.

During __v{6,7}_setup, we invalidate the TLBs since we are about to
enable the MMU on return to head.S. Unfortunately, without a subsequent
dsb instruction, the invalidation is not guaranteed to have completed by
the time we write to the sctlr, potentially exposing us to junk/stale
translations cached in the TLB.

This patch reworks the init functions so that the dsb used to ensure
completion of cache/predictor maintenance is also used to ensure
completion of the TLB invalidation.

Reported-by: Albin Tonnerre <Albin.Tonnerre@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Conflicts:
	arch/arm/mm/proc-v7.S
iommu: msm: Only remove bus vote on error

The bus vote client should only be removed on error and not
unconditionally. Change the code flow accordingly.

Change-Id: I28044f0f5ede2b66719e0d9f8d60dd0afa325bf9
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
iommu: msm: Add support for LPAE bfb settings

Certain IOMMUs have support for LPAE and when LPAE is enabled
in these IOMMUs a different set of bfb register settings must
be used to achieve optimal performance.

Change-Id: I093bc90518431c6a9a7343e9062f90d8f5e04aeb
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
msm: mdss: Turn on footswitch on when stopping overlay

We must make sure footswitch is on when overly is stopped.
msm: mdss: Allow display commit in DCM state for CMD panels

Allow display commit in DCM state for command mode panels. QDCM
tool requires explicit display kickoff during the calibration
stage in which the panel power is turned off.

Change-Id: Id6c7a0becf488ad2bfe9652b05d781384109f5c4
Signed-off-by: Zohaib Alam <zalam@codeaurora.org>
mdss: display: support dcs read with length more than 8 bytes

Add multiple reads per transaction to support dcs read with length
more than 8 bytes.

CRs-Fixed: 525839
Change-Id: I06afa826f941f88c3fe6e2f799c10d12e01708fb
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
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>
msm: mdss: enable MRPS command for short read commands

Currently, we specify the size of payload that the panel needs
to send back via the MRPS command only for DCS/Generic long
read commands. Enable the MRPS command to be sent for short
commands also based on the return length of the payload expected.

Change-Id: I634a8e5d12a8ea8d0a8118f360aef27610b21c9c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
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>