libexternal: clean up HDMI modes

- Userspace was maintaining its own display mode timing table
- Change that to include the header from kernel

Change-Id: I19823e60d188b5a30445866c7df1860e269975bc
CRs-fixed: 470335
libexternal: Add support for vesa format

This change adds support for 1280x1024@60Hz
with pixel clock of 108MHz

Change-Id: Idb2c752554bfb130bba8db2b29444afcacc40fee
CRs-fixed: 438028
hwc: Add support for new resolutions

This change adds support for following resolutions.
* 2560x1260 @ 60Hz (DVI)
* 3840x2160 @ 30Hz (HDMI)
* 3840x2160 @ 25Hz (HDMI)
* 3840x2160 @ 24Hz (HDMI)
* 4096x2160 @ 24Hz (HDMI)

Change-Id: Ibd6fbaf20ac9c9557e738057f2a990eea1de928d
Merge "libexternal: clean up HDMI modes"
Merge "libexternal: Add support for vesa format"
Merge "hwc: Add support for new resolutions"
liboverlay: round off rotator downscale factor to nearest integer.

This reduces the MDP clock and bandwidth requirements and
avoids falling back to GPU composition.

CRs-fixed: 457295

Change-Id: I4408ee0485248987342df63669f1a6894ea0dd73
Merge "liboverlay: round off rotator downscale factor to nearest integer."
hwc: Ensure borderfill pipe is setup only after unblank

MDP operations should not be done in blank mode. Ensure that the
borderfill pipe is configured in prepare which happens after
unblank.

Change-Id: I97e75ab732015e0f02d12a24af37e4ed86b6b090
Merge "hwc: Ensure borderfill pipe is setup only after unblank"
hwc: Reset Layer cache on idle timeout

In the case where MDP composition is possible but we fall back to
the idle timeout, there is a possibility that all of the layer
handles that were cached in the _earlier_ idle timeout are the
same in the _next_ idle timeout. This could cause us to display a
stale frame. Reset LayerCache in prepare if we are in the idle
frame.

Change-Id: I3ab1b0f28044975978a32e082976b038242697d0
hwc: Sync for rotator

Implement sync for rotator.
If a buffer is rotated, it can be used by producer soon after
rotation (and it wont have to wait until vsync).

Mdp waits for the rotator buffer's release fence to signal
to start display.

Hwc waits for previous access to rotator buffer by MDP to finish
before using it.

Change-Id: I5664806a17c44d58af62a2825ce454089fcd31cf
Merge "hwc: Sync for rotator"
Merge "hwc: Reset Layer cache on idle timeout"
qcom_display: add TARGET_PROVIDES_LIBLIGHT

Change-Id: Ifa4984a3dc4b938fb89d6c65c8cda931d643f3c6
Only build CAF display variant when requested.

Change-Id: I273b9e16afa011445e185fdaf1e7cf2f029b077c
Update include paths

Change-Id: I463eb0a6693ec5da41118f132d8dcdb0d11e4be8
overlay: Bring back debug.mdpcomp.maxlayer

 * We're having underrun issues with 4-layer composition. It generally
   works, but when the system CPU ramps down and the device is mostly
   idle, underrun is happening.
 * Limiting to 3 layers solves the problem temporarily on these devices.
 * Readd the option so that the issue can be debugged without afflicting
   our current users with massive amounts of flickering.

Change-Id: I7ab7d013f65eaf12a3d21a91229dcaad6a815069
hwcomposer: 7x30: disable overlays for video playback

check MDP revision and disable overlays for video playback usecase
on 7x30.

Change-Id: I8b179512b4aff136834dd80e4da7227a6b2aff4e
liboverlay: Use camera heap for targets without mm heap.

for 7x30 MM heap is not available. Use camera heap instead.

CRs-fixed: 407303
Change-Id: Ie94937fb59c40b49d7f5bb30d12b4ddea497a6fc