gralloc: Allow legacy devices to use PMEM for ADSP (camera).

Partially bring back PMEM support for legacy devices having proprietary camera
libraries stuck in PMEM. This change allows these devices to continue using
PMEM for the camera, and ION for everything else.

Change-Id: I1afbc7d137b3d49b2ab3e53917b16fd920ea140b
hwc: Blank and unblank primary on first boot

I made this commit to workaround a strange issue we faced on our Samsung Galaxy S Plus (GT-I9001)
after switching to ION and updated Adreno drivers (Vanilla drivers released on April 2013 by Qualcomm).

After completing the boot and before the first screen off, sometimes the boot splash screen appeared
during app transitions, instead of completely blank screen, for example when starting video playback,
while the first load of the keyboard... The problem happened on CM 10.2 and CM 11.0, not on CM 10.1.

I haven't found another solution at the moment, but probably we're missing something on kernel side (framebuffer driver).

Change-Id: I246858f216d58e2e96a1faf1afac60372f3ddcab
gralloc: Let gralloc_priv.h be overloaded by device trees

Adjustments to private_handle_t may be necessary for device-specific
blob compatibility, so don't enforce usage of the local header

Change-Id: I588ca59ed76b1a063a4b663ac2c98589865b7738
display: Add support for MDP 4.1

 * MDP 4.1 does not support the borderfill pipe and the baselayer logic
   should not be used.
 * Only use 3 pipes for MDP 4.1.

Change-Id: Ide542079902f35818300619f8eefd3d188342b5d
display: Fix support for MDP 4.1

 * MDP 4.1 still does not support the borderfill pipe, baselayer logic
   should not be used.

Change-Id: I587bdff4a03ced141e43819eea70cec1aedaeb7b
overlay: Bring back debug.mdpcomp.maxlayer

 * We're having underrun issues with 4-layer composition. It generally
   works, but when the system CPU ramps down and the device is mostly
   idle, underrun is happening.
 * Limiting to 3 layers solves the problem temporarily on these devices.
 * Readd the option so that the issue can be debugged without afflicting
   our current users with massive amounts of flickering.

Change-Id: I7ab7d013f65eaf12a3d21a91229dcaad6a815069
Merge "hwc: Blank and unblank primary on first boot" into qcom-4.4_2.7
Merge "gralloc: Let gralloc_priv.h be overloaded by device trees" into qcom-4.4_2.7
Merge "display: Add support for MDP 4.1" into qcom-4.4_2.7
Merge "display: Fix support for MDP 4.1" into qcom-4.4_2.7
Merge "overlay: Bring back debug.mdpcomp.maxlayer" into qcom-4.4_2.7
hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence.

Bug: 9319776
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
Signed-off-by: Iliyan Malchev <malchev@google.com>
Revert "hwc: Get the retire fence from the MDP driver"

This reverts commit 01e2d3b5b0672c0695041b16fa2ea2f4869d4706.