libcopybit: Build for 7x27A and 7x27 platforms

Change-Id: Ifc610b35f724294a7377824ce4e327fc957b587b
hwc: qbuf: Add API to unlock all

Add API to unlock all current and previous buffers.
This is essential in suspend cases.

CRs-fixed: 382332

(cherry picked from commit d24eb9e70480f89561108078f68cbbd9b20e4bb5)

Change-Id: I54fcded7cabc79d991d4b28a248867d860ec6b08
hwc/fb/overlay: wait for fbpost and pan display

Draw sequence in hwc_set
--eglSwapBuffers
--wait for fb_post. Its ok to draw to External only at this point.
--draw to external   | Parallel with PAN
--commit to external | Parallel with PAN
--wait for pan (happening in fb_post) to finish.

Call MSMFB_OVERLAY_SET ioctl only when params change.

These thing together ensure a correct sequence and should fix tearing and
stuttering, the latter assuming there are no other display pipeline delays.

Change-Id: Ibb0ad8485fa6b30dc6ac07ae8b25a760941c08ce
(cherry picked from commit c50c90863e41e31ecfe6963396b5def35e9dca34)
display : Fix Enable vsync for MDP3 targets

-Enable vsync for MDP3 targets
-With this change all targets except 8x55,
 have vsync enabled

Change-Id: Ic1856359a28c730948d7d74427f6802ed89cc1b1
libqdutils::Replace USE_MDP3 with getMDPVersion() method

Change-Id: Id602c8ab8d8ba140a379ba0e475c73806d17b527
libqdutils::Add support for qcomuiClearRegion

Add support for qcomuiClearRegion for draw
wormhole regions via CPU.

* Added separate singaltone class for getting
eglGetRenderBufferANDROID handle that can be
used by both copybit and clear_regions modules

CRs-Fixed: 383115

Change-Id: Ibeb5bdda87a60950889416e5b4d53e6eb5a3682e
liboverlay: Adjust values to align with MDP requirement

For YUV only:
Crop rectangle (src_rect) needs to be even for x/y and w/h
Destination dst_rect w/h need to be even (x/y can be odd).

Change-Id: Ib0c1b7d31773e71d60f080b4beacaa68e32a990e
hwcomposer: delay starting the uevent thread

- There is a race condition window between initializing hwcomposer as a
  whole and registering callback functions for when the uevents arrive. We
  can fix this issue by delaying the uevent thread kick off until the
  callback functions are registered.
- Add thread name to uevent thread

Change-Id: I30e23b411b92b6578f186b641f562462a8f23179
qdutils: Don't assume we support overlay without version info.

If we can't determine the version we shouldn't assume that overlay is
supported. If it is still needed there should be a config to force
overlay support.

Change-Id: Ic1000fdcd5ffefc517782eca605fc63b88f47602
Merge remote-tracking branch 'cm/jellybean' into jb-dev

Conflicts:
	libcopybit/Android.mk
	libtilerenderer/Android.mk
hwcomposer : Disable bypass, when connected to external display

disable bypass, when connected to external display

Change-Id: I57edc8fc1b9254b3c60c229aabb2515f320c9de4
display : Do not use copybit for composition when YUV layer is present.

Do not use copybit for composition when YUV layer is present only in
overlay targets & use copybit in non-overlay targets.

CRs-Fixed : 385992
Change-Id: I671bc5f37b924160e32e900207fb81634dee0929
(cherry picked from commit 1f05b5ef18723bc73a21259ca7c5f112228a5c85)
hwc: Unlock prev. buffers in N+1th draw round.

Unlock previously locked overlay buferrs in N+1th draw round, rather than N+2th.
This is now possible because of wait for PAN.
Provides an opportunity to improve genlock behavior and makes it more ICS like.

(cherry picked from commit b3a4cd7944397565388b4e940fb41d2af8882687)

Change-Id: I48f937b77d59b31f3bf04c5a2eb35500bd5d76d6
Merge "qdutils: Don't assume we support overlay without version info." into jellybean
qdutils: Add MDP v3.0.2 detection.

Change-Id: I22ad1f7fe3c2c03518e192b44f8f0f7018d8ff34
Merge remote-tracking branch 'cm/jellybean' into jellybean