hwc: Define binder interface to set view frame of a display

Define binder interface setViewFrame to set view frame information
of a display by surfaceflinger when projection for that display
changes.

Change-Id: If737b51ae0f04303a1a29c91a9703f64354b61fb
(cherry picked from commit 32c97c4fbb8879349c992c74fae90a6ef475e5b6)
hwc: initialize viewFrame for primary display

viewFrame for primary display will always be full screen, hence
initialize it to primary resolution

Change-Id: I0f6ce79a9af6eac9b7b8a684c5b690c8b4a9e760
(cherry picked from commit 145fe7077b8bcc6cc888e64d882659a9f3d682a0)
hwc: Extend partial frame update for split displays

Extends partial frame update support for split displays by calculating
changing region(ROI) independently for each half of the screen. In case of
only one half updating, display driver shuts down the DSI/MDP mixer control
of the non updating half.

Maintains two ROI's for each display. In case of Non-split
displays, only left ROI is updated.

Change-Id: I8a67fe40aac665a48b6f8a46beffb9f8027851b2
(cherry picked from commit cbbd51239df9cc2fd33755ac6a24dec8b2cadfa9)
hwc: Support single ROI for split panels.

For panels that cannot accept commands in both the interfaces, we cannot
send two ROI's (for each half). We merge them into single ROI and split
them across lSplit for MDP mixer use. The ROI's will be merged again
finally before updating the panel in the driver.

 - Reads panel property of dual control path.
 - If dual control path not supported, merge ROI's before
   analysing for composition strategies.

Change-Id: I67e361a299dc5d1adb28b180900e24633eefc4a8
(cherry picked from commit c864453cc1b89add1711f6d90cc4984c60163b3e)
hwc: Map dirtyRect to layer destination for single DSI panels.

Map dirtyRect generated for sourceCrop to layer destination
before using it for calculating ROI for single DSI
panels.

Change-Id: Ie65284e9c58270c66276f9d43c4eb3e7db29b623
(cherry picked from commit ab71b55be90f1449adab9231ac832234d7e80385)
overlay: Add a flag for compilation with new API

 * ROI fields have changed for dual-dsi systems. Add
   an ifdef to allow compilation with old kernels.

Change-Id: Ie18404bba2c5afe4e8b913c1b4eee2a588f37acb
(cherry picked from commit 08192ba2223e34848134fed59939d6d641cc57d8)