display : change wormhole calculation for swap rect

In case of swap rect use case ,wormhole rect will
be same as  dirty rect (if has any blending)

Change-Id: Id2ee34d860207c440a033010460723fe964f7074
hwc: Set default idle timeout to 70ms

Set default idle timeout to 70ms (~4 cycles on 60fps panel + some extra)
from the earlier 2sec.
The GPU timeout is around 80ms after which it turns off its rail,
clock and bus vote. So having a draw cycle before that is beneficial

Change-Id: I03291a4b8fd0707839567987febe1c088e21c92d
hwc: RGB888 is considered as a VIDEO type

For mpq8092, RGB888 is the output video format, so need to make
it a video buffer type, so that VIG pipe gets allocated for
it. Another reason is that GPU cannot process RGB888, so marking
it as a VIDEO layer will ensure that it will get picked by MDP.

Change-Id: I5d1812a70f5e4d1fb7448d0a145a15c07c6fc188
libgralloc: Export header files - alloc_controller.h, memalloc.h

- Export header files alloc_controller.h, memalloc.h, gr.h to
    TARGET_OUT path

Change-Id: Ie8f3136eddd9c29ca5210e6d3122b22dada9face
h/q/d: Check for MDP upscale limitations

- Expose API to get maximum upscale value supported by MDP
- Check for MDP limitation before programming pipes

Change-Id: Id9faac54a7b3e393b6c4b60574e5e985b495bf59
hwc: Add support for Macro Tile feature

Macro tile is enabled only if all the conditions are met:
  1. GPU hardware should support Macro Tiling.
  2. MDSS hardware should support Macro Tiling.
  3. USAGE flags shouldnt contain GRALLOC_USAGE_SW_READ_OFTEN and
     GRALLOC_USAGE_SW_WRITE_OFTEN.
  4. RGB 16bit and 32bit formats.
  5. persist.hwc.macro_tile_enable flag should be enabled.

PRIV_FLAGS_TILE_RENDERED flag is added to indicate whether the layer
is rendered/composited in Macro Tiling or Linear format.

Change-Id: Ie3139839c84d76c5d1a2300f33910a09eb7336f4
h/q/d: Optimize layer rects on sourceCropf

This change optimizes layer dest rects  and updates its
corresponding source crop value on sourceCropf.

Change-Id: Ie921908aa23ae029d2cd3add61795f71a6e5294e
Merge "hwc: Add support for Macro Tile feature"
qdutils: Use HW revision from linux header if available

Currently HW revisions are maintained separately between kernel and
user-space. To optimize this there will be single place, exported
msm_mdp.h, where HW revisions will be maintained.

Change-Id: I815eb9bd32f17928356e58a38260cee69b019a8b
display: 64-bit cleanup for logs

Use PRId64 instead of %lld for printing long long types.

Change-Id: I7a89ff91fd592c439d701534245671c018b5ac99
Merge "hwc: Set default idle timeout to 70ms"
Merge "h/q/d: Check for MDP upscale limitations"
Merge "h/q/d: Optimize layer rects on sourceCropf"
Merge "qdutils: Use HW revision from linux header if available"
Merge "display : change wormhole calculation for swap rect"
h/q/d: Consider dropped layers while calculating FB z-order

While batching in partial mdp composition, calculate FB batch
z-order after dropping the z-order of dropped layers lying below.

Change-Id: I92752f67e797a834aae6a575af2f8fa42c9c0911
CRs-Fixed: 601614
Merge "hwc: RGB888 is considered as a VIDEO type"
hwc: disable MDP composition on Secondary display

- Do not use MDP composition on secondary disp when the primary
  is a high resolution panel.
- MDP would use decimation on secondary and on fall back it uses
  GPU, which could lead to quality mismatch

Change-Id: I4c92df89563de6c8387eaaaa5f450ad7cc09b647
hwc: Common Display HAL to support VDS & V4L2 WFD solutions

1. Define classes for VDS and V4L2 based WFD solutions.
2. Overload the functionalities for VDS and V4L2 WFD solutions.
3. Instantiate VDS object or V4L2 object during hwc init based on the
   property persist.hwc.enable_vds set by the user.
4. VDS solution is not verified as it requires some dependent changes.

Change-Id: I74bf944d532da138c850d4ec0c20b4a881489efa
hwc: Request RGB pipe only if layer needs scaling.

For high FB resolutions do not specify required
pipe type unless a specific pipe is needed. This
makes RGB pipe available for FB in GPU fallback
scenarios because of SMP failures.

Change-Id: Ib52029aa276b5736d46a48489d280e7f65de2eab