hwc: set mModeOn flag for fbupdate properly

Set mModeOn flag for fbupdate to false if validateAndSet function
fails, so that queueBuffer can be avoided for prepare failure.

Change-Id: Ifcc7a16caf8779f13411ae2a9eeeec6e6c846f4c
hwc: Add rotator obj to layer-rot-map if acquired

Add rotator obj to the layer-rot-map soon after its successfully
acquired. This makes sure that any object allocated is accounted
for, irrespective of whether rotator configuration succeeds or not.

Change-Id: I94102d9c607cf61b2eccdf7f2445bb07d309d35c
HWC: Minor fix in 4k2kYUVsplit feature

Increment fbZ when 4k2kyuvindex matches with fbZ,
otherwise we see momentary flicker as right half of
4k2k YUV layer and fb layer have same z-order.

Change-Id: Ia900e102b6d4670b9bfdfd4e52ef360d1d813cab
gralloc: Perform func to return stride and height

The custom stride and height can be set by video
decoder for smooth streaming. Return this in
perform so that graphics can use it

Change-Id: I44c814b2bae1f61d3ec5c36a22d1c6119542b10a
hwc/overlay: Add support for pipe priorities, 1 pipe config for FB

If using source split to stage 2 pipes on the same mixer stage,
the left pipe needs to be a higher priority than the right.

Add API in overlay to compare pipe priorities and use this in
source split config to stage pipes accordingly.

Add support for 1 pipe config for FB if updating rect is within 2048
pixels.

Change-Id: I8b33d5ebd0f8765ee842bab128d8abd67a110145
Merge "hwc/overlay: Add support for pipe priorities, 1 pipe config for FB"
Merge "hwc: set mModeOn flag for fbupdate properly"
Merge "gralloc: Perform func to return stride and height"
Merge "HWC: Minor fix in 4k2kYUVsplit feature"
Merge "hwc: Add rotator obj to layer-rot-map if acquired"
display: Update paths to display-caf-new

Change-Id: I288f5a48ad42205f5e89607bcc30377132d402a9
Don't build lights module if vendor supplies it

Change-Id: I63589281961e1120e7536798df6d78b8a7af4304
gralloc: Change loglevel of adreno_utils warning

 * The old version of libadreno_utils is still compatible with
   this code, so don't demolish the logs over it.

Change-Id: I089f46265eebb51f6abdad23057acd318e613a8e
display: Add ifdefs for some optional features

Change-Id: If0765d2c9ed19f6f391ae22c58ab94e0db9fa292
hwc: Skip dropped layers in video only composition

No need to draw dropped layers while doing video only composition
since they are lying outside updating ROI.

Change-Id: I7bef731538e39a5b16f17314ad31f0c4e7f2b618
hwc: Set DMA state at the start of composition

* Set DMA state at the start of the composition cycle
based on the following.

Set it to LINE_MODE if the number of active rotator
sessions are 0.

Set it to BLOCK_MODE if
** A yuv-layer for any display-device requires rotation
** (or) mExtOrientation is set
** (or) mBufferMirrorMode is set

* Separate out the reset helper function into more
modular ones

Change-Id: I6a22ac4379565cd1fd2d875a7a417f4ed3ee0f1e
hwc: Clear overlay and layer-rot map from caller

Clear overlay and layer-rot map from the top level caller of
composition, rather than from the place of actual intermediate
failure. This makes sure, even in cases of GPU comp failure,
overlay and layer-rot maps are cleared and eventually pipes unset.

Change-Id: Ibf1152a0e8ca66d87bcc6b87009c4b09e451099d
hwc: Do not re-program H/W, if the frame geometry has not changed

There is no need to re-program the H/W, if the frame geometry of all
active displays, has not changed. It will help to improve performance
by avoiding re-configuration of HAL and driver, if it is not needed.

Change-Id: Ie01dce33be89afc7308a8103128d27b4b9fb5c4b
hwc: Use layer dirty rect to calculate frame's updating ROI

Use layer dirty rect instead of display frame to calculate frame's ROI.

Change-Id: If5fe93da7815efdf9b44ed683a4d80b397921cf1
h/q/d: Read minimum width and height values of the panel ROI

Read minimum width and height restrictions on ROI of a panel
through sysfs node.

Change-Id: I0e4c35cdcaee06e77955725565cfbed2f0fd91e9