msm: mdss: compat ioctl for mdss overlay

Implement an entry point for compat ioctl in mdss overlay driver.
Overlay ioctls that require compat layer translation have been added here.
If the calling user process comes from a 32-bit world, then the compat
ioctl does an appropriate command conversion to keep the existing ioctl
implementation unchanged.  Add PP compat structures to include 32 bit
compatible versions of post-processing structures. This allows addition
of pp compat ioctl layer.

Change-Id: I732fcbc84151b813a02d3b4db20e858d4c51291e
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
Signed-off-by: Benet Clark <benetc@codeaurora.org>
msm: mdss: compat: get/put retire fence fd in buf sync ioctl

copy retire fence fd in the buf sync structure as a part of
buf sync compat ioctl implementation. This fd is an essential
part of the buf sync implementation that needs to be included
in the compat layer.

Change-Id: If60b5f9115ccb128bc7b56a735b06c31fa0e47f6
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm: mdss: add overlay prepare compat ioctl

Add compat layer for OVERLAY_PREPARE ioctl
implementation in MDSS driver. This allows
for 32-bit user process to call the prepare
ioctl in a 64-bit kernel.

Change-Id: I4effef4e43184b9eeb9054447d99ba9adb5f3857
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm: mdss: compat: avoid overrwriting err code from ioctl

When PREPARE OVERLAY ioctl returns an error code to indicate
reason for failure, the compat layer must not overwrite this error
code with those from compat functions. Userspace processes calling
overlay ioctls rely on error code from driver ioctls, not the error codes
from compat functions for some use cases Ex: falling back to mixed mode
composition on -E2BIG.
Fix this by propagating appropriate error code on failure.

Change-Id: Ib238437be58731724a445f90183511011a6e612c
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
mdss: compat: suppress unnecessary prints

Some overlay ioctls would fail in order to indicate that a user
request cannot be satisfied due to, say, resource constraints.
Such failures could depend on a particular target's
capabilities. In such cases, it is not fatal to return error.
Suppress printing such failures as errors.

Change-Id: I163d6c21055527a8d5f0adf09af0debc54e47751
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm: display: Add pipe type selection in overlay request

Allow user to specify the type when requesting an overlay pipe.
If field is set the pipe type indication in the flags will be
ignored.

Change-Id: Iee51d24b96c7a2a987dc70a439342e6548dfc8fa
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
trlte: Tell the world we need dual_dsi
msm: vidc: Send resolution along with output buffer

Send the resolution along with output buffer to the client
to avoid a race condition where resolution might be changed
multiple times in driver before client requests for updated
resolution.

Change-Id: I8ebb99e3baa04da09f153195a674babcebcfea78
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>