hwc: Add support for Secure display

- Identify secure display layer in the hwc_list
- Need to set both SECURE_OVERLAY and SECURE_DISPLAY flags for the secure
  display layer
- Disable idle timeout for secure display usecase, as GPU should not be
  accessing secure display layer

Change-Id: I555910db77c466b5e103b24b4f0ec7f47bb210a5

Conflicts:
	libhwcomposer/hwc_utils.h
gralloc: Fix caching for rarely read/write flags

GRALLOC_USAGE_SW_WRITE_RARELY and GRALLOC_USAGE_SW_READ_RARELY
need to be compared directly since they share bits with
GRALLOC_USAGE_SW_WRITE_OFTEN and GRALLOC_USAGE_SW_READ_OFTEN.

CRs-fixed: 569559

Change-Id: I52692027033e1036e3ad960b9e03dd8ee60b4111
Merge "hwc: Add support for Secure display"
Avoid ov set failures in rapid wfd pause/resume

* Avoid overlay set failures on receiving rapid wfd
pause/resume events.

* Go for videoOnlyComposition when isConfiguring is
set for external/virtual display and secure video
playback is happening instead of falling back to GPU
for composition.

* When external/virtual display is in pause state
and secure playback is happening, go for
videoOnlyComposition instead of full/partial MDP
compostion since the pipes connected to external mixer
will take atleast two vsync cycles to get unset.

* When requesting for an overlay pipe from pipebook,
give preference to the pipe which has already been
allocated to the required LayerMixer in the previous
round.

* Sometimes displayhal receives consecutive wfd-pauses
or wfd-resumes. Add a sanity check to avoid handling
unnecessary wfd pause/resume

Change-Id: Ie0cc835d921f303e1c731c70ae066c375052e5f9
hwc: remove unblanking fb from openframebufferdevice

- unblaking fb is done as part of surface flinger initialization
  so its not required here

Change-Id: Ifaed119503c74b5a75ffd6694d3508c4c15dfb60
Merge "hwc: remove unblanking fb from openframebufferdevice"
Merge "gralloc: Fix caching for rarely read/write flags"
Merge "Avoid ov set failures in rapid wfd pause/resume"
hwcomposer : Fix copybit render buffer fence usage.

Fixing array size to hold fence fd to count of render
buffers used in copybit, and use it to store
fence of corresponding render buffer at the index.

Change-Id: Ic5e7f264c2a81ded2a0f61ef138e59a093b0023a

Conflicts:
	libhwcomposer/hwc_copybit.cpp
Initial msm8x64 memory tracker HAL

Reads memory info from kgsl to track unaccounted for GL and ION
memory.  Right now it has to parse every allocation and then
cross-reference it against /proc/pid/smaps.  It would be faster
to modify the kgsl driver to keep counters that could just be
read directly.

Bug: 10294768
Change-Id: Icb17558f03ce53bc594fbee097e51fe82e15dc31
libmemtrack: Add correct target information

- Add correct target information to make file
- Remove incorrect target names in the src files
- replace sprintf(banned api) with snprintf

Change-Id: I846ff3d5dcc5acc843c2c83506deafadd30b4942
Merge "Initial msm8x64 memory tracker HAL"
Merge "libmemtrack: Add correct target information"
libgralloc: correct assigment of HAL_PIXEL_FORMAT_RGBA_8888

- assign correct gralloc format when format is
  HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED and usage is
  GRALLOC_USAGE_HW_COMPOSER.

Change-Id: I741504d54694ac061ecd6c870cb8f815cc61ab24
CRs-Fixed: 583142
Merge "libgralloc: correct assigment of HAL_PIXEL_FORMAT_RGBA_8888"
Merge branch 'kk_2.7_rb1.13' of git://codeaurora.org/platform/hardware/qcom/display into cm-11.0
hwc: Do not use fb handle in hwc_prepare

Do not use fb handle in prepare. Use displayFrame for dimensions,
align them and hardcode format

Change-Id: I5c494a74a807d3a52a1c88257494b58c583700f5

Conflicts:
	libhwcomposer/hwc.cpp
	libhwcomposer/hwc_fbupdate.cpp
	libhwcomposer/hwc_fbupdate.h
Merge "hwc: Do not use fb handle in hwc_prepare"
libcopybit: do not use GNU old-style field designators

Summary: Not using a GNU extension improves portability

Test Plan: verfied

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D660
libgralloc & libhwcomposer: do not use GNU old-style field designators

Summary:
Avoiding the use of gnu extensions improves code portability.
Somehow I had this locally, then missed it on my first pass of this repo.

Test Plan: verified.

Reviewers: synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D13