copybit: Fix type conversion error for GCC 4.7

    GCC 4.7 has stricter type conversion rules in copybit.cpp

Change-Id: I7f8572e2d9416ccb2ba17e707c7f75a2e69d69cf
hwc: For FB target check RGB pipe availability before VG pipe

If RGB pipe is available then it should be allocated before
allocating VG pipe for FB target.

Change-Id: I0c1f0fd08a7779eb077e9e9c1809bdbcaff2227c
hwc: Disable mdp comp if mDownscaleMode is set for external

If mDownscaleMode is on then scaling will be done. Sending a RGB
layer with alpha to VG pipe can cause composition issues.

Change-Id: I215a5d7360fe741124e809be0b66c328c943d7dc
overlay: Allocate from MM heap as a fallback

 * Not all devices support IOMMU yet, so use the MM heap as a fallback.
 * Enabled when NO_IOMMU is set

Change-Id: I9d9f3dffb92f5b4bf45422df0f66a40611943202
display: Cover NO_IOMMU for msm7x30/msm7x27a too

Change-Id: Ic68672f386a06fd0ac9fd1f18eec3188415a8642
hwc: rotator is not supported on msm7x27a

Change-Id: I26fe237831eb6fa41968d5eb6a75938e6dc53183
Revert "display: Video Encoding not working"

* "display: Video Encoding not working" was mismerged
  into another commit (de13ed01a21db7d6b46962729fa3f9ff3ef8c2cd)
  by upstream in kk_2.7 from kk_3.5
* The original commit has since been reverted in kk_3.5,
  this is a cherry-pick of that.

This reverts commit 0a1db6aef28c3b90d1f992f56abc562dbae10b55.
Video encoder uses the NV12 encodeable format again.

Change-Id: I1b5170a5c2b5c7de0791cc5bc44457257519f749