display: Use project pathmap

Change-Id: I06593899243c7bcd0c98325aa349844dee239937
hwc: Fix Line to Block switch on primary for targets with DMA Multiplexing

DMA multiplexing is supported on WB mode only.
For primary the DMA multiplexing should be avoided
as it can lead to hung rotator.
This can happen when the DMA is being unset from overlay
while at the same time rotator gets configured.

Change-Id: I0c2cb8a5a1ebad8a8e4ed8107d5585836bc42451
overlay: Fix building when post-processing is enabled

post-proc enables calls to display_pp functions from mm-abl, link
with it
Change-Id: Id5acd1efcdda8aebced8699744178e89671c9ce4
hwc: Clean up scattered definitions of commonly used constants/values

Clean up scattered definitions of commonly used constants/values.
There is no need in re-defining these in several places.

Change-Id: I22c082b56646cb02d5ae4733d110afc81aaff50a
hwc: Fix debug message in uevent for external online

Fix debug message in uevent for external online.

Change-Id: I74c948659a69bc9451c666e31bb5669f45a6eaa7
hwc: vds: Add support to dump layers, FB and WB output buffer

1. Add hook to dump the layers going to VDS based virtual display.

2. Furthermore, add utility function to dump the frame buffer and
   WB output buffer. This will be enabled via a system property

   debug.hwc.enable_vds_dump

   Once dumping is enabled, the dumps can be extracted from

   /data/vds.fb.FORMAT.XRESxYRES.raw
   /data/vds.wb.FORMAT.XRESxYRES.raw

   e.g. vds.fb.MDP_RGBA_8888.1152x1920.raw

Change-Id: I2435c5507961a52929411206892c005492d5c193
display: Dynamic debug logging via binder

Provides a way to enable/disable logs at runtime via binder.
The logs need to be enabled from a priviliged shell.

For example,
$ adb shell service call display.qservice 15 i32 0 i32 1

Here 15 is the integer code for DYNAMIC_DEBUG in IQService.h
The first parameter 0 is for DEBUG_ALL
The second parameter 1 is to enable.

Hence, this command enables all debug logs.

Another example - this command enables vsync logging
$ adb shell service call display.qservice 15 i32 2 i32 1

Change-Id: I13d5f397d9d03f0ac6a14d3a3c9098ed59fc62fd
hwc: vd: Dynamic dumping of frames for virtual displays

Provides a way to enable/disable dumping of virtual display
frames at runtime via binder. The dumping needs to be enabled
from a priviliged shell.

For example,
$ adb shell service call display.qservice 15 i32 3 i32 1

Here 15 is the integer code for DYNAMIC_DEBUG in IQService.h
The first parameter 3 is for DEBUG_VD
The second parameter 1 is to enable.

Change-Id: Idd62c5d9ffa6e4eb7dec585984d145bc6a421336
overlay: Remove overlay dumping code for 3D use cases

Remove obsolete / unused code for dumping overlay in 3D use cases.

Change-Id: Ib23a361ffdcd2d14a7893cade83958f3b9966dbe
hwc/qdutils/qservice: Add dynamic idle timeout support

Add support for dynamically setting idle timeout values.
Move default idle timeout setting to IdleInvalidator.
Fix static var naming, handle errors from IdleInvalidator in hwc.
Property debug.hwc.idletime is removed with this change.

Example:
1) Set idle timeout to 100ms
adb shell service call display.qservice 16 i32 100
16 is the code for SET_IDLE_TIMEOUT, 100 is time in ms

2) Disable idle timeout
adb shell service call display.qservice 16 i32 0

Change-Id: I60e15a3ac869b4e9f4015b3be50a35c90d00d404
hwc: No idle fallback for single layers

There is no need to do idle fallback if there's only one layer
being composed.

Change-Id: I0a4e0c7af66b750c1ebd31779175168613a280ce
Add support to set dynamic fps

* This change allows fps to be changed dynamically
at run time. The property "persist.hwc.dynamicfps"
can be used to set the fps.

* fps can only be set once the ctrl path is setup.
This is achieved by ensuring that display commits
until and including the first non-blank commit
are synchronous and fps is set after that.

Change-Id: Idf31ed2974320ca22637097bcf72b58471a030b7
Merge branch 'cm-11.0' into stable/cm-11.0