hwc/overlay: Get rot dest dimensions instead of manipulating source

Currently for Mdss rotator we manipulate the layer buffer dimensions
to be equal to what rotator's destination dimensions would be, so that
these could be fed to MDP. Instead, this patch introduces APIs in
rotator so that hwc can directly query destination crop, width, height,
format from rotator.

This also simplifies the updateSource() and configRotator() helpers.

Change-Id: I501d998f2e0574683c764af9422742b2426ba0c7
(cherry picked from commit 9e09c12cca95c70dc4bf12ead9b82c92de5a9c92)
Revert "display: Revert some problematic changes for now."

This reverts commit 231f87b24f702d475365ab37becc1d4903218ca9.

Change-Id: I13fbac5299e6ee50d4f6924ca10ac7c136da288a
(cherry picked from commit 04965a3a6885f93bd3bcee5d316c73bb681ce117)
hwc: Source Split layers always if indicated by driver

Source Split layers always if the driver indicates so by setting
the src_split_always in the capabilities sysfs node.
This is applicable to layers whose width > mixer's width, since
MDP clk rate is dependent on max(mixer_width, layer_width).

This feature can be enabled if the panel height is more than a
certain empirically derived value. Splitting always in those
cases can help with a lower voltage.

Change-Id: If9b33f11ca4132eb77416c26819f7473c65d3b08
(cherry picked from commit 54ba32e28db965eb90d59f7a277b14d5b9c26d38)
hwc: Add display ROI in HWC dumpsys

Add ROI generated for each display in their dumpsys data.

Change-Id: I41fb79af9d42abc11ff147d18a600fd4ad60ab6c
(cherry picked from commit 17833b9a0d2681a5c782e8fbd9b45b790652ef56)
hwc: modifying logic in adjust FB Z-order for 4k2kYUVSplit

Use complete layer list details instead of depending on only
4k YUV layer indices.

Change-Id: I28deee47b8330a4b3c56bef48e333ce6ead8bf25
(cherry picked from commit 00dbae69ff638ede5140d1fa4ef1557bc5ed4b6b)
hwc: Consider FLIP flags for partial update.

FLIP flags need to be considered while calculating srcCrop and
displayFrame even when a layer is updated partially on dual DSI
panels.

Change-Id: I097b3335e66566d6639848bc8f8382bfeabb7f54
(cherry picked from commit fab7363d1ba7ca9e215165fd89ed3d06144e49bb)
overlay: Remove obsolete code from pipe config path

Remove obsolete / unused code from pipe config path like pipe crop
modification for rotator downscale, 3D, pipestate.

Change-Id: I34ec80dce8736f65069794f21fbd56922304cb8b
(cherry picked from commit 38e30fb2e713e718343593122ae846ace0a1d829)
hwc: Fix klockwork errors

Resolving klockwork errors to avoid memory leaks,
improper assignments in liboverlay.

Change-Id: I82ac6ae782c7b783e89999b832bbd1d361376b9f
(cherry picked from commit 419a9052614d97410f6bc5aeebf02e4f9779a3f3)