History log of /hardware/qcom/display/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2cacc353e699139eb7966576fe33f48e74c09e26 15-Nov-2013 Jesse Hall <jessehall@google.com> Copy virtual display FB to outbuf even with no app layers

Bug: 11676429
Change-Id: I971a2374baf03354afb5918b84f6fd68e1ff29c0
sm8974/libhwcomposer/hwc.cpp
671b3ce8f6428a850fc21685945188a216d18dc6 08-Nov-2013 Ed Heyl <edheyl@google.com> merge in release branch changes (no-op).
e66d576478c504f55e008a1311bc3450de86bb62 07-Nov-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Drop alpha from writeback

The alpha in the writeback is unused right now. Force MDP to use
RGBX for composing writeback.
Bug: 11479817

Change-Id: I87e3fff962283af05a07d28698811a4402f2606c
sm8974/libhwcomposer/hwc.cpp
2d3fc4ca3f32c5621b15cc7f7b7f895e29f9a09b 07-Nov-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Drop alpha from writeback

The alpha in the writeback is unused right now. Force MDP to use
RGBX for composing writeback.
Bug: 11479817

Change-Id: I87e3fff962283af05a07d28698811a4402f2606c
sm8974/libhwcomposer/hwc.cpp
36c325dbfbf4b305266b0bc8e43e04b080be6b3f 07-Nov-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "overlay: writeback: Do not create writeback instance on dumpsys" into klp-dev
22af1a294d360a5e92cf3e2e3626b5f332166bbe 30-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: writeback: Do not create writeback instance on dumpsys

Do not create a writeback instance during dumpsys.
Instead use the dumpsys to return empty if no instance exists.
This fixes the issue where
a) Unnecessary instance is created.
b) Dumpsys has garbage, if a valid instance didn't exist

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ic8ea5ddd8d05203234da7c7dfccd2c2b497e62f7
sm8974/libhwcomposer/hwc.cpp
sm8974/liboverlay/overlayWriteback.cpp
sm8974/liboverlay/overlayWriteback.h
8f1c93c4d5c2feb515cde2a6ecc2309188002cbe 05-Nov-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: virtual display: Use outbuf handle width to configure xres

Use outbuf handle width to configure display xres, since that would
have the necessary alignment. The outbuf is guaranteed to be valid
by the framework during hwc_prepare.
We use the framebuffer layer's display frame to obtain the actual
width.
For example, the actual width could be 720 but the aligned width
would be 736.

Bug: 11430248
Change-Id: Ide221b0c7ada5eaedc7b0355c37e536e64c39f65
sm8974/libhwcomposer/hwc.cpp
103c736926cace1ff5a6d154715b375ff1018f8e 29-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: writeback: Add dumpsys info

Add dumpsys information from writeback data structure.
Remove some unused fields, formatting to save space.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: I808ce67aae16e27c3aa6d6db45983929b1386b69
sm8974/libhwcomposer/hwc.cpp
sm8974/liboverlay/overlayRotator.cpp
sm8974/liboverlay/overlayUtils.cpp
sm8974/liboverlay/overlayWriteback.cpp
sm8974/liboverlay/overlayWriteback.h
30f8aae831920b8bbdca1fbb199ac88973bf9af4 30-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Do not use fb handle in hwc_prepare

Do not use fb handle in prepare. Use displayFrame for dimensions,
align them and hardcode format.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: I5c494a74a807d3a52a1c88257494b58c583700f5
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
7220a4f08ff74a5b60f1a1c9f84e87cc4a55d304 26-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Do not compose RGB layers for virtual displays

This is a temporary workaround to unblock HWC 1.3

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ie877ec459916fb6c05ef9781e41900b661f4f489
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8974/libhwcomposer/hwc_mdpcomp.cpp
b434b98715e4bfe9b8bfb0ac34f33e695aa9891d 05-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for virtual displays

Add support for virtual displays in hwc.
The availability is detected when a valid list first appears.
Need a valid framebuffer handle to configure writeback based
on aligned dimensions.
Force full GLES virtual layers to go through HWC based on
boardconfig flag.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ice26d47022c8582a6d30503cfa5c918057046320
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8974/common.mk
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_ad.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
c20104e1c005e4e47adea555e53e176b6dbe4be1 11-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Trace MDP ioctls

Add trace points for all MDP ioctls called from liboverlay
so that they show up in systrace.

b/11387181 - HH suffers from "busy janks"
Change-Id: I99d6ef987499fc858d298e74a60fc3cd4f8a0609
sm8974/liboverlay/mdpWrapper.h
5f531ba30d0c555d09b82b01d2a64d50116ccb71 05-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Set default value for implementation defined formats

For implementation defined formats which go via HWC, set the
default value to RGBA8888

Change-Id: I6a45c69260b54f0b78c480f54b07a4de161b4cc5
sm8974/libgralloc/gpu.cpp
873a69a63909b570e687817ac61684fb4a199c28 24-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> display: Use L3 DRM for non TZ content

When the GRALLOC_USAGE_PROTECTED flag is set, use L3 DRM if the
buffer isn't also allocated with the MM heap.
Per the gralloc spec, this means that such buffers shouldn't be
routed to external displays since the hardware protected path is
not available due to allocation from an insecure heap.

b/11071443 - (related) [HH] Green frame happens during playback
of Forward-lock DRM with Miracast connetion
Change-Id: Ifd858f874b4e3c2c3ec54c6d6a33372ec55b0aee
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/alloc_controller.h
sm8974/libgralloc/gralloc_priv.h
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.h
aa919936c6ccbbbd4cc09bc07028ee3be3db8b18 17-Oct-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "hwc: Enable rotator during resolution change." into klp-dev
da6152a5a57cf78cef01ee4ba2e695048f161231 15-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Enable rotator during resolution change.

MDP VG pipe framesize register is not double bufferred.
It introduces corrupted frame during resolution change especially when
rotator is not used. Enable rotator to handle the transition case.

Change-Id: Ifec55fee0c762dfb12a09580b80dca6f051a1c86
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
sm8960/libhwcomposer/hwc_utils.cpp
sm8960/libhwcomposer/hwc_utils.h
f27ac60c571541b7019ed24d05b0de67005807da 17-Oct-2013 Ed Heyl <edheyl@google.com> merge in klp-release (no-op)
15bb659f62223001e83a2a3e3b674c55311784f5 16-Oct-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
b5199b08a351177e2d572b29d04f5a05069b3c2a 15-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add load based partial mdp comp

Add support for load based partial mdp comp.
This is used on geometry changes where a redraw is unavoidable.
We select a batch of layers, that has minimum pixels for FB comp,
the rest go to MDP.

b/11175503 - Hammerhead window animations are janky
Change-Id: Ifc5eeb4785c75c37de97a2bb89ca81409d324691
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
d4f8e2490f4939e79fc48019c244ec3d967f4698 11-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Account for transform in size calculation

If we have a transform of 90, we need to swap the width and
height in the origWhf to make sure we get the right size
calculation of the output buffer with all alignment requirements.

b/10965499 - flo/mako screen lock up on playing HTML5 video in full screen
Change-Id: I961fdea7e1ee0f365e8d4d4321825408c45e8c13
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8960/liboverlay/overlayMdpRot.cpp
c1371aaaa445fee2a09c75132f03109f014554a0 11-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Account for transform in size calculation

If we have a transform of 90, we need to swap the width and
height in the origWhf to make sure we get the right size
calculation of the output buffer with all alignment requirements.

b/10965499 - flo/mako screen lock up on playing HTML5 video in full screen
Change-Id: I961fdea7e1ee0f365e8d4d4321825408c45e8c13
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8960/liboverlay/overlayMdpRot.cpp
b38190578ab2761a0e233efcfec4f86cb1b99a82 10-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Do not punt secure layers for non integral crops

GPU cannot handle secure layers so a black screen is seen when we
punt secure layers with non integral source crops.

Bug:11156948
Change-Id: Ie19c631aab55dc8e7c1ad5e1f42162e833f49222
sm8974/libhwcomposer/hwc_mdpcomp.cpp
20884490b7a01c9ffdafab591de55eb60bd56299 10-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Do not punt secure layers for non integral crops

GPU cannot handle secure layers so a black screen is seen when we
punt secure layers with non integral source crops.

Bug:11156948
Change-Id: Ie19c631aab55dc8e7c1ad5e1f42162e833f49222
sm8974/libhwcomposer/hwc_mdpcomp.cpp
218456e025e792c12124c8d7a9e35c9df0fc1f5d 29-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Include more cases in partial MDP composition.

When MDP cannot support a layer, we send the whole list of layers to
GPU. If such layers are not updating they can be cached on FB while
allowing the rest to take the MDP route.

Example # 1: Volume bar on video in 90 rotated mode. Since volume bar
is not h/w accelerated, there is no prerotation and we invoke the GPU
for redraws each round. With this change we won't because of caching.

Example # 2: If prerotation is applied to layers on primary, the
secondary layers would show a transform and the whole list is redrawn
with GPU. Now we could make use of caching.

This change also imposes a 1 layer limit on secondary, but now allows
full and partial MDP comp, thus benefiting secondary-only content.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I7eb43ba817f1081f317fefa99fa0c507344060e8
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.h
95a99fdeae92feea1d94b041a5c7cb48d8784600 20-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add check for block mode for rotated video

Do not allow video if it requires pre-rotation and DMA pipe
is configured in LINE mode.
Fall back to GPU in this usecase.
This is not applicable for wfd on 8x26 since Driver supports
both multiplexing of DMA pipe in LINE and BLOCK mode as same
mixer control block is used for rotation and writeback mode.

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I5b99b214619134b1bd67f3c441b14f76051e3d3b
Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
625e0a798a84c476f8cab99bb34b6f2df336aa6c 29-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Include more cases in partial MDP composition.

When MDP cannot support a layer, we send the whole list of layers to
GPU. If such layers are not updating they can be cached on FB while
allowing the rest to take the MDP route.

Example # 1: Volume bar on video in 90 rotated mode. Since volume bar
is not h/w accelerated, there is no prerotation and we invoke the GPU
for redraws each round. With this change we won't because of caching.

Example # 2: If prerotation is applied to layers on primary, the
secondary layers would show a transform and the whole list is redrawn
with GPU. Now we could make use of caching.

This change also imposes a 1 layer limit on secondary, but now allows
full and partial MDP comp, thus benefiting secondary-only content.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I7eb43ba817f1081f317fefa99fa0c507344060e8
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.h
1c3402c355c966bb443139b5becb1fe092815855 20-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add check for block mode for rotated video

Do not allow video if it requires pre-rotation and DMA pipe
is configured in LINE mode.
Fall back to GPU in this usecase.
This is not applicable for wfd on 8x26 since Driver supports
both multiplexing of DMA pipe in LINE and BLOCK mode as same
mixer control block is used for rotation and writeback mode.

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I5b99b214619134b1bd67f3c441b14f76051e3d3b
Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
1b53625d962d2e004d64a6ce6da073485e1d3669 09-Oct-2013 Ed Heyl <edheyl@google.com> merge in KFS78N (no-op)
538ed06b318b65b2620ec9e4762fd33cacbbe921 09-Oct-2013 Ed Heyl <edheyl@google.com> merge in KQS81M
6341a157555917b7dadd894c90ddd5093c9e1e47 26-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Perform function to return custom stride

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

Bug: 10192531
Change-Id: I798fc0894b8d9662e93769a53a540cb61b527a44
sm8960/libgralloc/gralloc_priv.h
sm8960/libgralloc/mapper.cpp
sm8974/libgralloc/gralloc_priv.h
sm8974/libgralloc/mapper.cpp
5d1d54ff7c44559f664fdf071164c56c740ab79a 26-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Perform function to return custom stride

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

Bug: 10192531
Change-Id: I798fc0894b8d9662e93769a53a540cb61b527a44
sm8960/libgralloc/gralloc_priv.h
sm8960/libgralloc/mapper.cpp
sm8974/libgralloc/gralloc_priv.h
sm8974/libgralloc/mapper.cpp
b866e34a94f3895d435ae8a22ba85937e22ee23d 03-Oct-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
9357ed10419855c026cc56995c95d372cfc2feef 01-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> display: Add memtrack HAL for msm8974

Port memtrack HAL from 8960 project.

Bug: 10954149
Change-Id: I05ea6a458833173f79662ff086af95be3cb21cc9
sm8974/Android.mk
sm8974/libmemtrack/Android.mk
sm8974/libmemtrack/kgsl.c
sm8974/libmemtrack/memtrack_msm.c
sm8974/libmemtrack/memtrack_msm.h
0499c1c61f09b9a4ea9c5cac3f8b28b31e7fb9f9 02-Oct-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
a92335e734f3c09bf51438f422d36fc3aa8ed6d2 27-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Do not enable HPD.

With devices that have slimport/MHL, the hotplug detection takes
place within the driver at the time of USB connection. Disable
explicit enabling of HPD from userspace.

Change-Id: I667339bb007917ba25086d77f37d49b44362c0c5
sm8974/libhwcomposer/hwc.cpp
d5a75737e78c5ab4c3182590087eab92dde2715e 30-Sep-2013 Colin Cross <ccross@android.com> fix fd leak in memtrack.msm8960

Close smaps_fd when exiting function.

Bug: 11007903
Change-Id: I4a9fcd1e84aae195d229e5dd11f99ccb9f6f5006
sm8960/libmemtrack/kgsl.c
454565c66a5d068c0722aa3bb1fccc4c383a5808 30-Sep-2013 Colin Cross <ccross@android.com> fix fd leak in memtrack.msm8960

Close smaps_fd when exiting function.

Bug: 11007903
Change-Id: I4a9fcd1e84aae195d229e5dd11f99ccb9f6f5006
sm8960/libmemtrack/kgsl.c
4eb2efb3b9572ebb6f527c983bc762061dee439d 19-Sep-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
073830dc96c3d434bdc24a9ca23a7479fa9de19f 19-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add padding byte for YUV 420

YUV 420 buffers have the chroma starting at consecutive bytes
but end at the same byte. This results in the second chroma size
being one byte shorter in size. This isn't a problem for
hardware, however, the gralloc lock_ycbcr API expects to read the
same number of bytes based on the cstride for both chroma
components. This could lead to it accessing memory beyond what is
allocated leading to a crash in the calling process especially
when the size aligns exactly to the page size. Add one byte
padding when allocating YUV buffers to make sure the users of
this gralloc API get enough bytes to read.

Bug: 10787131
Change-Id: Id18e0739f9fdc2c7a4fbe7724be668a989f1a4a1
sm8974/libgralloc/alloc_controller.cpp
9eaa4c4e317a133b950e4264c7916b4f3ad5d54e 18-Sep-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
64c03fe39a1d0c8bf74129cce02cbda2af70d485 17-Sep-2013 Patrick Tjin <pattjin@google.com> Revert "hwc: Get the retire fence from the MDP driver"

This reverts commit 63d668829904b49e30e2e3e53defbfda70ab23b7.
sm8974/libhwcomposer/hwc_utils.cpp
28c93c950cd82667a43dd0dd64043274eb7a1e55 17-Sep-2013 Colin Cross <ccross@android.com> Fix remainig exynos references

Also fix a compile warning by replacing enum with int in the getMemory
function.

Change-Id: Ic4bbba425486bb7f456e928968afa5f2b04ca7ea
sm8960/libmemtrack/memtrack_msm.c
b7826b6218e4c96731c37073a909104a04352022 16-Sep-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
04dd30c0e9b2f68141a0b43160c7dcec3946dbee 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence. Close the retire fence for the rotator as it is
unused.

Bug: 9319776
Bug: 10153314
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
sm8974/libhwcomposer/hwc_utils.cpp
63d668829904b49e30e2e3e53defbfda70ab23b7 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence. Close the retire fence for the rotator as it is
unused.

Bug: 9319776
Bug: 10153314
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
sm8974/libhwcomposer/hwc_utils.cpp
8ade45c43db29b13db6cbd7310726b2d52adfd2b 13-Sep-2013 Rom Lemarchand <romlem@google.com> Merge "Initial msm8x64 memory tracker HAL" into klp-dev
2e94b1a8a8397042412aaf78efb4b27756d38b13 12-Sep-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
43b3bfe2cb5b924dd3fb9718e27eadebe6f04e19 06-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Punt layers with non integral source crop

The MDP driver cannot handle such layers right now. Investigate
doing this with pixel phase in the future.

Change-Id: Iabbdd0285234160770ae5a799b07a5b912e5fde3
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.h
d79de9b08a0d1affb272dcfb37062bd42c6540e8 09-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add additional trace points

Require HAL tag for tracing HWC and add additional trace points
for systrace.

Change-Id: If0abb438da96d3507fb3e2a42bcb8d8b4734fb8f
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_utils.cpp
b46313b2e4d0e7fd1a475bf26ce396bcd0243921 07-Sep-2013 Colin Cross <ccross@android.com> Initial msm8x64 memory tracker HAL

Reads memory info from kgsl to track unaccounted for GL and ION
memory. Right now it has to parse every allocation and then
cross-reference it against /proc/pid/smaps. It would be faster
to modify the kgsl driver to keep counters that could just be
read directly.

Bug: 10294768
Change-Id: Icb17558f03ce53bc594fbee097e51fe82e15dc31
sm8960/Android.mk
sm8960/libmemtrack/Android.mk
sm8960/libmemtrack/kgsl.c
sm8960/libmemtrack/memtrack_msm.c
sm8960/libmemtrack/memtrack_msm.h
0528069eda70affa1523cd1c6b0d7637238df141 02-Sep-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
83f9f73c45da200a06244749e4f21a632ecc01ba 30-Aug-2013 Jesse Hall <jessehall@google.com> Unrevert "hwc: Bump up version to 1.3"

This reverts commit ad17afc8bcda6c2d6006a3b005defb011042aaac,
which reverted commit a5b5aebd86ed595990435692e7e7ede31aeb63dc.

The original change exposed a bug in the platform but wasn't itself
buggy; the platform bug has now been fixed.

Bug: 10443969
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
140fb8c429cd09b763447e66f3105ee4824fc08d 29-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
6df35c53ea402da873bcc837184b132cb45d97d6 27-Aug-2013 Jesse Hall <jessehall@google.com> Revert "hwc: Bump up version to 1.3"

This reverts commit a5b5aebd86ed595990435692e7e7ede31aeb63dc.

That change added support for float croprects, but didn't add support
for virtual displays. SurfaceFlinger crashed when virtual displays
(including wifi display) were used because HWC didn't behave as
expected.

Bug: 10443969
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
be984c968c2ff350ff9943d775fcfdce620ce8d5 29-Aug-2013 Vineeta Srivastava <vsrivastava@google.com> Merge changes Ib0ef6b1b,Ie0e266ee,I96365b4c,I595547dd,I33bd64a5,I14adf2df into klp-dev

* changes:
hwc: Enable sync-pt for rotator on B-family
gralloc: Move getAllocator in unlock
libhwcomposer: Add check for MDP comp dump
hwc: Fix locking.
overlay: Remove optimization that prevents garbage collection
hwc: Change log message for AD feature
41e99dff89cbba9fd1f69ae8007f7be88434d176 29-Aug-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "hwc: Empty first read to avoid stale data at boot" into klp-dev
5444bcea32ab111a723ec19f907704f465591498 28-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Enable sync-pt for rotator on B-family

Enable sync-pt for rotator on B-family. The already existing
MSMFB_BUF_SYNC ioctl is used, with an extra member for session_id
from rotator.

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp

Change-Id: Ib0ef6b1bc5cf1e6437090a217d7f731a3440f84b
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/liboverlay/overlayRotator.cpp
sm8974/liboverlay/overlayRotator.h
75007d5ec7c707d9ef1cdd47ec68b4920bfb0c33 27-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Empty first read to avoid stale data at boot

When an fd is opened for the first time, poll always succeeds
without a notify from the driver. This gives us invalid data from
the driver, which actually has the right value only when it calls
sysfs_notify. Do a first read for the vsync fds to avoid this.

Change-Id: I47e7bb0a3f91ccb90b1cf36fe5e7d75de1085b62
sm8974/libhwcomposer/hwc_vsync.cpp
5c5bb606251299839c811e0a87d72b0ba125853d 28-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Move getAllocator in unlock

Call it where it is actually needed, as it may lead to
unnecessary logs in software composition

Change-Id: Ie0e266ee0710229f3cf15f8314e2ae4b4dc1ac94
sm8974/libgralloc/mapper.cpp
0b8513cd63c7d9ee63a9e080e8c7af8cc35ea85b 15-Aug-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Add check for MDP comp dump

Avoid mdpcomp dump for frames having layers more than
MAX_NUM_APP_LAYERS, since our HAL doesn't support it.

Change-Id: I96365b4cbdeef2c00524eeb53877ee568ba0c172
sm8974/libhwcomposer/hwc_mdpcomp.cpp
01f9a13e06f5b25788dfb042d20583ce2f974579 22-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix locking.

Remove the unnecessary blank lock, mdp comp lock, secure lock.
Rename the ext lock to a more appropriate draw lock.

The mdp comp lock is at an incorrect place and causes unwanted
objects to show up in dumpsys, since configDone hasnt cleaned
them up yet.

dump(), blank(), draw() should all acquire a common lock.
draw() includes prepare() and set().

Conflicts:

msm8974/libhwcomposer/hwc.cpp
msm8974/libhwcomposer/hwc_qclient.cpp
msm8974/libhwcomposer/hwc_uevents.cpp
msm8974/libhwcomposer/hwc_utils.h

Change-Id: I595547dd5a393a8af6cd8c9297d50793b715e658
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_qclient.cpp
sm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc_utils.h
50c48cf7761d6d405ea413700fd96122db2b7e95 24-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Remove optimization that prevents garbage collection

There is an optimization to not do garbage collection (and thus UNSET)
if pipe usage hasn't change, added during older chip time frames.
It worked then because, continuous overlay failures were not normal,
and on failure userspace didn't UNSET remaining pipes.

On newer chips, owing to bandwidth limitations, continuous overlay
failures could happen, plus now we UNSET all other pipes. Thus each
round if GPU gets used, the optimization infers that pipe usage hasn't
changed and does not UNSET pipes.

Also the optimization doesn't do anything useful than saving a few
loops, but is suicidal in current situations, so can safely be done
away with.

Change-Id: I33bd64a599d8ade337707301188c94cf8e6aac81
sm8974/liboverlay/overlay.cpp
e43bb379c4b8f336800551a1ed22e60b52e7887c 27-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Change log message for AD feature

If the AD node is not present in the kernel, make the log sound
less fatal and change it to a debug log.

Change-Id: I14adf2df6375d4a2aa012842bda51faf7870ffa5
sm8974/libhwcomposer/hwc_ad.cpp
ad17afc8bcda6c2d6006a3b005defb011042aaac 27-Aug-2013 Jesse Hall <jessehall@google.com> Revert "hwc: Bump up version to 1.3"

This reverts commit a5b5aebd86ed595990435692e7e7ede31aeb63dc.

That change added support for float croprects, but didn't add support
for virtual displays. SurfaceFlinger crashed when virtual displays
(including wifi display) were used because HWC didn't behave as
expected.

Bug: 10443969
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
f34b32b224f427a48cb39f12300c9a64a99d0bc5 27-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
87838778cdb83d1f8d5c708865714268bc8ea167 27-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwcomposer: Deprecate setupBasePipe

Needed only for A family targets where MDP boots up with
RGB pipe attached to the base.

Conflicts:
msm8974/libhwcomposer/hwc_mdpcomp.cpp

Change-Id: I5118b8b41e4f864f8c73a115398b13bffa1f3383
Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
4f4c03bfb459159490795165a191e01c564e5788 22-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Force pipe config if list geometry changes

Force pipes of a display, whose geometry has changed, to pass
configuration arguments using MSMFB_SET_IOCTL. This helps the driver
make additive bandwidth calculations and reject the frame if the
requirements go beyond what the hardware can support.

This change still preserves the optmization to avoid ioctl calls, in
cases where pipe params are the same but makes an exception when
list geometry changes.

Conflicts:
msm8974/libhwcomposer/hwc.cpp

Change-Id: I909d35b2a8c33059b34b65943ccbbc08650461db
sm8974/libhwcomposer/hwc.cpp
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
871638fa5f5e2d15314af163f164a297df58e9ec 21-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fix caching for rarely read/write flags

GRALLOC_USAGE_SW_WRITE_RARELY and GRALLOC_USAGE_SW_READ_RARELY
need to be compared directly since they share bits with
GRALLOC_USAGE_SW_WRITE_OFTEN and GRALLOC_USAGE_SW_READ_OFTEN.

Change-Id: I52692027033e1036e3ad960b9e03dd8ee60b4111
sm8974/libgralloc/alloc_controller.cpp
7fedef6549adbbffe15188e96ac6a5de272de27e 05-Aug-2013 Shivaraj Shetty <shivaraj@codeaurora.org> HWC/copybit : Add support to indicate driver on layer with Zorder 0

Some applications send RGBA layer with constant alpha 0xFF and
isOpaque=1. For these types of layer we don't get any wormHole
regions. Hence we see the previous content (framebuffer) due to
wrong selection of blending logic at kernel side.

To fix these kind of issues on MDP3 we make layer with Z order
zero as FG layer. This makes sure that proper blending logic
is chosen in kernel.

CRs-fixed: 521638
CRs-fixed: 517944
Change-Id: I172a46c3284916264a1413a6a16875afea2b1aad
sm8974/libcopybit/copybit.cpp
sm8974/libcopybit/copybit.h
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_copybit.h
8f9bd5cbd0f7cec8cdbfa4b39c375cd2847490c8 14-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fix ITU formats for camera

Make sure ITU formats are applied exclusively for camera buffers.
Camera HW_TEXTURE buffers go to GPU and should be marked as 601 FR.
Earlier, this was OR'd with video encoder due to which it
incorrectly got marked as 709.

Change-Id: Icaf3692b581b7861229e613dd632123d21dda2cf
sm8974/libgralloc/gpu.cpp
a242712ec9484f1ee4eadd01b61d4f3c9cd17b53 08-Aug-2013 Terence Hampson <thampson@codeaurora.org> hwc: change error logs to debug logs

There were error message that should just be debug messages.
These error logs can cause automation testing to fail.

Change-Id: I4ba681a737e8324da9ef8e7984efa57f70ee8637
sm8974/libhwcomposer/hwc_copybit.cpp
8440e4f315f1dd1c60c3c0c2d74894d4149b18e1 06-Aug-2013 Radhika Ranjan Soni <rrsoni@codeaurora.org> hwc/copybit: Use gpu composition for plane alpha

MDP3 doesn't support plane alpha. So falling back to
gpu whenever there is plane alpha in the list of layers.

Change-Id: Iec40e5160f4320b7393d937444645d1a243bd83b
sm8974/libhwcomposer/hwc_copybit.cpp
e2bac7abd921668fdb7095eed69fa6a6082b0be1 12-Jul-2013 Terence Hampson <thampson@codeaurora.org> hwc: Use gpu composition when there is rotation

Mdp3 has a hw issue where it cannot handle rotation and blending,
when roi height or width is not divisible by 16. When roi is not
divisible by 16 mdp3 would read memory that it is beyond the
image. This leads to page faults, which further leads to poor
performance.

Change-Id: I2cd1b77c21c407503399630cdb702b575aa4e64e
sm8974/libhwcomposer/hwc_copybit.cpp
5d6b4a0ade8ee378547c8f340079f37d468b287c 18-Jul-2013 Terence Hampson <thampson@codeaurora.org> copybit: Ensure that copybit is not generating alpha values

When image was being up scaled beyond 4 times and intermediate
buffer is used, alpha value would be 0 in intermediate buffer.
This would then be blitted onto final buffer that contained alpha
value. Since fg had alpha value of 0 entire image would be blended
out.

Change-Id: I6daf03e93719212ee597c218655ae8692ae79e72
sm8974/libhwcomposer/hwc_copybit.cpp
1c187f10a13479adfd719ead24eda6c1bb502795 17-Jul-2013 Terence Hampson <thampson@codeaurora.org> copybit: Pass in proper acquire fence count to blit call

The counter that was incremented when an acquire fence was provided
was not the counter that was passed into the blit call. Due to
blit requests being processed in order that it is submitted, it is
not need to pass in previous release fence as acquire fence for
next blit request.

Change-Id: Ic259af24b33e5e69440d481c92788107ff639bed
sm8974/libcopybit/copybit.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
1a7ce6a2f7a7df60247eb36d3aa65ac7aad0f280 26-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
fec2787c15f132a1ad73183c5cef6545a6d84ac0 22-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Map NV12 encodeable to venus format

The NV12 encodeable format is set for wifi displays but isn't
mapped to any MDP format. On B-Family targets the format is
equivalent to the venus yuv format.

Change-Id: I7193bd2e83a6747a98dfbcccc91818e26cdc09d0
sm8974/liboverlay/overlayUtils.cpp
79d746adf345dc81d00b3a986f430fcec6f9dc24 22-Aug-2013 Vineeta Srivastava <vsrivastava@google.com> Revert "Add msm8226 support for display hal"

This reverts commit e1b6b91bcf3c9559d14cae2bfc2b00c4e7c6a5a5.

Change-Id: I4a8e6c744ac4b42e2d888e27f73af9ede3806b3e
ndroid.mk
2f86551efc55d59c487993a64038862731660fb9 22-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
e1b6b91bcf3c9559d14cae2bfc2b00c4e7c6a5a5 20-Aug-2013 Ajay Dudani <adudani@codeaurora.org> Add msm8226 support for display hal

Update code path to use msm8974 tree for msm8226 as they
share common code source.

Change-Id: I92584de50b43120a6ed638fdb4482ff732f0ef9c
ndroid.mk
7138a182dfbce931f3bff5e8ce59051e113666dd 21-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
6c8e55903c44666ae5d4d28390b1da8d396f7457 20-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
2e89cad843d9f442be47feb2d9347cffe3c4948e 15-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Fix rotator size allocation to max buffer size

When using the metadata for calculating the rotator destination
buffer size, the allocation happens frequently in the smooth
streaming use case leading to fragmentation of rotator memory.
Base the calculation of this buffer size on the actual width and
height of the buffer instead of the metadata.

Bug: 9920327

Change-Id: Ic551a2b1eb7418cb0b03251b26bbf55d612822fd
sm8960/libhwcomposer/hwc_utils.cpp
sm8960/liboverlay/overlayMdpRot.cpp
sm8960/liboverlay/overlayMdssRot.cpp
sm8960/liboverlay/overlayRotator.h
bf3b12bcc5a565d76f29e75d40baacc0718db2bc 16-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for smooth streaming feature.

Update the source video width and height set by the video decoder
for the secure video smooth streaming usecase from the gralloc
metadata.
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>

Change-Id: Id0dbfd7f01972ac0bfa16d2b532f168cefc41254
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
sm8974/libqdutils/qdMetaData.cpp
sm8974/libqdutils/qdMetaData.h
22398d903b918ab70d33dc6278c6b77840d931a1 16-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> Revert "display: Video Encoding not working"

This reverts commit 0a1db6aef28c3b90d1f992f56abc562dbae10b55.
Video encoder uses the NV12 encodeable format again.

Change-Id: I1b5170a5c2b5c7de0791cc5bc44457257519f749
sm8974/libgralloc/gpu.cpp
a5b5aebd86ed595990435692e7e7ede31aeb63dc 17-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Bump up version to 1.3

Increment hwc version to 1.3.
Create and use a converter from float source crop to integers.

Change-Id: I5e185195c975b3a9434c5d9dce9ae4757ff98739
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
9e3d34120ce5f349322a8ffe41d9655a183a8202 16-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Move creation of secondary composition objects to utils

Move the creation of secondary composition objects to functions
in utils so that they could be used for both external and virtual
displays

Change-Id: Ic9e13944330990e07f9f64654e622aeb7667923d
sm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
9592f7b9f1902a592d8f7632bc2706467ed60736 15-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: writeback: Add API to set output format, get writeback FB fd

Add support for setting writeback output format.
Modify the getter to query the driver for output format
if not already done.
Add API to retrieve writeback fb node's fd.

Change-Id: I4a3681b6501c41a094e4cd840591b707b4d7ed66
sm8974/liboverlay/overlayWriteback.cpp
sm8974/liboverlay/overlayWriteback.h
9f134efcc0c67c240ab367b9a4ffd21295020143 19-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
5e05ca3bf6ebcfa81f69ed47ba5ab7f4b037c098 18-Aug-2013 Jesse Hall <jessehall@google.com> Merge "HWC now defines HWC_DISPLAY_VIRTUAL, remove local version" into klp-dev
5fcdd463b18bc1796d57fde7d2876a32a816d7c5 16-Aug-2013 Jesse Hall <jessehall@google.com> HWC now defines HWC_DISPLAY_VIRTUAL, remove local version

Change-Id: I22f2d7c162de57a8f1aca147f7d99f049beb107b
sm8960/libhwcomposer/hwc_utils.h
sm8974/libhwcomposer/hwc_utils.h
sm8x26/libhwcomposer/hwc_utils.h
277c3f1bc1ae90749ab5fbbf7225b578bcf4fb79 16-Aug-2013 Jesse Hall <jessehall@google.com> Replace sRGB_888 with sRGB_X_8888

Bug: 10357459
Change-Id: I4d462ed21a3b53dbe84319cce802ff92043e5002
sm8960/libgralloc/alloc_controller.cpp
sm8960/libgralloc/gpu.cpp
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/gpu.cpp
c46e4be02488b094fe8e310c71077a2cd39da59a 15-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fix NV12_ENCODEABLE allocation

Targets having the venus core have the same allocation and stride
requirements for HAL_PIXEL_FORMAT_NV12_ENCODEABLE as the
HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.

Change-Id: Ie5ab8db6639dfa791c5be0161cde6140c3dae779
sm8974/libgralloc/alloc_controller.cpp
df955645ddf50b3a14a746ead69c62d95f3fad3c 15-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
fcd23276f6846a81a107c52372a9a29cf5dd8b4a 15-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Cleanup secondary configuration variables / helpers.

Make secondary configuration status as an attribute per display.
Replace the unused helpers related to display's active state with
display's configuring state.

Memset display atttibutes to 0 at bootup.

Change-Id: Id964eba9d268c5a0daa7a9f187a542db36f90362
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
78d42591f4cff5d783c631ede5157757278a45c3 14-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Hold blank lock for the entire composition cycle.

Hold blank lock for the entire composition cycle, since
a blank call may delete objects required by hwc_set.

Change-Id: Ie9050adaac00d8f769835152d0ecfc1721aa4e8c
sm8974/libhwcomposer/hwc.cpp
dc4a81c03fcf5bdb2f3b12bc42fafb3b00bfa67c 14-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Remove overloading external display with writeback

Remove the APIs that allow overloading external display with writeback
display. This was a hack until the framework used hwc to do writeback.

Change-Id: If1d35cde84d8d0875ded2e6725e526a965976599
sm8974/libexternal/Android.mk
sm8974/libexternal/external.cpp
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
sm8974/liboverlay/pipes/overlayGenPipe.cpp
d80659c540b719660c7af9f530445268bc409db6 03-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add assertive display support.

Add assertive display support to hwc. This feature takes effect when
node /sys/class/graphics/fb*/ad is present. This signifies that that LM0
is being used with fb* for writeback.

When a video playback begins we write "1" to this node to indicate to
post processing that a writeback will happen. Likewise a "0" is written
to this node when playback stops.

The original contents are worked upon and the modified output is fed
via writeback to either rotator or mdp as appropriate.

The feature doesnt trigger when either:
1) Buffer size exceeds 2048
2) External display is connected
3) Multiple yuv streams are present

When this mode is active, MDP comp is applied only to yuv layer.

Conflicts:

msm8974/libhwcomposer/Android.mk
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h

Change-Id: If5520f9dc849de3189c9f9ed4e9072c8f8f760e1
sm8974/libhwcomposer/Android.mk
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_ad.cpp
sm8974/libhwcomposer/hwc_ad.h
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
sm8974/liboverlay/overlayWriteback.cpp
sm8974/liboverlay/overlayWriteback.h
ed69bc8090c0a784a65d91d5ef2c013f7c93f873 14-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Disable idle invalidation for command mode panels

Command mode panels have an internal framebuffer with which they
refresh, hence the idle invalidator isn't needed for them.

Change-Id: I6acf0cc1f8c520cbcf706f109a42e47304c534d3
sm8960/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
410eabf29c9849aac53131446521cba1b7773b7b 14-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to klp-dev
818bb2ba955a40c725b256407ac258ff68120902 14-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> Revert "gralloc: Invalidate buffer on alloc"

This reverts commit 68f0e1a77104a1ac14bca8f21cf32c613725b6e2.
sm8974/libgralloc/ionalloc.cpp
636f2a499a682f7eb7ecce52d22c1c77c1fc84fc 14-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Enable plane alpha on 8974

Change-Id: I1506190279cddc2c46b6768276c4a5beae407643
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/liboverlay/overlayMdp.h
517e8b0015001fed3ea1d7bbeeda421de7fdeb2e 07-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: split display: Fix left split default value if not published

If the left split is not published by the driver then the default should
be even split. This was missing from the configuration in utils. This is
already taken care of in framebuffer configuration and mdp composition.

Change-Id: I3db44481fd791809146752ddff56420dcbe89fb4

Conflicts:

msm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
0ddfa307452987336b5ec22967ba701c221f8402 18-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix locking in external connect and composition.

The external configuring flag should be set after holding locks.
Before opening FB for HDMI/WFD, composition should give up any
open external FB resources.

Locks should be held by composition for the entire duration.

Change-Id: I703f69f156c665bf422613567c00aae340f3ee12

Conflicts:

msm8974/libhwcomposer/hwc.cpp
msm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_uevents.cpp
a8c3d11acf21811ee74589d08dbcc037cd763526 30-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Prevent pipes from switching mixers

For split displays, earlier we allowed pipes to switch mixers in
subsequent rounds. This change prevents that and makes sure there
is one composition round where a pipe being transferred to another
mixer of the same display is UNSET

Change-Id: I3c679cc4256363eeb70c5cf8bcaf5047b8a064c2

Conflicts:

msm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
ccb4eac13ac00f24dfeeb190553164ab5d5d7d84 01-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Remove non-wormhole usage from FB config for split display

Remove the non-wormhole calc usage from framebuffer config, since
it was intended for 2D blit which isnt used for split config.
Also the usage leads to incorrect behavior for split displays.

Change-Id: I262b2f7b04f400727bcd97677502239e1080c979

Conflicts:

msm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
0c0034319797d569da8859fb1af7128c39d7b730 31-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Fix compressed output buffer size for MDSS Rotator.

Compressed output buffer size calculation for MDSS Rotator needs to
be performed according to destination rectangle (rotated src rect)
due to alignment requirements (like non-BWC calculation).

Change-Id: I6a232d77ca5fce42a1cc3e7f406c9cc4d46553ed
Acked-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
sm8974/liboverlay/overlayMdssRot.cpp
sm8974/liboverlay/overlayRotator.h
63740d39c9a8140e7a26f24e8069e75f73d1a32d 23-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Configure framebuffer before other layers.

If framebuffer needs to be configured, configure it before all the
other layers in mdp composition. This helps in cases where we are
out of SMPs and framebuffer configuration fails owing to that.
Framebuffer being the fallback path, should always get highest
priority when reserving SMP blocks

Change-Id: Ie7a6903d1b9fb98b308689c81522571449bf2e8e
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
832fb268445bd30f2a44a7e34e6fcc2da31c6ffc 19-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add setting to disable idleinvalidator

Added the ability to disable idleInvalidator when the
debug.mdpcomp.idletime property is set to "-1". The hwc test app
displays image on the screen with surface flinger turned off.
This causes timeout, so this change is to allow the testapp to
disable the timeout functionality by setting property.

Change-Id: I1adf28eea33ea73f3695644bec95056d16bd85f8
Acked-by: Zohaib Alam <zalam@codeaurora.org>
sm8974/libhwcomposer/hwc_mdpcomp.cpp
2e60af57ad7146a776ac535c702f1b0183dd85c8 11-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: wfd: Fix locking on pause resume events

Fix locking on wfd pause, resume events. Some variables are updated
without proper locks being held.

Fix external related lock in hwc to include complete prepare and draw
Mdp comp for primary, otherwise, ends up reading some flags without
locks.

Change-Id: I0f2f0953a7ab322128d044ca3458e359da4e575e

Conflicts:

msm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_uevents.cpp
ebf1dd44e868bdbb9a7563f0aa186512a0f57cfb 13-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Set external display indicator on RESUME event

Treat RESUME event as ONLINE event. On Resume event, set
external display indicator. This will ensure that GPU
will be used for Primary composition there by freeing
remaining pipes ensuring that External will be assured
of pipe allocation.

Change-Id: I53471f4f828811ed8645cf8b08beaab7b46d181d
Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
sm8974/libhwcomposer/hwc_uevents.cpp
a80e42523ad00fdca7e33a76a6cb78469042777b 07-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Invalidate buffer on alloc

ION, while it does zero out buffers on allocation, does not
guarantee the cache state.

Change-Id: I95add521ea0f3694fe97c38e0520cb68c5abaed8
Bug: 10041465
sm8974/libgralloc/ionalloc.cpp
68f0e1a77104a1ac14bca8f21cf32c613725b6e2 07-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Invalidate buffer on alloc

ION, while it does zero out buffers on allocation, does not
guarantee the cache state.

Change-Id: I95add521ea0f3694fe97c38e0520cb68c5abaed8
Bug: 10041465
sm8974/libgralloc/ionalloc.cpp
8e26f9db98d646674e0228fd8e28fed11d8a435f 05-Aug-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
32c2c1b1490e949a15dca9351f213d91be2b79d5 27-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add allocation support for sRGB formats

Refer to graphics.h for the definition of these new formats.
The HWC doesn't yet support output to these formats.

Change-Id: Ib924e7b41ccedb808631e0a23f706f3d9a209048
sm8960/libgralloc/alloc_controller.cpp
sm8960/libgralloc/gpu.cpp
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/gpu.cpp
f85bb4d3d5973ca98608c196f8ae81c40f4d0711 30-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
966f989a6d502dc12ad7f5ad950180df6581f382 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of HAL pixelformats 5551 and 4444

Change-Id: I817510c3c7c0c3d95924c2ffc79e5727a6d6c48f
sm8960/libcopybit/copybit.cpp
sm8960/libcopybit/copybit.h
sm8960/libcopybit/copybit_c2d.cpp
sm8960/libgralloc/alloc_controller.cpp
sm8974/libcopybit/copybit.cpp
sm8974/libcopybit/copybit.h
sm8974/libcopybit/copybit_c2d.cpp
sm8974/libgralloc/alloc_controller.cpp
sm8x26/libcopybit/copybit.cpp
sm8x26/libcopybit/copybit.h
sm8x26/libcopybit/copybit_c2d.cpp
sm8x26/libgralloc/alloc_controller.cpp
51abb5c6e380411d22ff0f86ac52e79c73626ed9 25-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> display: Add support for HAL_PIXEL_FORMAT_NV21_ZSL format

Add Support for HAL_PIXEL_FORMAT_NV21_ZSL format in gralloc for
camera capture usecase.
This support is required because, CPP module requires 64 byte
aligned width and height to resolve corruption in bottom/left edge
of the landscape/portrait buffer.

Change-Id: Id3e0e5f3d695d5111f3469f78a1d52aad9bea4f4
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/gpu.cpp
sm8974/libgralloc/gralloc_priv.h
f0dca604ef4041bb6f839c35ce297ed1d5558e3c 25-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> display: Add support for HAL_PIXEL_FORMAT_NV21_ZSL format

Add Support for HAL_PIXEL_FORMAT_NV21_ZSL format in gralloc for
camera capture usecase.
This support is required because, CPP module requires 64 byte
aligned width and height to resolve corruption in bottom/left edge
of the landscape/portrait buffer.

Change-Id: Id3e0e5f3d695d5111f3469f78a1d52aad9bea4f4
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/gpu.cpp
sm8974/libgralloc/gralloc_priv.h
ac40841ecb71b3e81acf66a81e45578112a67729 24-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
0935bc3c9e0e09063202ab3cd20cd67ba4455632 10-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Handle video with plane alpha

An earlier patch disabled plane alpha completely for video.
Instead, do this only when we are in video only mode.

Change-Id: I6ebee54d3aed4d40c0090e01e9b0bc07e7972bfd
sm8974/libhwcomposer/hwc_mdpcomp.cpp
7f791f901f4409456c80a1059f6e635a3430542c 12-Jul-2013 Prabhanjan Kandula <pkandula@codeaurora.org> hwcomposer: Fix a deadlock with debug enabled.

If debug property for MDP composition is enabled,
we call dump function from composition thread.
Make sure we are not holding the MDP composition
lock before calling dump function as this also tries
to acquire the same lock and causes a dead lock.

Change-Id: I05e5fd58be096f1ab683d796cc1beb4972c2168f
sm8974/libhwcomposer/hwc_mdpcomp.cpp
f6b4e6bb146d4dee7424acff9737f539f8ed727f 16-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Default to an error value for mapFrameBuffer

We do further operations in fb_device_open based on the result of
mapFrameBuffer. However, if mapFrameBuffer is never done, we
could end up with a random crash when using the info values in
fb_device_open. Defaulting to an error value avoids this.

Change-Id: I1e51f814611a3f2eb73f36d75e14d8725ca98474
sm8974/libgralloc/framebuffer.cpp
0ab081c1c95f7394ce5a352900da6d61e513a724 12-Jul-2013 Radhika Ranjan Soni <rrsoni@codeaurora.org> copybit: Add support for HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.

Currently framework is not returning the correct MDP format
corresponding to HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.
Modifying the right format to be returned.

Change-Id: I1862dea6daf6cc90e25492af7bf2e7f3bf6328ec
sm8974/libcopybit/copybit.cpp
1eda3814b8feedadcc2801b2af4d1076caae55ad 16-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Fix crash due to small debug buffer size

The debug buffer size is insufficient for newer targets with multiple
pipes. The code causing crash is enabled only if the PIPE_DEBUG macro
is enabled during local debugging.

We now increase the buffer size and also put some string operations under
the macro check for efficiency.

Change-Id: I4ad418d314fd8c7d374ccfdb0943dde44d968922
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
ba59309c5e08d8e56adcb90a86b9523d84f7836a 10-Jul-2013 Prabhanjan Kandula <pkandula@codeaurora.org> hwcomposer: Fix a crash with MDP composition.

Reset the current frame data before returning from MDP
composition prepare to avoid accessing previous frame data
in MDP composition draw phase. Avoid the number of app layers
going beyond the layer count limit in MDP composition.

Change-Id: I2a3035ad5cb1731060b9359ccdbe9fe0c07e843c
CRs-fixed: 510683
sm8974/libhwcomposer/hwc_mdpcomp.cpp
5ceb9c6a763418d5e0cf5da4e74b7a7c733fb4b1 27-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add writeback support

Add explicit writeback display type, writeback ioctls, memory mgmt,
writeback class, writeback obj manager class to overlay.

Change-Id: I171e60cea5ed8f6649859e3eb189df37b39962f1
sm8974/libhwcomposer/hwc.cpp
sm8974/liboverlay/Android.mk
sm8974/liboverlay/mdpWrapper.h
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
sm8974/liboverlay/overlayUtils.h
sm8974/liboverlay/overlayWriteback.cpp
sm8974/liboverlay/overlayWriteback.h
sm8974/liboverlay/pipes/overlayGenPipe.cpp
sm8974/liboverlay/pipes/overlayGenPipe.h
c7a5b0254c88127782ffceb6e1a675b43467ec8f 09-Jul-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libqdutils: Add synchronization to idle invalidator

Protect invalidator data from accessing multiple threads
asynchronously. Composition thread and idle invalidator
threads could access at same time. Add locking to protect
invalidator class member variables.

Change-Id: I568ec367958c88f70f7aa4e6917abd53830adfd3
sm8974/libqdutils/idle_invalidator.cpp
sm8974/libqdutils/idle_invalidator.h
180608ed79e238a94d6b25774193c8c92f44ee2b 09-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Increase precision in triming

Increase precision from float to double in triming calcs.
This improves the output. We need this since ultimately
we assign to int which would truncate excesses. With float
due to lower precision, we end up slightly lower than an
integral value.

Change-Id: I5d781b609be1761b746edf6503340f34a985b9e2
sm8974/libhwcomposer/hwc_utils.cpp
639ac9e9129afb98d8f412845c74f98fc9ddfa16 09-Jul-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Update rotator buffer size calculation for BWC.

For BWC, update the rotator buffer size calculation in display HAL
as MDSS driver needs to allocate for both chroma (U & V) planes.

Change-Id: I140be2b0a38d6cd66e2ee1b3c9a8bb06efd96bfe
sm8974/liboverlay/overlayMdssRot.cpp
6f71989aacffc69803487cc8d584e2344a85ae0a 02-Jul-2013 Arun Kumar K.R <akumarkr@codeaurora.org> liboverlay: Allocate cached rotator buffers

- gralloc does not invalidate and clean the cached buffers.
- Using cached buffers for rotator does not add any benefit as
rotator doesn't touch the L2 cache. Since no one accesses the
memory but the rotator and mdp, so make rotator buffers uncached

Change-Id: I3dc3c91afb2fc07b7473662323339aac1cea3d73
sm8974/liboverlay/overlayMem.h
d23215088028c7a58a467110ca609fea08f702a1 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Remove memset.

The ion driver now guarantees that it will give us a zero'd out
buffer at allocation.

Change-Id: I7ec2b7d6dd94cdc394de12b69249ac9e1baa6708
sm8974/libgralloc/ionalloc.cpp
6262a9e3060d43fa95c4cb520db1882aec3deb6a 23-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
94fd4abe8af8043be03beb2b7ffa03c31c0e3fc3 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> display: Export headers

Display headers used by other components should be at a common
location to avoid issues with future changes in paths.

Change-Id: I9a87a2a34ac7e88019dea2ae258d611ef34df6bc
sm8960/common.mk
sm8960/libcopybit/Android.mk
sm8960/libgralloc/Android.mk
sm8960/libqdutils/Android.mk
sm8960/libqservice/Android.mk
3ae251fdb3faa819216cfc5a0c73264748dd9477 22-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
290b01476861c27fa9dabbc7f59c9f246c304c5d 20-Jul-2013 The Android Open Source Project <initial-contribution@android.com> am ea746131: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit 'ea746131b1b54199ee5b99b686ae567f024825e9':
hwc: Resend the command after broken pipe is fixed
hwc: Handle the broken pipe issue between hwc and ppdaemon
ef7a34a100962fd4bc5d5415a2db4b8bc7d2fdc9 20-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 98ac6ad7: am b5258f91: hwc: Resend the command after broken pipe is fixed

* commit '98ac6ad74b33dc91ce08a9ee637f310449402b07':
hwc: Resend the command after broken pipe is fixed
2dd419024d46662b0a697ffe6e659d20e66abfef 20-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 7e127d7b: am 6285dc6b: hwc: Handle the broken pipe issue between hwc and ppdaemon

* commit '7e127d7b4c6f99d05955667dfddae1e96b4489fb':
hwc: Handle the broken pipe issue between hwc and ppdaemon
ea746131b1b54199ee5b99b686ae567f024825e9 19-Jul-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: Ief073653d76c548ec0ca2f629a8fa6dee276a341
98ac6ad74b33dc91ce08a9ee637f310449402b07 19-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am b5258f91: hwc: Resend the command after broken pipe is fixed

* commit 'b5258f91260c9b963b10321a252b0909f7ee0cae':
hwc: Resend the command after broken pipe is fixed
7e127d7b4c6f99d05955667dfddae1e96b4489fb 19-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 6285dc6b: hwc: Handle the broken pipe issue between hwc and ppdaemon

* commit '6285dc6b906767fa9331f12b903b832efea2943b':
hwc: Handle the broken pipe issue between hwc and ppdaemon
be259613b4590546cc0d66bf9a7483b556167731 18-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Resend the command after broken pipe is fixed

Bug: 9850103

Change-Id: Ia2ee8019394ce1397fe7eaf73a44a00b0b78e88c
Acked-by: Ping Li <pingli@codeaurora.org>
ibhwcomposer/hwc_utils.cpp
b5258f91260c9b963b10321a252b0909f7ee0cae 18-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Resend the command after broken pipe is fixed

Bug: 9850103

Change-Id: Ia2ee8019394ce1397fe7eaf73a44a00b0b78e88c
Acked-by: Ping Li <pingli@codeaurora.org>
ibhwcomposer/hwc_utils.cpp
a5fe92b6b85dc6e4abcd553892d237d9a10e2343 18-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
9c14a425d69417f4c20b65d8312cc74df010ce0f 17-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Handle the broken pipe issue between hwc and ppdaemon

If broken pipe is detected, close and then re-establish the connection
between hwc and ppdaemon.
Acked-by: Ping Li <pingli@codeaurora.org>

Bug: 9850103
Change-Id: I68ff21b93ab5b40608ca9ab4951adaa9d75fa17e
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
6285dc6b906767fa9331f12b903b832efea2943b 17-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Handle the broken pipe issue between hwc and ppdaemon

If broken pipe is detected, close and then re-establish the connection
between hwc and ppdaemon.
Acked-by: Ping Li <pingli@codeaurora.org>

Bug: 9850103
Change-Id: I68ff21b93ab5b40608ca9ab4951adaa9d75fa17e
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
57b955f68d6caa0d19e150e4c733d1569ae438a9 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for HDMI vsync

SurfaceFlinger can enable HDMI vsync through event control.
Poll for HDMI vsync events and report them to SurfaceFlinger.

Change-Id: I301f1dffbab56b3b5a3dda5a59c37721688d7849
sm8974/libexternal/external.h
sm8974/libhwcomposer/hwc_vsync.cpp
9db8fc096b903daa959f202d3fea62f9ab15fa4d 15-Jul-2013 The Android Automerger <android-build@google.com> merge in klp-release history after reset to master
60e32bdad5a704c92e0b49e82cf7b15543d1370e 12-Jul-2013 Ajay Dudani <adudani@codeaurora.org> display: Video Encoding not working

Gralloc hw encoder format is still mapped to legacy format.
Changing this to HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS.
The buffers allocated are according to the venus memory
requirements.

Change-Id: Ia3da6f3bbe7e625d6704c4f6dbcf0ceba3a9d5bf
sm8974/libgralloc/gpu.cpp
1912dc3354135fe5bfea1b5573c7b1719cb6e65e 12-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> libcopybit: Export copybit headers

These headers are included by the GL libraries regardless of
whether copybit is built

Change-Id: I84d51e1a91cb1629000a71bd682bd158a4cb3067
sm8974/libcopybit/Android.mk
0a1db6aef28c3b90d1f992f56abc562dbae10b55 12-Jul-2013 Ajay Dudani <adudani@codeaurora.org> display: Video Encoding not working

Gralloc hw encoder format is still mapped to legacy format.
Changing this to HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS.
The buffers allocated are according to the venus memory
requirements.

Change-Id: Ia3da6f3bbe7e625d6704c4f6dbcf0ceba3a9d5bf
sm8974/libgralloc/gpu.cpp
1006149d50e22a7df41e2d9910e5a24507e680b1 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> display: Remove unused components

libgenlock has been replaced with sync point and the
functionality of libtilerender is present in the Android
framework since JB MR1

Change-Id: Ibeebc544e3a48343c3dab04a1682a7f8c7ffb188
sm8974/libgenlock/Android.mk
sm8974/libgenlock/genlock.cpp
sm8974/libgenlock/genlock.h
sm8974/libtilerenderer/Android.mk
sm8974/libtilerenderer/tilerenderer.cpp
sm8974/libtilerenderer/tilerenderer.h
bbde31b47f982cff5bd154c0298181d390b394ee 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> display: Export headers

Display headers used by other components should be at a common
location to avoid issues with future changes in paths.

Change-Id: Iaec21206b82dd7dae03e598b9ec46b3e6f1bbf71
sm8974/common.mk
sm8974/libcopybit/Android.mk
sm8974/libgralloc/Android.mk
sm8974/libqdutils/Android.mk
sm8974/libqservice/Android.mk
aa9ec69730f7e37e3b13360556eb4104597d76b0 11-Jul-2013 The Android Open Source Project <initial-contribution@android.com> am 85d73284: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit '85d73284466efd5371e632198ec47d8e11b72118':
9bb5e2c787de0076874873e4d0809490b85c2316 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 92b0d124: am e3de5082: hwc: Don\'t lock eventControl for vsync events

* commit '92b0d1243e05ac676d242da089f13d5bfe5dc67a':
hwc: Don't lock eventControl for vsync events
6a87855fa47fdca8bc277034af6e7844cb84a11e 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 1c584fb7: am fbc4be19: hwc: Set a timeout when communicating with CABL

* commit '1c584fb73a9a3ea5d08114f517a706061b3608d2':
hwc: Set a timeout when communicating with CABL
61b0def48758b5ab2555c9eeec3c8f9ce326fff3 10-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Handle video with plane alpha properly

An earlier patch disabled plane alpha completely for video.
Instead, do this only when we are in video only mode, when the
video will be sandwiched between other FB layers.

Bug: 9486278 -- Jank while dismissing video surface
Change-Id: I2edc8c5ff5c90ec205b63175e5f3a4e6ff7eae69
Signed-off-by: Iliyan Malchev <malchev@google.com>
sm8960/libhwcomposer/hwc_mdpcomp.cpp
742ad624e555511b687879e1b3256ee21bf7f9bf 09-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Don't lock eventControl for vsync events

Locking here can lead to a delay in vsync disable/enable
where prepare/set is not yet completed. The HWC spec says that
eventControl needs to take effect immediately.
This lock was earlier present when we waited for SF to unblank
primary at startup and the vsync control ioctls could fail.
This is no longer necessary as we unblank primary on startup now.

Change-Id: I2bf18ae9235f8dd428a495a9a23af7f00f34ff1d

Conflicts:
msm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc.cpp
d8a06da32bd7ba22845c5a700c09dff6b32873c7 17-May-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: fix mode selection

Consider 1024x768p vesa format when deciding the best mode

Change-Id: I5966689c24ad19cccfdf280d73c4cdd95c8b3662
sm8974/libexternal/external.cpp
582adb7377237c7028009d452266055359c3780d 08-May-2013 Manoj Rao <manojraj@codeaurora.org> libexternal: Support VESA format

Add support for VESA formats with pixel clock
at 65MHz. This change helps verify support
for formats corresponding to 65MHz in the
HDMI/MHL driver by using 1024x768p604:3 resolution.

Change-Id: I28b4adcfced7e8bfe7b75c534f5b15c25138ef7f
sm8974/libexternal/external.cpp
a249ee3c3e3a7ac7d687d188fcce157ad1706c25 11-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: change action safe property to persist

It is more probable that end user always use same TV to connect.
Hence make the action safe property persist, so that it is
persistent across reboot
Also, change property to sys. from hw. so that hwc can write

Change-Id: I5a77156012d121e28d1adbadb9162fcdf7ca3edd
CRs-fixed: 472431

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp
sm8974/libexternal/external.cpp
629ecb01e0aba6f378f96756e6c6e6114846f1f3 10-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: Add 3840x2160p25Hz to getAttrForMode

Fix the black screen shown on TV when Resolution
3840x2160p@25Hz was set

Change-Id: Ib3ff35ce53df0409c7643f349f8095c7f2ad4d1d
sm8974/libexternal/external.cpp
90eaa60b7db56c6c494bf7cb10115a97e4bac3bc 12-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: Add support for SPD Information

- SPD: Source product description.
- Retrieve the product vendor and name from the system
property and pass it to the hdmi driver.
- This will display some specific names for source such
as instead of "Input 1" it might display "QCOM 8974" for
example

Change-Id: I5440841b9e47110386c793045f3b30774522dcb6

Conflicts:
msm8974/libexternal/external.cpp
sm8974/libexternal/external.cpp
sm8974/libexternal/external.h
b07b9f6cb3a565d1c9018d94053341b3267edfd2 16-Nov-2012 Ujwal Patel <ujwalp@codeaurora.org> 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
sm8974/libexternal/external.cpp
d807b6380cf25bea95dc73ce937748c6c46b9f78 25-Jan-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: Add support for vesa format

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

Change-Id: Idb2c752554bfb130bba8db2b29444afcacc40fee
CRs-fixed: 438028
sm8974/libexternal/external.cpp
f71fdc83b0ecd5c97e1480a2801a88627fccb976 01-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> 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
sm8974/libexternal/external.cpp
sm8974/libexternal/external.h
c95c8f7c0a55bf2d6489bf3666d523def43496ec 04-Jul-2013 Terence Hampson <thampson@codeaurora.org> copybit: call blit ioctl before freeing intermediate buffer

Pass in buffer handle before it is freed to prevent blit operation
from failing while importing buffer.

Change-Id: I4a944e7b2c0f6e19b55ed5602eda49d14d5e78f0
sm8974/libcopybit/copybit.cpp
39fd54ca5748e660fd3c05131b94bcab33121cd3 03-Jul-2013 Xiaoming Zhou <zhoux@codeaurora.org> hwcomposer: 8x10: increase frame buffer count to 3 for copybit

On 8x10, ppp composition is enabled. For PPP blending operation,
it can take around 14-15ms. This results that when the frame is
given to the display for rendering, it can happen around the
vsync boundary. While DMA does the page flipping, it makes sure
it happens on vsync boundary. However, in the ppp case, the vsync
can be from the previous frame, not the new frame just delivered.
Because of that, there will be tearing. Increase the buffer count
to 3 will resolve this issue, and improve the frame rate as well.

Change-Id: I53bff1a61b38eaecd286fdbe8a069522e28df6ba
sm8974/libhwcomposer/hwc_copybit.h
64718efc5e715c5980c5a6abb96423414953aacc 04-Jul-2013 Xiaoming Zhou <zhoux@codeaurora.org> libqdutils: delay the close of fd handle

During surfaceflinger initialization, the first fb open
call comes from the MDP version check. The MDPVersion
class implements a singleton object, which open and close
the fb device. This initial fb open and close will trigger
the kernel driver to turn on and off the display, which
results two side effects: 1) extra delay in the display on,
2) one flicker when the display is turned on and off.
The change is to close the fd handle in the destructor.

Change-Id: I2ee5cfc78cbb613ed1326d9f7c26cbca97406163
sm8974/libqdutils/mdp_version.cpp
sm8974/libqdutils/mdp_version.h
f6e6ff009a66b3091c40fa674e43b39a698d34f3 04-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Do not map framebuffer memory unless needed

The SurfaceFlinger opens the framebuffer module even when it
isn't necessary. It does this for some legacy hals.
Due to this we unnecessarily mmap the fb memory in gralloc.
Do not map this unless the property to use the framebuffer
memory is set.

Change-Id: Ib4ebfdf9a63af0dabb53170342181bac0360baeb
sm8974/libgralloc/framebuffer.cpp
8a6ebcb5198fb29d30a3c4a934373ca37cf245e5 03-Jul-2013 Xiaoming Zhou <zhoux@codeaurora.org> liboverlay: remove the unused rotator object

The rotator object in the generic pipe is never used.
Remove this unused object along with other rotator
related member variables.

Change-Id: I66d60e14565cab730228c3116e67e5c619296284
sm8974/liboverlay/pipes/overlayGenPipe.cpp
sm8974/liboverlay/pipes/overlayGenPipe.h
8b68763922271a460cbfdeb36d845404756c105b 03-Jul-2013 Raj kamal <rkamal@codeaurora.org> copybit: Fix mismatch between HAL and MDP formats.

Fix the format mismatch between HAL and MDP formats
in copybit. This is to handle chroma issues on 8x10
for SW decoded videos.

Change-Id: I0b1ddc10cfca0c8b219838b33253a0c87b7c8f97
sm8974/libcopybit/copybit.cpp
e166ca5c0f29d6d883d0e930c6129fbc37bfdca4 02-Jul-2013 Prabhanjan Kandula <pkandula@codeaurora.org> hwc : Fix crash during dumpsys

Dumpsys runs in different thread not in composition thread.
Accessing mdp composition frame info in dumpsys with out
synchronizing could cause crash since frame info can get reset
in composition thread.

CRs-fixed: 503268

Change-Id: If3f7d8cc9fce8b14622e666fa52583ff0cfdedd2
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
32a7f2f765c4445983a159fdd2d04736e596f394 18-May-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Add action safe support for low res panels

Consider action safe values for UI and video while
configuring overlay for low res panels

Change-Id: Ia40c3e2bb21f808ec127df3edb10e484b82cec3f
CRs-fixed: 481442

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.cpp
5fc625d2fbc2b3872ec5a92f1597eea1577b11ae 03-May-2013 Pawan Kumar <pavaku@codeaurora.org> libcopybit: Fix GPU page fault on c2d use

On HDMI connect or other use cases where finish_copybit
is called, reset dst_surface_mapped and dst_surface_base
as destination surface is already unmapped.

Change-Id: I0073a46178e6b1ecfdbf0a08d8790af4271bc37b
CRs-fixed: 481685
CRs-fixed: 502555
sm8974/libcopybit/copybit_c2d.cpp
35fba7a6327e8ae5d64391e80f2e6435ec9a4fa6 02-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: split display: Fix flip on which to do crop swap

Crop swapping is being done on V flip, rather it should be done
on H-flip in case of split displays.

Change-Id: If6136ad36731f4ac4847e94d8dfa851182f25c83
sm8974/libhwcomposer/hwc_utils.cpp
c8d469b624a36b3c704a123381bad38bf5efa103 27-Jun-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: enable HPD if target supports HDMI

enable HPD only on targets that has valid HDMI fb device.

Change-Id: Ia43d9138167b6ab3a887f7663a05831a2fcc09ea
CRs-fixed: 506363

Conflicts:
msm8974/libexternal/external.cpp
sm8974/libexternal/external.cpp
e26b2eb3077d9fe4477c7b132efee0b855266ba9 02-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add 8084 to the list of mdss targets.

Add 8084 to the list of mdss taregts in make file,
so that the compile time flags are enabled.

Change-Id: Icba9686a5c51b463c5f2c07d3c1781fe23312469

Conflicts:
msm8974/common.mk
sm8974/common.mk
828e828437e9d6dd027819c2bbea21f0c13597d5 11-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for uneven split primary displays

Add support for unevenly split primary displays.
The driver provides info about the split via msm_fb_split sysfs node

For external we assume even split. If driver doesn't specify any split
for primary, we default to even split.

Change-Id: I4d541f41de2d7a5d2b62653fa33cab079a6d5d30

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_uevents.cpp
msm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_fbupdate.h
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libqdutils/mdp_version.cpp
sm8974/libqdutils/mdp_version.h
c1607973c2d29f7f5bf00ce1be4914e13215f933 01-Jul-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: support 8x26 variants

Add support for 8x26 variants (8x26v1, v2 etc..)

Change-Id: Ie316c1f77fdafb8021100f371c2ebc327e1c9da9
sm8974/libqdutils/mdp_version.cpp
b46eaaa52014d32f650fa50b6896fee179d9e721 21-Jun-2013 Dhivya Subramanian <dthiru@codeaurora.org> copybit: Fix type conversion error for GCC 4.7

GCC 4.7 has stricter type conversion rules in copybit.cpp

Change-Id: I7f8572e2d9416ccb2ba17e707c7f75a2e69d69cf
sm8974/libcopybit/copybit.cpp
c980f525f50689154df2bc6a510b8b5810931af1 18-Jun-2013 Prabhanjan Kandula <pkandula@codeaurora.org> hwcomposer: 8x26-1080p: dont allow mdp comp with HFLIP.

If an incoming layer has HFLIP tranform it needs two lines of
SMP buffer(or latency buffer). For panels with width greater than
1k this is costly. Fallback to GPU if RGB layer transform has HFLIP.

Change-Id: I9de63bf088d6afa0924ece7ac75e68f0bab7a6b5
sm8974/libhwcomposer/hwc_mdpcomp.cpp
04af919f7d16572b16a91d8b681afe42386fb4e1 17-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: 8x26: Composition policy when WFD connected

When WFD is connected to 8x26
1) On Video transition, have 1 padding round if external connected.
Required to shift pipes across mixers.
2) Request DMA pipe always for FB on WFD.
Necessary for rotation + writeback
3) Disable non-worm-hole calcs on external (because of 2)
4) Disable action-safe calcs on external (because of 2)

Change-Id: I63b50b2477db443f9ea1d3fa610b59295c9359b7

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
e465ae1753e615e187136ffc98b7b8d5fe2ef811 21-Jun-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Initialize yuvIndices properly.

memset initializes first 32 bytes of yuvIndices array, so remove
memset initialization and initialize yuvIndices whenever it is required.

Change-Id: I2f01a5c3d07cfbc325f4ca06e3c019616b8a7588

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.cpp
4e6cb925345e033b317e21138c616d0499647a37 19-Jun-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: MDSS cannot handle 1-pixel downscaling for UI layer.

As MDSS cannot handle 1-pixel downscaling for UI layer, decrease
src crop by 1 pixel in such cases.

Change-Id: Ifc1f3a8e416c48db4b09d2ab0838927952e263ed
sm8974/liboverlay/overlayMdp.cpp
714784185f76f7ce4b0f6cbed83f8d856bc14162 13-Jun-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: changes for mr2 bringup

- Disable QCOM_BSP on jb_mr2 till all the display features
are enabled
- Define ANDROID_JELLYBEAN_MR1 determine JB_MR1 SDK

Change-Id: I1271c0f0d392a54e20313f99c0ae494cd69f5492
sm8974/common.mk
cbdbbb9d823365e48643d0d982f4d329ab3e04b4 14-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Use compile time flag for mdss.

The gralloc allocation can happen from processes other than
surfaceflinger in which case we cannot open the framebuffer
device to get the mdp version. Use the MDSS_TARGET flag to
differentiate.

Change-Id: I69bc9ff6004b382a2836274a32fbbd3b2e67dea2
sm8974/libgralloc/gpu.cpp
1e3597c5d8a4ca338dd8093e3f709c8608c21119 14-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fixes for software composition

Check that the buffer is actually an ion buffer
before calling clean. This is needed for the case
where the physically contiguous framebuffer is mapped.
That framebuffer memory is used for bringup.

Change-Id: I2db84d4bfc3465d995f12e0860be3cafa0d4a81b

Conflicts:
msm8974/libgralloc/mapper.cpp
sm8974/libgralloc/mapper.cpp
6287ca3d8c0bc7bd6e18c729781ea1d03bb23034 06-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: poll for vsync event

poll on the vsync file descriptor. This prepares the ground for
multiple vsync updates without adding additional threads.

Change-Id: I30ef0fb34816d438501475cd3e4967775fcb1d19
sm8974/libhwcomposer/hwc_vsync.cpp
5784cd2d1dfbef1239645049f7fedaf800a088a8 13-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Don't use yuv count for fb Z order.

In video-only cases, don't use yuv count for fb Z order, instead use
the mdp count which indicates how many video layers are actually
being sent to overlays.

Change-Id: I53ab4316fbb17f5d054066ef2dd85d89183d6a8c
sm8974/libhwcomposer/hwc_mdpcomp.cpp
87751b32a4861cfa5c987eeea273d2e054a18678 31-May-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libgralloc: Allow USAGE_RARELY flags to be uncached

Allow GRALLOC_USAGE_SW_READ_RARELY and GRALLOC_USAGE_SW_WRITE_RARELY
flags to be uncached.

Change-Id: I014d659e5d5465c6a27aa3979d52cbf3f7c14024
sm8974/libgralloc/alloc_controller.cpp
4a6d3c5e8515236621b80e2cc2ecb8d049d1d25b 13-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: split display: Allow FB to acquire any pipe

In the high res, partial mdp comp, we may end up using all rgb pipes
before fb is configured. Let fb use TYPE_ANY, so that pipes are
searched for starting with RGB, VG, DMA.

Change-Id: Ie30992f9ad56b83b3411ab4f6bea2bb317bb0ef1
sm8974/libhwcomposer/hwc_fbupdate.cpp
85d6a62681fd835b64238766eb5401c61e7d328e 29-May-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Allow system heap to be uncached.

Remove an old check that prevented this from happening.

Change-Id: I938b11b27e58fc38a679dc55e31e7b51eb86bd3a
sm8974/libgralloc/alloc_controller.cpp
0276ce984ec32143bc54428cefe0a8a1a8853e3f 24-May-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwcomposer: Add adb property to disable Mixed Mode

This change adds adb property support to disable mixed mode in
MDP Comp. Will be helpful in debugging issues to narrow down the
root cause.

Change-Id: I49b737bb8755dc3a35db2e1ea8ccb2043135d2b0
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
db0ce0b85469e6de8b460860aad55c5833692be6 07-Jun-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Move max app layer check outside isFrameDoable routine.

Move the condition for checking maximum number of app layers
ourside the isFrameDoable function to avoid heap corruption while
updating hnd array in cacheAll function.

Change-Id: Id4458fcadc7775a2d78b1849de6782857c6ac17f
sm8974/libhwcomposer/hwc_mdpcomp.cpp
02a5da1596ec1e025ba673a5283fb51a2fb41ad4 07-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix MDP comp array index access

Fix MDP comp array index access in case of High Res pipe allocation.
This is already correct in case of Low Res allocation routine.

Change-Id: I7eaa0711ef8998ea03edba18b74db80459daf4c7
sm8974/libhwcomposer/hwc_mdpcomp.cpp
0f47bb43e032f6396d9496c1ecb254c9aa7e94ba 06-Jun-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Fix to avoid heap corruption

- Check for MAX_NUM_APP_LAYERS before updating yuv indices array.
- Fall back to GPU composition when number of app layers exceeds
MAX_NUM_APP_LAYERS to avoid heap corruption.

Change-Id: Ieb91b705a0a5f50ce2f8829d1f1ee048d44b7d2e

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
49dd76fa0b16a77209c0c7b04114f3edec4a7a29 05-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix Bwc policy's decimation check.

In decimation checks of BWC, take log, since a value > 0 and <= 1
doesn't mean decimation will be used.

Change-Id: I2a518e9021a814d3a65e3db793abbb1eb433120a
sm8974/libhwcomposer/hwc_utils.cpp
4b242336eb6dcb56a6e7e1d8e88791958972a4a8 29-May-2013 Terence Hampson <thampson@codeaurora.org> hwc: Allow for yuv content to go through ppp on 8x10

8x10 has overlay but it also allows for composition to go through
copybit.

Change-Id: I086aab118b03c1cbc7fa0dbc080ceb906310deab
sm8974/libcopybit/copybit.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
10a67f20cf26b7a6e37ced8443b66c1cd93cc4d2 23-May-2013 Terence Hampson <thampson@codeaurora.org> copybit: Enable copy bit to use sync pt

Since mdp composition is now an async call, the waiting for fences
is now no longer needed inside copybit. In addition, how
composition ioctl is called is slightly different as a result
needing to pass in aquire fences device performing compsition

Change-Id: Ia12dfb2960ba2fc78b14e776984ffe0c3fe45fdb
sm8974/libcopybit/copybit.cpp
sm8974/libcopybit/copybit.h
sm8974/libcopybit/copybit_c2d.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
85d73284466efd5371e632198ec47d8e11b72118 10-Jul-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: If5d45a497c87a77a9e3b917eef8114b3099a621c
ca3fb9924c3a9282c256f82d78d1ebf8585f8147 10-Jul-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
92b0d1243e05ac676d242da089f13d5bfe5dc67a 10-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am e3de5082: hwc: Don\'t lock eventControl for vsync events

* commit 'e3de50824f3fe007d62e5b7efd87f5b7ed93efcf':
hwc: Don't lock eventControl for vsync events
1c584fb73a9a3ea5d08114f517a706061b3608d2 10-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am fbc4be19: hwc: Set a timeout when communicating with CABL

* commit 'fbc4be199f1c2a50562ea12ae14aa439fd73557c':
hwc: Set a timeout when communicating with CABL
e3de50824f3fe007d62e5b7efd87f5b7ed93efcf 09-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Don't lock eventControl for vsync events

Locking here can lead to a delay in vsync disable/enable
where prepare/set is not yet completed. The HWC spec says
that eventControl needs to take effect immediately.
This lock was earlier present when we waited for
SF to unblank primary at startup and the vsync control
ioctls could fail. This is no longer necessary as we unblank
primary on startup now.

Bug: 9669813
Change-Id: I2bf18ae9235f8dd428a495a9a23af7f00f34ff1d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
fbc4be199f1c2a50562ea12ae14aa439fd73557c 08-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Set a timeout when communicating with CABL

Bug: 9669813
Acked-by: Ping Li <pingli@codeaurora.org>
Change-Id: If0f65e9ee100b368e46f8f6d4edf9d7a93120bed
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
ee452d5211df62928c7a3c3c8e0c9d94209d7343 09-Jul-2013 The Android Open Source Project <initial-contribution@android.com> am 7d87abd8: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit '7d87abd82d4f2b80a5a3569cbf847bde6e2f8679':
7d87abd82d4f2b80a5a3569cbf847bde6e2f8679 09-Jul-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: I535c8be42aca7e49c08532e7fd833f9193cab0e4
fea62458162168f187e063622d19b6e9afc41b72 08-Jul-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
6ede31651a9f207e0c567a4d887e914455424fd9 03-Jul-2013 naseer <naseer@codeaurora.org> am 4f245fd7: am f6ef59b0: hwc: Don\'t kill ppd when HDMI is on and primary also has video

* commit '4f245fd7f44b7506d4d9357116f332286e241359':
hwc: Don't kill ppd when HDMI is on and primary also has video
4f245fd7f44b7506d4d9357116f332286e241359 03-Jul-2013 naseer <naseer@codeaurora.org> am f6ef59b0: hwc: Don\'t kill ppd when HDMI is on and primary also has video

* commit 'f6ef59b077f324003bb6ae74386fe57ca1fb9233':
hwc: Don't kill ppd when HDMI is on and primary also has video
f6ef59b077f324003bb6ae74386fe57ca1fb9233 02-Jul-2013 naseer <naseer@codeaurora.org> hwc: Don't kill ppd when HDMI is on and primary also has video

There is still a power impact when video is playing on primary
with HDMI connected.

Bug: 9680403
Change-Id: Ia12710194ea6ebc677c7a86731a409333853ccfc
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
174f030e09d2cd022b9f016ef4ddd0fd3000ba72 01-Jul-2013 The Android Open Source Project <initial-contribution@android.com> am 82a304b9: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit '82a304b953bd1125c7862e6518600bd6a3efa008':
hwc: Don't run CABL when HDMI is connected
hwc: Ignore SIGPIPE error when communicating with ppd
82a304b953bd1125c7862e6518600bd6a3efa008 01-Jul-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: I3ea784ed51db826e106d75db734301fc32f397b1
9033e8098c7cc733e097f4dae1657ec6e9a15566 28-Jun-2013 naseer <naseer@codeaurora.org> am cf29225b: am a63c9a0a: hwc: Don\'t run CABL when HDMI is connected

* commit 'cf29225bb78a072c6e3fb501f45251f0b26696ac':
hwc: Don't run CABL when HDMI is connected
14d3eff5f9882bb23a1de856a492a595f360aaf2 28-Jun-2013 naseer <naseer@codeaurora.org> am 24ffb909: am be50f7b6: hwc: Ignore SIGPIPE error when communicating with ppd

* commit '24ffb909ad3ed652ea60b0441dd5ef353968f687':
hwc: Ignore SIGPIPE error when communicating with ppd
cf29225bb78a072c6e3fb501f45251f0b26696ac 28-Jun-2013 naseer <naseer@codeaurora.org> am a63c9a0a: hwc: Don\'t run CABL when HDMI is connected

* commit 'a63c9a0ab49be16d7fd465895ffaf2597ba5b4fe':
hwc: Don't run CABL when HDMI is connected
24ffb909ad3ed652ea60b0441dd5ef353968f687 28-Jun-2013 naseer <naseer@codeaurora.org> am be50f7b6: hwc: Ignore SIGPIPE error when communicating with ppd

* commit 'be50f7b6b538e5cacf38f3a5ad127eb5d6f41a71':
hwc: Ignore SIGPIPE error when communicating with ppd
0ddce8a29580899726b79315c3d2871bf084c378 28-Jun-2013 naseer <naseer@codeaurora.org> hwc: Don't run CABL when HDMI is connected

There is no power benefit with CABL when HDMI is on.

Bug: 9605980
Change-Id: I57b3af493e0af54db520fea04dc3a2d007943b82
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
f627de67ffef047e56d5f9a0859b750487c70580 28-Jun-2013 naseer <naseer@codeaurora.org> hwc: Ignore SIGPIPE error when communicating with ppd

This avoids a potential crash in HWC if a SIGPIPE is thrown due
to failure communicating with the other end.

Bug: 9414907
Change-Id: I7f1de4f2ff0f287de4cad29dd92a6e964ba50224
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
a63c9a0ab49be16d7fd465895ffaf2597ba5b4fe 28-Jun-2013 naseer <naseer@codeaurora.org> hwc: Don't run CABL when HDMI is connected

There is no power benefit with CABL when HDMI is on.

Bug: 9605980
Change-Id: I57b3af493e0af54db520fea04dc3a2d007943b82
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
be50f7b6b538e5cacf38f3a5ad127eb5d6f41a71 28-Jun-2013 naseer <naseer@codeaurora.org> hwc: Ignore SIGPIPE error when communicating with ppd

This avoids a potential crash in HWC if a SIGPIPE is thrown due
to failure communicating with the other end.

Bug: 9414907
Change-Id: I7f1de4f2ff0f287de4cad29dd92a6e964ba50224
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
029f429328077a05b20b79e928acce6885f40edb 28-Jun-2013 Benoit Goby <benoit@android.com> Merge "Add msm8x26 directory"
ecf8ff933e57148e904270b566e777303b3276e3 27-Jun-2013 The Android Open Source Project <initial-contribution@android.com> am 90252298: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit '90252298c1468fb793add6378cbb2ad834019cf5':
90252298c1468fb793add6378cbb2ad834019cf5 27-Jun-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: I73799fcc680493c8fb447dd75549fd4f0df5d3c9
33655b87474c35149553b545211c7a0ac2a83e87 27-Jun-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
b166940edca6e312463461438e2aa66e9852c26a 27-Jun-2013 Benoit Goby <benoit@android.com> Add msm8x26 directory

This is a copy of msm8960 with the retireFenceFd change reverted

Change-Id: Id1eadaf2f177e26ecd57c5f36c41b8abed57db42
ndroid.mk
sm8x26/Android.mk
sm8x26/common.mk
sm8x26/libcopybit/Android.mk
sm8x26/libcopybit/MODULE_LICENSE_APACHE2
sm8x26/libcopybit/NOTICE
sm8x26/libcopybit/c2d2.h
sm8x26/libcopybit/copybit.cpp
sm8x26/libcopybit/copybit.h
sm8x26/libcopybit/copybit_c2d.cpp
sm8x26/libcopybit/copybit_priv.h
sm8x26/libcopybit/software_converter.cpp
sm8x26/libcopybit/software_converter.h
sm8x26/libexternal/Android.mk
sm8x26/libexternal/external.cpp
sm8x26/libexternal/external.h
sm8x26/libgenlock/Android.mk
sm8x26/libgenlock/genlock.cpp
sm8x26/libgenlock/genlock.h
sm8x26/libgralloc/Android.mk
sm8x26/libgralloc/MODULE_LICENSE_APACHE2
sm8x26/libgralloc/NOTICE
sm8x26/libgralloc/alloc_controller.cpp
sm8x26/libgralloc/alloc_controller.h
sm8x26/libgralloc/fb_priv.h
sm8x26/libgralloc/framebuffer.cpp
sm8x26/libgralloc/gpu.cpp
sm8x26/libgralloc/gpu.h
sm8x26/libgralloc/gr.h
sm8x26/libgralloc/gralloc.cpp
sm8x26/libgralloc/gralloc_priv.h
sm8x26/libgralloc/ionalloc.cpp
sm8x26/libgralloc/ionalloc.h
sm8x26/libgralloc/mapper.cpp
sm8x26/libgralloc/memalloc.h
sm8x26/libhwcomposer/Android.mk
sm8x26/libhwcomposer/hwc.cpp
sm8x26/libhwcomposer/hwc_copybit.cpp
sm8x26/libhwcomposer/hwc_copybit.h
sm8x26/libhwcomposer/hwc_fbupdate.cpp
sm8x26/libhwcomposer/hwc_fbupdate.h
sm8x26/libhwcomposer/hwc_mdpcomp.cpp
sm8x26/libhwcomposer/hwc_mdpcomp.h
sm8x26/libhwcomposer/hwc_qclient.cpp
sm8x26/libhwcomposer/hwc_qclient.h
sm8x26/libhwcomposer/hwc_uevents.cpp
sm8x26/libhwcomposer/hwc_utils.cpp
sm8x26/libhwcomposer/hwc_utils.h
sm8x26/libhwcomposer/hwc_vsync.cpp
sm8x26/liblight/Android.mk
sm8x26/liblight/NOTICE
sm8x26/liblight/lights.c
sm8x26/liboverlay/Android.mk
sm8x26/liboverlay/mdpWrapper.h
sm8x26/liboverlay/overlay.cpp
sm8x26/liboverlay/overlay.h
sm8x26/liboverlay/overlayCtrl.cpp
sm8x26/liboverlay/overlayCtrlData.h
sm8x26/liboverlay/overlayMdp.cpp
sm8x26/liboverlay/overlayMdp.h
sm8x26/liboverlay/overlayMdpRot.cpp
sm8x26/liboverlay/overlayMdssRot.cpp
sm8x26/liboverlay/overlayMem.h
sm8x26/liboverlay/overlayRotator.cpp
sm8x26/liboverlay/overlayRotator.h
sm8x26/liboverlay/overlayUtils.cpp
sm8x26/liboverlay/overlayUtils.h
sm8x26/liboverlay/pipes/overlay3DPipe.h
sm8x26/liboverlay/pipes/overlayGenPipe.cpp
sm8x26/liboverlay/pipes/overlayGenPipe.h
sm8x26/libqdutils/Android.mk
sm8x26/libqdutils/comptype.cpp
sm8x26/libqdutils/comptype.h
sm8x26/libqdutils/idle_invalidator.cpp
sm8x26/libqdutils/idle_invalidator.h
sm8x26/libqdutils/mdp_version.cpp
sm8x26/libqdutils/mdp_version.h
sm8x26/libqdutils/profiler.cpp
sm8x26/libqdutils/profiler.h
sm8x26/libqdutils/qdMetaData.cpp
sm8x26/libqdutils/qdMetaData.h
sm8x26/libqservice/Android.mk
sm8x26/libqservice/IQClient.cpp
sm8x26/libqservice/IQClient.h
sm8x26/libqservice/IQService.cpp
sm8x26/libqservice/IQService.h
sm8x26/libqservice/QService.cpp
sm8x26/libqservice/QService.h
sm8x26/libtilerenderer/Android.mk
sm8x26/libtilerenderer/tilerenderer.cpp
sm8x26/libtilerenderer/tilerenderer.h
3e762b78772fd52669ae71ea1ce11dbe3202c256 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 7883cd50: am 8e1eee92: hwc: Get the retire fence from the MDP driver

* commit '7883cd502d6ceed104b731d0ce1206edfeb64344':
hwc: Get the retire fence from the MDP driver
7883cd502d6ceed104b731d0ce1206edfeb64344 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 8e1eee92: hwc: Get the retire fence from the MDP driver

* commit '8e1eee928e64dcc86adcbd6f54a2d79c75ebb2bd':
hwc: Get the retire fence from the MDP driver
788b7bb579ed9375c3428d9ecf8bbe517a13ffef 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 76210716: am 76383fda: hwc: Punt video layers with plane alpha

* commit '76210716dc55d84ecf1a262445366f63e32c5a41':
hwc: Punt video layers with plane alpha
eeebd0dd35a5cb5e38bc552e6e9005a42fcef6e0 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 9f0d78ef: am b9c9e783: hwc: Add support to enable CABL for video use case only

* commit '9f0d78ef8b02fdb8bc25370ec12c9592331e8f7f':
hwc: Add support to enable CABL for video use case only
76210716dc55d84ecf1a262445366f63e32c5a41 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 76383fda: hwc: Punt video layers with plane alpha

* commit '76383fda092fddbadf5f8dda1fb7da0bff1ca4c3':
hwc: Punt video layers with plane alpha
9f0d78ef8b02fdb8bc25370ec12c9592331e8f7f 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am b9c9e783: hwc: Add support to enable CABL for video use case only

* commit 'b9c9e783172e6a733ade61edbe88b3271de87600':
hwc: Add support to enable CABL for video use case only
92079f829ad0a7d576ee28e5d98559a5ba2dff40 26-Jun-2013 The Android Open Source Project <initial-contribution@android.com> am 1b6a63f3: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit '1b6a63f32999422021b8326872e874c14128c84e':
1b6a63f32999422021b8326872e874c14128c84e 26-Jun-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-zeroday-release - do not merge

Change-Id: Ic58e8474abc2c67259bbf7fe7a518ce3d44a461f
6336b6370dac2f295b0949fb82f711fddfff2255 26-Jun-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
8e1eee928e64dcc86adcbd6f54a2d79c75ebb2bd 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence.

Bug: 9319776
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
76383fda092fddbadf5f8dda1fb7da0bff1ca4c3 20-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Punt video layers with plane alpha

This fixes a transition issue when exiting youtube while the
video is playing.

Bug: 9486278
Change-Id: I0259b2dc9ccbf302b13d8ae40e62765820d94860
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
b9c9e783172e6a733ade61edbe88b3271de87600 19-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support to enable CABL for video use case only

Set property "persist.qcom.cabl.video_only" to 1 to enable this
feature. With this feature, CABL will be turned on only during video
play cases. CABL will turn off for UI cases.

Bug: 9414907
Acked-by: Ping Li <quicpingli@codeaurora.org>
Change-Id: I7dee9e03685bdf8e5f69ad5004e63f15dd028333
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
63c517f1fed28b2f975447ef4f74a4481af69213 26-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 26b170be: am 32cafd22: hwc: Add support for smooth streaming feature.

* commit '26b170be0beef87876b28f6fa9832d098dcbe355':
hwc: Add support for smooth streaming feature.
26b170be0beef87876b28f6fa9832d098dcbe355 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 32cafd22: hwc: Add support for smooth streaming feature.

* commit '32cafd22d940da88d6173248e9790c9424b2a65b':
hwc: Add support for smooth streaming feature.
32cafd22d940da88d6173248e9790c9424b2a65b 07-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for smooth streaming feature.

Update the source video width and height set by the video decoder
for the secure video smooth streaming usecase from the gralloc
metadata.

Change-Id: I73a3804d90557034604142481a232787dbc08f23
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9533458
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqdutils/qdMetaData.cpp
ibqdutils/qdMetaData.h
0d832b52b5d1a78c3784c1513cddfd9930888240 13-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "overlay: Add tolerance to downscale factor"
0fd23362a56d3ec7be6c00cd8ab5d41bb8576e58 13-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> overlay: Add tolerance to downscale factor

In certain corner cases for 1080p panels, round doesn't get us
the right downscale factor resulting in MDP attempting to go into
blt mode. Add a tolerance for failure.

Reapplying change (sha 167a16a) in msm8960 directory.

Bug: 9322550

Change-Id: If0f457c11a13421f9ecf644d9020f6d728778cda
sm8960/liboverlay/overlayUtils.cpp
afd2af8bd4132022cb5611f60cfa3ef36cafa28c 13-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> hwc: Clear rotator map if overlay allocation fails

This fixes the GPU fallback path in case overlay set fails.

Reapplying this patch (sha 3035250) after split.

Bug: 9322550

Change-Id: Idae088b95a0853baf1deb4c63bf46c7ba6f295c0
sm8960/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.cpp
513ddc2124abf90c63af41999201f0d2031af0c8 12-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> Splitting hardware/qcom/display chip specific.

Moved msm8960 specific code in msm8960/ directory.
Moved msm8974 specific code in msm8974/ directory.
Updated Makefiles to point to correct header files.

Change-Id: I0623022f324be0ae42571660074f16afa1f71df5
ndroid.mk
ommon.mk
ibcopybit/Android.mk
ibcopybit/MODULE_LICENSE_APACHE2
ibcopybit/NOTICE
ibcopybit/c2d2.h
ibcopybit/copybit.cpp
ibcopybit/copybit.h
ibcopybit/copybit_c2d.cpp
ibcopybit/copybit_priv.h
ibcopybit/software_converter.cpp
ibcopybit/software_converter.h
ibexternal/Android.mk
ibexternal/external.cpp
ibexternal/external.h
ibgenlock/Android.mk
ibgenlock/genlock.cpp
ibgenlock/genlock.h
ibgralloc/Android.mk
ibgralloc/MODULE_LICENSE_APACHE2
ibgralloc/NOTICE
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gr.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ionalloc.cpp
ibgralloc/ionalloc.h
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_qclient.cpp
ibhwcomposer/hwc_qclient.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_vsync.cpp
iblight/Android.mk
iblight/NOTICE
iblight/lights.c
iboverlay/Android.mk
iboverlay/mdpWrapper.h
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayMem.h
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlay3DPipe.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
ibqdutils/Android.mk
ibqdutils/comptype.cpp
ibqdutils/comptype.h
ibqdutils/idle_invalidator.cpp
ibqdutils/idle_invalidator.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
ibqdutils/profiler.cpp
ibqdutils/profiler.h
ibqdutils/qdMetaData.cpp
ibqdutils/qdMetaData.h
ibqservice/Android.mk
ibqservice/IQClient.cpp
ibqservice/IQClient.h
ibqservice/IQService.cpp
ibqservice/IQService.h
ibqservice/QService.cpp
ibqservice/QService.h
ibtilerenderer/Android.mk
ibtilerenderer/tilerenderer.cpp
ibtilerenderer/tilerenderer.h
sm8960/Android.mk
sm8960/common.mk
sm8960/libcopybit/Android.mk
sm8960/libcopybit/MODULE_LICENSE_APACHE2
sm8960/libcopybit/NOTICE
sm8960/libcopybit/c2d2.h
sm8960/libcopybit/copybit.cpp
sm8960/libcopybit/copybit.h
sm8960/libcopybit/copybit_c2d.cpp
sm8960/libcopybit/copybit_priv.h
sm8960/libcopybit/software_converter.cpp
sm8960/libcopybit/software_converter.h
sm8960/libexternal/Android.mk
sm8960/libexternal/external.cpp
sm8960/libexternal/external.h
sm8960/libgenlock/Android.mk
sm8960/libgenlock/genlock.cpp
sm8960/libgenlock/genlock.h
sm8960/libgralloc/Android.mk
sm8960/libgralloc/MODULE_LICENSE_APACHE2
sm8960/libgralloc/NOTICE
sm8960/libgralloc/alloc_controller.cpp
sm8960/libgralloc/alloc_controller.h
sm8960/libgralloc/fb_priv.h
sm8960/libgralloc/framebuffer.cpp
sm8960/libgralloc/gpu.cpp
sm8960/libgralloc/gpu.h
sm8960/libgralloc/gr.h
sm8960/libgralloc/gralloc.cpp
sm8960/libgralloc/gralloc_priv.h
sm8960/libgralloc/ionalloc.cpp
sm8960/libgralloc/ionalloc.h
sm8960/libgralloc/mapper.cpp
sm8960/libgralloc/memalloc.h
sm8960/libhwcomposer/Android.mk
sm8960/libhwcomposer/hwc.cpp
sm8960/libhwcomposer/hwc_copybit.cpp
sm8960/libhwcomposer/hwc_copybit.h
sm8960/libhwcomposer/hwc_fbupdate.cpp
sm8960/libhwcomposer/hwc_fbupdate.h
sm8960/libhwcomposer/hwc_mdpcomp.cpp
sm8960/libhwcomposer/hwc_mdpcomp.h
sm8960/libhwcomposer/hwc_qclient.cpp
sm8960/libhwcomposer/hwc_qclient.h
sm8960/libhwcomposer/hwc_uevents.cpp
sm8960/libhwcomposer/hwc_utils.cpp
sm8960/libhwcomposer/hwc_utils.h
sm8960/libhwcomposer/hwc_vsync.cpp
sm8960/liblight/Android.mk
sm8960/liblight/NOTICE
sm8960/liblight/lights.c
sm8960/liboverlay/Android.mk
sm8960/liboverlay/mdpWrapper.h
sm8960/liboverlay/overlay.cpp
sm8960/liboverlay/overlay.h
sm8960/liboverlay/overlayCtrl.cpp
sm8960/liboverlay/overlayCtrlData.h
sm8960/liboverlay/overlayMdp.cpp
sm8960/liboverlay/overlayMdp.h
sm8960/liboverlay/overlayMdpRot.cpp
sm8960/liboverlay/overlayMdssRot.cpp
sm8960/liboverlay/overlayMem.h
sm8960/liboverlay/overlayRotator.cpp
sm8960/liboverlay/overlayRotator.h
sm8960/liboverlay/overlayUtils.cpp
sm8960/liboverlay/overlayUtils.h
sm8960/liboverlay/pipes/overlay3DPipe.h
sm8960/liboverlay/pipes/overlayGenPipe.cpp
sm8960/liboverlay/pipes/overlayGenPipe.h
sm8960/libqdutils/Android.mk
sm8960/libqdutils/comptype.cpp
sm8960/libqdutils/comptype.h
sm8960/libqdutils/idle_invalidator.cpp
sm8960/libqdutils/idle_invalidator.h
sm8960/libqdutils/mdp_version.cpp
sm8960/libqdutils/mdp_version.h
sm8960/libqdutils/profiler.cpp
sm8960/libqdutils/profiler.h
sm8960/libqdutils/qdMetaData.cpp
sm8960/libqdutils/qdMetaData.h
sm8960/libqservice/Android.mk
sm8960/libqservice/IQClient.cpp
sm8960/libqservice/IQClient.h
sm8960/libqservice/IQService.cpp
sm8960/libqservice/IQService.h
sm8960/libqservice/QService.cpp
sm8960/libqservice/QService.h
sm8960/libtilerenderer/Android.mk
sm8960/libtilerenderer/tilerenderer.cpp
sm8960/libtilerenderer/tilerenderer.h
sm8974/Android.mk
sm8974/common.mk
sm8974/libcopybit/Android.mk
sm8974/libcopybit/MODULE_LICENSE_APACHE2
sm8974/libcopybit/NOTICE
sm8974/libcopybit/c2d2.h
sm8974/libcopybit/copybit.cpp
sm8974/libcopybit/copybit.h
sm8974/libcopybit/copybit_c2d.cpp
sm8974/libcopybit/copybit_priv.h
sm8974/libcopybit/software_converter.cpp
sm8974/libcopybit/software_converter.h
sm8974/libexternal/Android.mk
sm8974/libexternal/external.cpp
sm8974/libexternal/external.h
sm8974/libgenlock/Android.mk
sm8974/libgenlock/genlock.cpp
sm8974/libgenlock/genlock.h
sm8974/libgralloc/Android.mk
sm8974/libgralloc/MODULE_LICENSE_APACHE2
sm8974/libgralloc/NOTICE
sm8974/libgralloc/alloc_controller.cpp
sm8974/libgralloc/alloc_controller.h
sm8974/libgralloc/fb_priv.h
sm8974/libgralloc/framebuffer.cpp
sm8974/libgralloc/gpu.cpp
sm8974/libgralloc/gpu.h
sm8974/libgralloc/gr.h
sm8974/libgralloc/gralloc.cpp
sm8974/libgralloc/gralloc_priv.h
sm8974/libgralloc/ionalloc.cpp
sm8974/libgralloc/ionalloc.h
sm8974/libgralloc/mapper.cpp
sm8974/libgralloc/memalloc.h
sm8974/libhwcomposer/Android.mk
sm8974/libhwcomposer/hwc.cpp
sm8974/libhwcomposer/hwc_copybit.cpp
sm8974/libhwcomposer/hwc_copybit.h
sm8974/libhwcomposer/hwc_fbupdate.cpp
sm8974/libhwcomposer/hwc_fbupdate.h
sm8974/libhwcomposer/hwc_mdpcomp.cpp
sm8974/libhwcomposer/hwc_mdpcomp.h
sm8974/libhwcomposer/hwc_qclient.cpp
sm8974/libhwcomposer/hwc_qclient.h
sm8974/libhwcomposer/hwc_uevents.cpp
sm8974/libhwcomposer/hwc_utils.cpp
sm8974/libhwcomposer/hwc_utils.h
sm8974/libhwcomposer/hwc_vsync.cpp
sm8974/liblight/Android.mk
sm8974/liblight/NOTICE
sm8974/liblight/lights.c
sm8974/liboverlay/Android.mk
sm8974/liboverlay/mdpWrapper.h
sm8974/liboverlay/overlay.cpp
sm8974/liboverlay/overlay.h
sm8974/liboverlay/overlayCtrl.cpp
sm8974/liboverlay/overlayCtrlData.h
sm8974/liboverlay/overlayMdp.cpp
sm8974/liboverlay/overlayMdp.h
sm8974/liboverlay/overlayMdpRot.cpp
sm8974/liboverlay/overlayMdssRot.cpp
sm8974/liboverlay/overlayMem.h
sm8974/liboverlay/overlayRotator.cpp
sm8974/liboverlay/overlayRotator.h
sm8974/liboverlay/overlayUtils.cpp
sm8974/liboverlay/overlayUtils.h
sm8974/liboverlay/pipes/overlay3DPipe.h
sm8974/liboverlay/pipes/overlayGenPipe.cpp
sm8974/liboverlay/pipes/overlayGenPipe.h
sm8974/libqdutils/Android.mk
sm8974/libqdutils/comptype.cpp
sm8974/libqdutils/comptype.h
sm8974/libqdutils/idle_invalidator.cpp
sm8974/libqdutils/idle_invalidator.h
sm8974/libqdutils/mdp_version.cpp
sm8974/libqdutils/mdp_version.h
sm8974/libqdutils/profiler.cpp
sm8974/libqdutils/profiler.h
sm8974/libqdutils/qdMetaData.cpp
sm8974/libqdutils/qdMetaData.h
sm8974/libqservice/Android.mk
sm8974/libqservice/IQClient.cpp
sm8974/libqservice/IQClient.h
sm8974/libqservice/IQService.cpp
sm8974/libqservice/IQService.h
sm8974/libqservice/QService.cpp
sm8974/libqservice/QService.h
sm8974/libtilerenderer/Android.mk
sm8974/libtilerenderer/tilerenderer.cpp
sm8974/libtilerenderer/tilerenderer.h
152fa4cdde66434f5f52760e404d915ab8111efa 12-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> Merge "hwc: Add BWC policy manager"
aec6d0e3139fe725d06c0a9d94c26212fa647bfc 12-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> Merge changes Iefea88d9,I9a95392a,I769513fc,I5238cc1d,Ie3c8bd88,Ibfa23130,Idaef9d9b,Ie8ba7028,I20de52e9,Ifd0d708e,Ic0f8e4f4,Ie67ce171,Id527210b,I87dd73e9,I33178e72,If0df3a24,Ie90b4202,I5ff31048,I2dac7604,I86c4190b,Ifa2acd53,I385f9bcc,I843b225b,Ie30ab0ef,Iabe12f81,Ib23552ef,I6f780071,I289ed8ad,Ib829cdb9,Id8e4cff1,I5a4b615e,Ifd80adf1,I5a6ffb9f,Iffacde30,Iab90e9d6,I771a642c,I699cfe1c,I9cf94947,I5fe3925f,Ifb3ea532,I379509a0,I17f3bfd1,I5a95f68c,I590bf126

* changes:
libgralloc: Add support to use CAMERA_HEAP
hwc/overlay: MDSS driver requires 4-aligned crop.h for interlaced
overlay: Reset pipes on config failure
hwc: In scaling check, consider out of bounds layers.
libgralloc: Fix secure buffer issues.
hwc: Do not include Framebuffer area in calculating total area
hwc: Add check for YUV formats in configRotator.
hwc: Set List should not block DMA on 8x10
hwc: Don't permit rotator use under certain conditions
hwc/overlay: If configRotator fails, mark all pipes as available.
display: Remove default arguments for setMdpFlags function.
overlay: Do not carry over the stale rotator flags.
hwc/overlay: Crop x, y, w and h should be even for MDSS Rotator.
display: Fix acquireFenceFd memory leak
qdutils: Parse panel type dynamically from panel info
display: Enable copybit on msm8610
hwc: Fix unnecessary pipe allocation from mdp comp.
libgralloc: Don't pad if debug.gralloc.map_fb_memory is set
hwcomposer: use DMA overlay pipe to do frame update on 8x10
liboverlay: add the support for 8x10 MDP h/w core
hwc: Fix left half of fb for high res.
display: libqdutils: add the MDP h/w version for 8x10 MDP core
Fix crash issue arising out of multiple hdmi connect/disconnects
hwc/copybit: Add check for Max layers support.
qdutils: Add field for presentation timestamp.
display: Fix Bug in 180 degree rotation use case for 4kx2k panel.
liboverlay: Add support for MDSS Bandwidth Compression
display: Enable more Debug logs.
hwc/overlay: Set crop rectangle for MDSS Rotator.
hwc: Fix right mixer layer positioning.
hwc/overlay: Introduce padding round between DMA modes.
hwc: Close Fds in case of errors in openFramebuffer
hwc: Fix dumpsys crash
libcopybit: Fix potential memory and surface leaks in c2d
overlay: Add support for decimation.
display: Add msm8610 to list to enable mdss target flag
copybit: Fix type conversion error for GCC 4.7
display: Use flag to distinguish QCOM BSP features
hwc/overlay: Fix dma mode design and issues.
overlay: Add new formats to string utility.
overlay: Swap flips on 90 only for older mdp version.
hwc: Fix black line in center of 4k2k.
libgralloc: Change CAMERA_HEAP to ADSP_HEAP
gralloc: set ION_SECURE to flags instead of heap_mask during ion alloc.
7d6f482d36c30eb0d1954c862b46457bf20658df 29-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add BWC policy manager

Add a BWC policy manager that decides if BWC needs to be disabled on
certain conditions.
These conditions are statically determined. BWC might get used and
still fail (or cause failure of subsequent pipe requests) if SMP
blocks are not sufficient.

Change-Id: I805738911a8da7dfc6232c133c74ef844c3af5b1

Conflicts:

libhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
c5644089c80d57bfbcbe42b20718959068059715 24-May-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libgralloc: Add support to use CAMERA_HEAP

- Adds flag GRALLOC_USAGE_PRIVATE_CAMERA_HEAP to use the dedicated
CAMERA_HEAP
- Remove GRALLOC_USAGE_PRIVATE_CP_BUFFER which is not used anymore

Change-Id: Iefea88d9a67d2fa0ca74492f508e1d5508d08983
ibgralloc/alloc_controller.cpp
ibgralloc/gralloc_priv.h
ae3413d0b7ea0e9521c707d65f16046603d8f68e 24-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: MDSS driver requires 4-aligned crop.h for interlaced

MDSS driver requires the crop height to be multiple of 4 to
de-interlace the interlaced Yuv content.

CRs-Fixed: 491488
Change-Id: I9a95392a71cca217e2890c9736f1450fd8aa4a59
ibhwcomposer/hwc_utils.cpp
iboverlay/overlayMdp.cpp
817dac3acfc9887b58a3aff61805f4c31f8c7939 23-May-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Reset pipes on config failure

There can be frequent failures in pipe config on certain targets
owing to scare SMP blocks. In such cases, reset usage of all pipes;
forcibly configure them next time, even if params haven't changed;

Change-Id: I769513fc3513e292d9d9b7f126735841a7a8f493
iboverlay/overlay.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
5238cc1d48c93d1e00d11a87ee2693e071af7588 23-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: In scaling check, consider out of bounds layers.

In scaling check, consider out of bounds layers, apply trim
and then decide if scaling is necessary or not.

Change-Id: Iad7f662f42096b3f7a4a1c4cfe71048d275f4b5f

Conflicts:

libhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
23622efd7887587424828b569629df2d85d8597b 07-May-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libgralloc: Fix secure buffer issues.

-- Though buffer usage is not marked with any Heap, if usage flags
set with GRALLOC_USAGE_PROTECTED allocate from IOMMU heap.
-- Allow using GRALLOC_USAGE_PROTECTED for non tz level protection.

Change-Id: Ie3c8bd8821f4ab344a2b798a723ab65d4ef5b44e
CRs-fixed: 484838
CRs-fixed: 480493
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
635a97aa5ca5d3255ca8ff13529cfe89e744455d 21-May-2013 Terence Hampson <thampson@codeaurora.org> hwc: Do not include Framebuffer area in calculating total area

In dynamic composition, While calculating total render area of
application layers to decide on which composition to choose,
FrameBuffer layer area shall not be added to the total render area.

Change-Id: Ibfa23130864ebae514ab94e75813bfaa4a61528c
ibhwcomposer/hwc_copybit.cpp
9d3fd47ec51e167d3f4820c40f3ab2e471f3ae51 18-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc: Add check for YUV formats in configRotator.

Since configRotator gets called from FBUpdate for non-YUV layer,
check for YUV formats is required.

Change-Id: Idaef9d9b650499f8a0342ddfc04e1f55c9b75f73
ibhwcomposer/hwc_utils.cpp
fb96d4555387ecb5005645f056c3f082315a4920 17-May-2013 Terence Hampson <thampson@codeaurora.org> hwc: Set List should not block DMA on 8x10

Since DMA is the only overlay pipe on 8x10 it should not be
blocked in the set list.

Change-Id: Ie8ba7028ceaf90e1a3211ef076bc839e793017de
ibhwcomposer/hwc_utils.cpp
20de52e98f608ed30049d7add296ef2a6f134a24 16-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Don't permit rotator use under certain conditions

These include constrained targets, with external connected which could
lead to a scarcity of pipes. Furthermore owing to a scarcity of writeback
interfaces, even if pipes are available, we may not be able to still
use rotator.

Change-Id: Ie2fb4c1726f32addcace89c268a126abe0cddbe0

Conflicts:

libhwcomposer/hwc_fbupdate.cpp
libhwcomposer/hwc_mdpcomp.cpp
libhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
cf2536998ecd888681570bd713836115f8979cd0 15-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: If configRotator fails, mark all pipes as available.

If configRotator fails, reset usage & allocation bits on all pipes
for the given display to make them available for the current draw
cycle. It is required because if external is connected and Rotator
commit() on Video fails, all pipes which were picked-up by primary
are not available for FB update, hence it runs out of pipes.

CRs-Fixed: 483002
Change-Id: Ifd0d708e4ef8e3ddbe9d0531f6090539b8dcb249
ibhwcomposer/hwc_utils.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
c0f8e4f46400eaad2406af24561eb4ea61e99b68 14-May-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Remove default arguments for setMdpFlags function.

Remove default arguments from setMDPflags function to get rid of
issues hidden from the developer.

Change-Id: Ic78645675b0aaab284fe2d0de8fffb4b26beabc7

Conflicts:

libhwcomposer/hwc_fbupdate.cpp
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
79f124a4986b3489a8e2f3ae1f5a0f4c6e863ea9 14-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Do not carry over the stale rotator flags.

Do not carry over the stale rotator flags from previous draw cycle.

CRs-Fixed: 486749

Change-Id: Ie67ce1714e48381e58c64634d45b6915263efe5d
iboverlay/overlayMdssRot.cpp
d527210b2308a79ee6211b93356fda472438e211 09-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Crop x, y, w and h should be even for MDSS Rotator.

MDSS driver requires Rotator crop x, y, w and h to be even for YUV
formats.

CRs-Fixed: 485216
Change-Id: I9a066970f8cedaed7ba18534bb99edd1bcf421dd

Conflicts:

libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
76739f6c3dc9867ff6374c18c96a4eb056678238 12-May-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Fix acquireFenceFd memory leak

Remove return statement from display commit failure and assign
the return value as -1 to avoid memory leak during error scenario.

Change-Id: I87dd73e997e016f89944bb1603b517847bbc555c
ibhwcomposer/hwc.cpp
adee189ad3f1f1b4e54f3d4063638c8c669a24b5 10-May-2013 Carl Vanderlip <carlv@codeaurora.org> qdutils: Parse panel type dynamically from panel info

Parse the panel type from the panel info string using string operations
rather than relying on constant offset (which would have to be update for
any changes in length to the preceding MDP/MDSS version string). Assumes
that panel type is the first character after the first '_' in the panel
info string.

Change-Id: I33178e7219c26e0e0361e53941f15a3d38f99b71
ibqdutils/mdp_version.cpp
e67c709079b4da35667a3bbc5a00d54530a83a87 19-Apr-2013 Terence Hampson <thampson@codeaurora.org> display: Enable copybit on msm8610

This change is the hwc and copybit changes need to enable
composition to go through mdp on msm8610.

Change-Id: If0df3a247c5f4f4310966d14fe8fd839bf84b9d5
ibcopybit/Android.mk
ibcopybit/copybit.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
fb0f1c9f86974744ddfacbd8c80aceb347e45543 07-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix unnecessary pipe allocation from mdp comp.

In High res case, there was no check for whether a layer is marked for mdp
leading to unnecessary pipes reserved for rgb layers on external.

Remove z order setting in allocLayerPipes, its too early, incorrect and
will be over-written anyway.

Remove the separate pipe allocation block for YUV. It is redundant and
unnecessary.

Change-Id: Ie90b4202a27ca4f52874514e3fa2b136ae5717f5
ibhwcomposer/hwc_mdpcomp.cpp
1e562641957290401a9a78c73fbc5e22ce753c6f 06-May-2013 Naomi Luis <nluis@codeaurora.org> libgralloc: Don't pad if debug.gralloc.map_fb_memory is set

Don't add adreno specific padding computed by libadreno_utils if
debug.gralloc.map_fb_memory is set.
Since this is a debug property, we can disable surface padding
when the property is enabled.

Change-Id: I5ff310483930f8da04f6955889eea3973fd3d342
CRs-fixed: 480925
ibgralloc/alloc_controller.cpp
46582177b5efe08515f76ed1223e082564628ec9 02-May-2013 Xiaoming Zhou <zhoux@codeaurora.org> hwcomposer: use DMA overlay pipe to do frame update on 8x10

8x10 MDP core only have DMA pipe, add the support to enable it
in hwcomposer.

Change-Id: I2dac76046d53b9afd9d3deb4653b98bbee1c9840
ibhwcomposer/hwc_mdpcomp.cpp
804e5a7dd92125415251701d866b792cb0c22913 02-May-2013 Xiaoming Zhou <zhoux@codeaurora.org> liboverlay: add the support for 8x10 MDP h/w core

Add the check for 8x10 MDP h/w version before verifying mixer information

Change-Id: I86c4190bb8288ac23ab58fe44e649455783ccba6
iboverlay/overlay.cpp
32b88e69f3446fc8ce1291aad582cb97fcfddb85 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix left half of fb for high res.

Left half of High res panel is not 2048 wide always.
When back-calculating for left mixer, use half of panel width.

Change-Id: Ifa2acd533f00cfef92a12d402e78b3491281a323
ibhwcomposer/hwc_fbupdate.cpp
6848f7a0d9ed6fecb0fc27c8bfa32c5fda3ab163 02-May-2013 Xiaoming Zhou <zhoux@codeaurora.org> display: libqdutils: add the MDP h/w version for 8x10 MDP core

Add the support to enable 8x10 MDP core version

Change-Id: I385f9bcc5e1c6011f3e2704ee71ce5aacec8b92d
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
843b225b518ca5495aab3a4a5eddba5fb60381ec 02-May-2013 Raj kamal <rkamal@codeaurora.org> Fix crash issue arising out of multiple hdmi connect/disconnects

Acquire mExtLock before proceeding further in
hwc_prepare_external to prevent crashes arising out
of updating ctx variables from two different
threads(composition and uevent threads)

Change-Id: I0f18c41b117f18aeb25572b53ef6eba3638bb826

Conflicts:

libhwcomposer/hwc_uevents.cpp
libhwcomposer/hwc_utils.h
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.h
2e125e0de397cf96853ed1da9ecdf11c732078f6 30-Apr-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/copybit: Add check for Max layers support.

Add check in copybit for Max. layers supported by HWC. Increase
max. RGB surfaces to MAX_NUM_LAYERS to support known use cases.

CRs-Fixed: 481226
Change-Id: Ie30ab0ef3047a304133cb547902ae11fecc5db22
ibcopybit/copybit_c2d.cpp
ibhwcomposer/hwc_copybit.cpp
42716be243adede67b25132c7010d1c4a4f5258f 30-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> qdutils: Add field for presentation timestamp.

This timestamp can be set by clients who wish to defer
presentation. The behaviour is intended to be similar to the
native window presentation timestamp which is currently not
implemented.

Change-Id: Iabe12f81677093f4c30db2b09deaac7bf063f296
ibqdutils/qdMetaData.cpp
ibqdutils/qdMetaData.h
1f457871183fd710913664677a5b5f5f65af5c66 30-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Fix Bug in 180 degree rotation use case for 4kx2k panel.

Check NULL condition for pointer to rotator object to swap
configuration information between right and left mixer.

Change-Id: Ib23552efcb7807164a33f618f7ff41c469661cb5
ibhwcomposer/hwc_utils.cpp
3932d9e448c02ac953cbc0f3ef7c0573400a5570 31-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Add support for MDSS Bandwidth Compression

- This adds support for Bandwidth Compression.
- If MDSS supports BWC, then we set BWC flags
to both Rotator(encode) and overlay(decode)

Change-Id: I6f7800716a2ce2ab855f4c0b1a53cd96f7d06d74
ibhwcomposer/hwc_utils.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
e156621d50bb4d064da7ad914414d3bf33545930 12-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Enable more Debug logs.

- Dump more info for BUFFER_SYNC ioctl failure case.
- Enable debug logs for blank/unblank display.

Change-Id: I289ed8ad39a0181ff4a404644b90cb02a8144b9a
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
b829cdb9549d48eb4a240fd3248590859511a039 24-Apr-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Set crop rectangle for MDSS Rotator.

Since MDSS rotator will crop, the crop rectangle for overlay
will always start from (0,0).

CRs-Fixed: 476494
Change-Id: I1ccece8eab7d1a97ccec561a4d0df4558b5e33c4

Conflicts:

libhwcomposer/hwc_utils.cpp
liboverlay/overlayRotator.h
ibhwcomposer/hwc_utils.cpp
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
d8e4cff13b97d2dc94e12e1ec23c1e5057bfeff7 26-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix right mixer layer positioning.

Fix positioning of layer on the right mixer, by making it relative to
the half width of total panel.

Change-Id: Iecbe4496db1faae426b2606118ccaab90c1e4fca

Conflicts:

libhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.cpp
5a4b615e1d04b0b9f3572530b330dda4f10853d0 23-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Introduce padding round between DMA modes.

Introduce a padding round between the DMA line and block modes.
Do this based on whether DMA is actually being used, when block mode
is first requested.

This relieves the driver of doing an UNSET ahead of vsync which could
cause blinks in all such transition scenarios.

This approach should lead to smooth transitions for multiple targets
with the exception of secure videos, where there could be a blink in
any of the different approaches we use.

Change-Id: Ibc0b8d284b5c6ed9291a7cfa7e7f221300a921e2

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp
libhwcomposer/hwc_utils.h
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlay.cpp
iboverlay/overlay.h
de0c612868d043a6bc59b6c3757a8feb1e944688 16-Apr-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Close Fds in case of errors in openFramebuffer

Close opened Fds in case of errors in openFramebuffer
function.

Change-Id: Ifd80adf1eff0d2efd698cd4abd3980d5c1f333ab
CRs-fixed: 473488
ibhwcomposer/hwc_utils.cpp
89cadba6f59425c741d9f376a1f407fcb3bae675 11-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix dumpsys crash

In extreme cases, when all pipes are used, the buffer is insufficient.
Reduce logging by striping off unnecessary bytes.

Change-Id: I5a6ffb9ff288e389eea4e9ca4ac850ed59d539ff
ibhwcomposer/hwc.cpp
iboverlay/overlay.cpp
iboverlay/overlayMdp.cpp
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayUtils.cpp
4b627aeac0e317bf5c87256f911b3c116ce5025f 15-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: Fix potential memory and surface leaks in c2d

- Check MAX_SURFACES while mapping GPU addr
--- While mapping gpu address, first check if the request
is less than the MAX_SURFACES allowed.
--- Without this check, when the request exceeded MAX_SURFACES,
there was memory leak as that gpu addr was not unmapped
- Map the destination surface only once
--- The destination surface for the c2d blit will be the
FRAME_BUFFER_TARGET per transaction
--- Map this only once from the copybit_clear which is the first
call by hwc for a transaction
- Increase MAX_RGB_SURFACES to 12
--- To handle use cases where there are more than 8 RGB layers

Change-Id: Iffacde30ee88b9c21d0895cb1922aa981bb079e9
CRs-fixed: 475327
ibcopybit/copybit_c2d.cpp
ab90e9d61fe4dbfd577638a3c0cad65d044a2bf0 04-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add support for decimation.

Add support for decimation on top of what MDP can downscale,
because decimation can have quality issues.
B-family MDP downscale of 1/4, plus decimation of 1/16 can let
us have a total downscale of 1/64.

Also decimate by 2 (min) if width is greater than what layer mixer
supports and is not handled by the client.

Change-Id: I3b7c4bf321c7561bd98206ad118f4ac1ee2879ae

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.cpp
iboverlay/overlayUtils.cpp
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
771a642c05f14a34a64f35336f45f6072c5a7760 18-Apr-2013 Terence Hampson <thampson@codeaurora.org> display: Add msm8610 to list to enable mdss target flag

msm8610 uses MDSS framework and venus color format

Change-Id: Ia6caeb92580413e947fcbf6c497499afe1f3282c

Conflicts:

common.mk
ommon.mk
63726b3ec81fb9fc5a5dec79f8d6ad7608ebfc25 16-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> copybit: Fix type conversion error for GCC 4.7

GCC 4.7 has stricter type conversion rules

Change-Id: I699cfe1ceafb5728fb8e6f34f7b1996d3c812e7e
ibcopybit/copybit_c2d.cpp
8c030c82c2f7678a2dd23d6059ff69c88ba3f9a3 16-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> display: Use flag to distinguish QCOM BSP features

Earlier the presence of is-vendor-board-platform, QCOM was relied
on. However some builds could be using that macro and still be
builds without framework changes.

Change-Id: I9cf9494753086f8b86a0f69aed825230752cf240
ommon.mk
5fe3925fe5a04f1fe519f64e973a1e5da4932d03 13-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Fix dma mode design and issues.

Add support for tracking the mode in which DMA is being used in overlay.
Remove unnecessary tracking variables, and their set,reset inconsistency.

With such varibles in hwc, it still leads to overlay giving out DMA pipes.
Make overlay as the single tracking place.

Change-Id: Ib949f3d0ef5918ef323c81cb1768b68a68c83da4

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp
libhwcomposer/hwc_utils.h
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlay.cpp
iboverlay/overlay.h
f55c0dfba47d5754e307c3349a99bb0677801376 11-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add new formats to string utility.

Add new formats per msm_mdp.h to string utility.
The formats like VENUS would otherwise show up as different.

Make table order independent, by indexing using enums and
returning the string version of enum itself.

Change-Id: Ifb3ea5325c7f085f0c899e06305747cba57dbbdc
iboverlay/overlayUtils.h
4b0e541513f6492a14b10718665d000159aeb9d1 10-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Swap flips on 90 only for older mdp version.

Older mdp rotator does 90 first and flip next,
forcing HAL to swap flips, in presence of 90.

Newer mdp does flip first and 90 next, owing to DMA pipe.
(Also similar to GPU flip handling). So we can pass flips as-is.

Change-Id: I379509a07e45966262005666e7727e7923079d3a
ibhwcomposer/hwc_utils.cpp
iboverlay/overlayMdp.cpp
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
577a816cdc141037351fe135e47b0d7a956850a3 10-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix black line in center of 4k2k.

1080p Video on 4k TV:
On newer mdp versions we don't need video destination to be even.

Portrait framebuffer on TV:
The framework chops off texels from RGB layers's crop.
Ref: frameworks/native/libs/gui/SurfaceTexture.cpp#616

When we use getNonWormHoleRegion() in HAL on a 4096 width TV,
we get a final rectangle short by 2 pixels on the right.
When we divide this frame in half for displaying using 2 pipes,
we end up not filling up the left layer mixer upto 2048.

Example:
Tv width 4096. (Portrait display on TV)
Dst left = 1440 (left black bar is 1440 pixels wide)
Dst width = 1214 (ideally should be 1216, but because texels are chopped)
4096 - (1440 + 1214) = 1442 (right black bar is 1442 pixels wide)
When the half width (1214/2 = 607) is given to left layer mixer,
its left (1440) + width (607) comes to 2047, leaving 1 pixel out!

--The texel chopping can be gotten rid of but it breaks test cases
in a way which is difficult to fix.
--The other option is to not use getNonWormHole() but to stick the full
framebuffer on display will increase bandwidth.
--Yet another option is to subtract the left rectangle from 2048,
calculating backwards. This change does that.

Change-Id: I17f3bfd1184bbf8a33d116c288d4cc2c51a3911a
ibhwcomposer/hwc_fbupdate.cpp
iboverlay/overlayMdp.cpp
9e3f687533fdaecf6f382391a09583a6975dba0b 12-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libgralloc: Change CAMERA_HEAP to ADSP_HEAP

This changes GRALLOC_USAGE_PRIVATE_CAMERA_HEAP to
GRALLOC_USAGE_PRIVATE_ADSP_HEAP as the CAMERA_HEAP
is not used anymore

Change-Id: I5a95f68c4c7f4445ade2398dd239faad9ed16b22
ibgralloc/alloc_controller.cpp
ibgralloc/gralloc_priv.h
ab84984e3f688a39bd47c5b62bf412b720b549cb 09-Oct-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> gralloc: set ION_SECURE to flags instead of heap_mask during
ion alloc.

This is required for Secure Playback usecase.

Change-Id: I590bf126a35465286a9487490a114af82732e262
ibgralloc/ionalloc.cpp
64d2a7ec6660a8cb4309b7c08acaff2edd13fe14 12-Jun-2013 The Android Open Source Project <initial-contribution@android.com> am 063eb87a: (-s ours) Reconcile with jb-mr2-release jb-mr2-zeroday-release - do not merge

* commit '063eb87aaa4bca96857e1bf76c5c78a6a2c3c581':
overlay: Add tolerance to downscale factor
hwc: Clear rotator map if overlay allocation fails
99a88879a2d26da2f5455b81badf7b9b4639456f 12-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 9968e22c: am 4d7bfc18: overlay: Add tolerance to downscale factor

* commit '9968e22c60bba2d97a4f2d1250826127a023ff8c':
overlay: Add tolerance to downscale factor
5f54b77d9ea770f827933b7788995a0574fa81cc 12-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am ae0a30dd: am 93897742: hwc: Clear rotator map if overlay allocation fails

* commit 'ae0a30dde1df2b30cd160b3d913ce5bd8a7d61fa':
hwc: Clear rotator map if overlay allocation fails
063eb87aaa4bca96857e1bf76c5c78a6a2c3c581 11-Jun-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release jb-mr2-zeroday-release - do not merge

Change-Id: I9fb7810ded8e1dd27d653f7e62c754caa6a3fdfb
9968e22c60bba2d97a4f2d1250826127a023ff8c 11-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 4d7bfc18: overlay: Add tolerance to downscale factor

* commit '4d7bfc180bb8d3c60ad4b98457243fae283e9a7d':
overlay: Add tolerance to downscale factor
ae0a30dde1df2b30cd160b3d913ce5bd8a7d61fa 11-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 93897742: hwc: Clear rotator map if overlay allocation fails

* commit '93897742c24e451a09e4255d2cf09c7d4640ee31':
hwc: Clear rotator map if overlay allocation fails
6631abd71eff73afa7ecda376ef2ba609fc1fe7e 11-Jun-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
167a16ab724684802bba7eb6078368c17878e50e 08-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Add tolerance to downscale factor

In certain corner cases for 1080p panels, round doesn't get us
the right downscale factor resulting in MDP attempting to go into
blt mode. Add a tolerance for failure.

Bug: 9322550
Change-Id: I2be4715955d9e248fc63e408dc4a2cdf493152f6
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/overlayUtils.cpp
303525022acdb26c5c51ac3b7ee122f23af0bb9b 10-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Clear rotator map if overlay allocation fails

This fixes the GPU fallback path in case overlay set fails.

Bug: 9322550
Change-Id: I515204f41169debd8428b4fc48be392ecdd9ff48
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
4d7bfc180bb8d3c60ad4b98457243fae283e9a7d 08-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> overlay: Add tolerance to downscale factor

In certain corner cases for 1080p panels, round doesn't get us
the right downscale factor resulting in MDP attempting to go into
blt mode. Add a tolerance for failure.

Bug: 9322550
Change-Id: I2be4715955d9e248fc63e408dc4a2cdf493152f6
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/overlayUtils.cpp
93897742c24e451a09e4255d2cf09c7d4640ee31 10-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Clear rotator map if overlay allocation fails

This fixes the GPU fallback path in case overlay set fails.

Bug: 9322550
Change-Id: I515204f41169debd8428b4fc48be392ecdd9ff48
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
93616f2098adaea7f1f32f831360c5228789060f 06-Jun-2013 The Android Open Source Project <initial-contribution@android.com> am 9d2b41ae: (-s ours) Reconcile with jb-mr2-release jb-mr2-zeroday-release - do not merge

* commit '9d2b41aea154f45ded503617c32f12a121ec479a':
Add support for white LEDs
9d2b41aea154f45ded503617c32f12a121ec479a 06-Jun-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release jb-mr2-zeroday-release - do not merge

Change-Id: I5baa51b8edffd9ef4c5ece0cc0c2dfd50d6f0496
fb90ad1982bac67aa2b51b44502185bdd36757b0 05-Jun-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
b591254bde9010fcf51247c23e1051e194294a06 03-Jun-2013 Dave Burke <daveburke@google.com> Add support for white LEDs

Bug: 9079860
Change-Id: Icc981682a274546c1414bd7c0b0045b1293575bf
iblight/lights.c
72d6778f2e854d39cf5b2bb9560954dbe0a62423 04-Jun-2013 Dave Burke <daveburke@google.com> am 683fd682: am c43e1d92: Add support for white LEDs

* commit '683fd68265c268bd6138f08f0f25403e87bbe3f8':
Add support for white LEDs
683fd68265c268bd6138f08f0f25403e87bbe3f8 04-Jun-2013 Dave Burke <daveburke@google.com> am c43e1d92: Add support for white LEDs

* commit 'c43e1d92df36e0542cdeee04a09c8137d0265aec':
Add support for white LEDs
c43e1d92df36e0542cdeee04a09c8137d0265aec 03-Jun-2013 Dave Burke <daveburke@google.com> Add support for white LEDs

Bug: 9079860
Change-Id: Icc981682a274546c1414bd7c0b0045b1293575bf
iblight/lights.c
c42103d74fadb884e3dd30d42e0d36324734edd9 29-May-2013 The Android Open Source Project <initial-contribution@android.com> am 7163a12a: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit '7163a12a8f9613efebf02d7d57cb55ab1ecd9ad9':
7163a12a8f9613efebf02d7d57cb55ab1ecd9ad9 29-May-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: I6488528d34ac3025fc1659c1405beaadd5535e3a
7bf5dd7d0a051d2da36ff6bfcd393dab1dbf4a4c 29-May-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-release history after reset to jb-mr2-dev
47cfb12840742e58a77237ae40f6547518feb64f 28-May-2013 Naseer Ahmed <naseer@codeaurora.org> am d7b529b4: am efcbe975: display: Remove libmm-abl dependency

* commit 'd7b529b4f00a709b7688cc4b9325336c6a59db1d':
display: Remove libmm-abl dependency
d7b529b4f00a709b7688cc4b9325336c6a59db1d 28-May-2013 Naseer Ahmed <naseer@codeaurora.org> am efcbe975: display: Remove libmm-abl dependency

* commit 'efcbe9759ca9b13b1a461001f8272e00174daa3f':
display: Remove libmm-abl dependency
efcbe9759ca9b13b1a461001f8272e00174daa3f 28-May-2013 Naseer Ahmed <naseer@codeaurora.org> display: Remove libmm-abl dependency

This lib no longer needs to be linked to any component in the
display HAL.

Change-Id: Id332d3cb22fc35e16f655d4c6127d6f1891330b0
ommon.mk
9711be6a76ed8552c16180f64f77c0a2a33181ca 25-May-2013 The Android Open Source Project <initial-contribution@android.com> am 6f6e3aff: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit '6f6e3aff9ce324c9eb96f6bbba41aed073f810a7':
hwc: Add property to differentiate the input image format
6f6e3aff9ce324c9eb96f6bbba41aed073f810a7 25-May-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: Ice1c208d3c544cdfd4bcffab8a5b7168cec314a0
76fa03da9485aac154045c92512a98a426c6d5c1 23-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add property to differentiate the input image format

Set different values of property hw.cabl.yuv based on the input
image format, so that mm-pp-daemon can adjust CABL power
saving levels accordingly.

CRs-fixed: 464799
Bug: 8956036
Change-Id: I212035d387a975e61a08749ba118a9da30e18d81
Acked-by: Ping Li <quicpingli@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
7194c6b66a3ca16400a0a8ee86b499f91c429985 24-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 9bcf2ac4: am 6902ccc9: hwc: Add property to differentiate the input image format

* commit '9bcf2ac43a1686fe578a8af11ccea1b639a902b0':
hwc: Add property to differentiate the input image format
9bcf2ac43a1686fe578a8af11ccea1b639a902b0 24-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 6902ccc9: hwc: Add property to differentiate the input image format

* commit '6902ccc9cb1ec9015bd436f19f60fce1014e3afb':
hwc: Add property to differentiate the input image format
6902ccc9cb1ec9015bd436f19f60fce1014e3afb 23-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add property to differentiate the input image format

Set different values of property hw.cabl.yuv based on the input
image format, so that mm-pp-daemon can adjust CABL power
saving levels accordingly.

CRs-fixed: 464799
Bug: 8956036
Change-Id: I212035d387a975e61a08749ba118a9da30e18d81
Acked-by: Ping Li <quicpingli@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
e5f7a1238cf94df6f2d0d800cd712a2fa24e1631 23-May-2013 The Android Open Source Project <initial-contribution@android.com> am aac732ea: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit 'aac732ea171cef4894fa3d616d2300257891b8ec':
aac732ea171cef4894fa3d616d2300257891b8ec 23-May-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: Ie7db2831ba6a8b718e2f63a88ff36d1d04f2bf0f
61f56e47e57c793f9bfb38e42bb71edc83959ee3 23-May-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-release history after reset to jb-mr2-dev
afd09de1080768bbe02c7890562a9d89e7b87c9d 22-May-2013 Mekala Natarajan <mekalan@codeaurora.org> am 1455b25a: am d980bf84: libhwcomposer: Remove the QCOM_BSP restriction on QClient::screenRefresh

* commit '1455b25a5849a73762bf3fbda3d3e4638aa0c7e6':
libhwcomposer: Remove the QCOM_BSP restriction on QClient::screenRefresh
1455b25a5849a73762bf3fbda3d3e4638aa0c7e6 22-May-2013 Mekala Natarajan <mekalan@codeaurora.org> am d980bf84: libhwcomposer: Remove the QCOM_BSP restriction on QClient::screenRefresh

* commit 'd980bf8499b1ba6f412e5c8274189d35a17a7619':
libhwcomposer: Remove the QCOM_BSP restriction on QClient::screenRefresh
d980bf8499b1ba6f412e5c8274189d35a17a7619 14-May-2013 Mekala Natarajan <mekalan@codeaurora.org> libhwcomposer: Remove the QCOM_BSP restriction on QClient::screenRefresh

For CABL evaluation.

Bug: 8956036
Change-Id: I74c9bc10ce5115858e2d07553b742ee92d774035
ibhwcomposer/hwc_qclient.cpp
4f93553258184ce81e97143debb1ab3a63dd59b1 17-May-2013 The Android Open Source Project <initial-contribution@android.com> am 4516d1a0: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit '4516d1a072e0892aadcf5d551115b348b4fb30f0':
4516d1a072e0892aadcf5d551115b348b4fb30f0 17-May-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: I6b6d9e1c36ef1dd64f6d7f92950ea221730b0ef7
7bf9199f8f080d3ae7e90fb42f2c78d2a2c4feed 16-May-2013 The Android Automerger <android-build@google.com> merge in jb-mr2-release history after reset to jb-mr2-dev
2ca4203d4881b0cd5f603578413c4a80b88d101b 16-May-2013 The Android Open Source Project <initial-contribution@android.com> am bf83542a: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit 'bf83542affa434946c9141a72a53331b2710effd':
hwc: Return an error in eventControl when blanked
hwc: Fallback to GPU if source image width or height is less than 2
bf83542affa434946c9141a72a53331b2710effd 16-May-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: I456dd90b080a69dfc3e0f9c4e1b1c2c1b5d21335
496d6d273cc09feac636e5b835cfcc5361f28d33 16-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 3f23e4c5: am 80c4c237: hwc: Unblank primary display on bootup.

* commit '3f23e4c52c2766d989bda80a95c80ae22ffdf5d8':
hwc: Unblank primary display on bootup.
3f23e4c52c2766d989bda80a95c80ae22ffdf5d8 16-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 80c4c237: hwc: Unblank primary display on bootup.

* commit '80c4c237b0c148d0c0537772221add57e4a2fde9':
hwc: Unblank primary display on bootup.
b5e25dfe3a459c6af83e92bff55e1b36c7c49f18 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Return an error in eventControl when blanked

We cannot enable or disable vsync on a blanked display.

Related-to-bug: 8968732
Change-Id: Id3ec37128d527e3a512e1305bc0673a5789ac2d0
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
80c4c237b0c148d0c0537772221add57e4a2fde9 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Unblank primary display on bootup.

SurfaceFlinger assumes that the primary is unblanked on bootup.

Bug: 8968732
Change-Id: I8eafa40829aa774d4c1625d927eb500b49e6dded
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
75cdd796567e6d8ef1ecca65c7844002a1e6c004 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 26ec9b1c: am 45563707: hwc: Return an error in eventControl when blanked

* commit '26ec9b1c81f28704d964d80362c1a1f2d817709b':
hwc: Return an error in eventControl when blanked
26ec9b1c81f28704d964d80362c1a1f2d817709b 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 45563707: hwc: Return an error in eventControl when blanked

* commit '45563707a82ea20e3981e4522daa4f2ae16f3d4d':
hwc: Return an error in eventControl when blanked
45563707a82ea20e3981e4522daa4f2ae16f3d4d 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Return an error in eventControl when blanked

We cannot enable or disable vsync on a blanked display.

Related-to-bug: 8968732
Change-Id: Id3ec37128d527e3a512e1305bc0673a5789ac2d0
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
4eee0be7236c8023ab27bab8ebeeba0d1316ee37 15-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 176362d0: am 4e9a6fca: hwc: Implement idle-fallback for videos

* commit '176362d0a45ff795fd6cf6da5f771a7a972f991d':
hwc: Implement idle-fallback for videos
176362d0a45ff795fd6cf6da5f771a7a972f991d 15-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 4e9a6fca: hwc: Implement idle-fallback for videos

* commit '4e9a6fcae996778da1343e41693788f27af450fa':
hwc: Implement idle-fallback for videos
4e9a6fcae996778da1343e41693788f27af450fa 15-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Implement idle-fallback for videos

In case of videos, do a fallback using 2 pipes per mixer at most.
This redraw will happen only once to reduce pipes from at most 4
to at most 2 and never draw again until there is an update.

Bug: 8848692
Change-Id: I78c0dc2af4e3bd7e9128994e507e777187b4e247

Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
e4040c520484b434f83ded08b2d19a3473ba7bab 14-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
196848a9497f5a91bedb3a862f3629ff00170525 14-May-2013 Iliyan Malchev <malchev@google.com> am c3a5691c: am 0cf69c40: Merge "hwc: Simplify vsync code" into jb-mr2-dev

* commit 'c3a5691c421e270a54502ce17b98dabc1d03252b':
hwc: Simplify vsync code
c3a5691c421e270a54502ce17b98dabc1d03252b 14-May-2013 Iliyan Malchev <malchev@google.com> am 0cf69c40: Merge "hwc: Simplify vsync code" into jb-mr2-dev

* commit '0cf69c406fd8d6a6a4baa05e6ee0c9d48ba09f86':
hwc: Simplify vsync code
0cf69c406fd8d6a6a4baa05e6ee0c9d48ba09f86 14-May-2013 Iliyan Malchev <malchev@google.com> Merge "hwc: Simplify vsync code" into jb-mr2-dev
d70da479395ca1947ff34a60ddb55b1f63bf07b8 14-May-2013 Eino-Ville Talvala <etalvala@google.com> am b9c77aba: am 51df3027: Gralloc: Fix HAL_PIXEL_FORMAT_YCrCb_420_SP structure init

* commit 'b9c77aba968c48d5be91aeeb6447c92ad6816a09':
Gralloc: Fix HAL_PIXEL_FORMAT_YCrCb_420_SP structure init
b9c77aba968c48d5be91aeeb6447c92ad6816a09 14-May-2013 Eino-Ville Talvala <etalvala@google.com> am 51df3027: Gralloc: Fix HAL_PIXEL_FORMAT_YCrCb_420_SP structure init

* commit '51df3027a4a0fdeef0a3ce2220d71adb537acf35':
Gralloc: Fix HAL_PIXEL_FORMAT_YCrCb_420_SP structure init
c2f61ab1d7cc647126b30c4793d700299e90f192 11-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Simplify vsync code

Handle the wait properly in the kernel and remove unnecessary
thread signaling.

Change-Id: Iff05825a7a85d0353f3feb64e7f9a06cedab7869
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_vsync.cpp
51df3027a4a0fdeef0a3ce2220d71adb537acf35 14-May-2013 Eino-Ville Talvala <etalvala@google.com> Gralloc: Fix HAL_PIXEL_FORMAT_YCrCb_420_SP structure init

The initialization was overrunning the end of the structure.

Bug: 8946915
Change-Id: I24b594316956f73366f8c1941c9270faf38e431d
ibgralloc/mapper.cpp
43a58409d3b0b667d4972323cbbfaa1adb6ec869 13-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
833823cfefb760be601c25d672f02ab156b61ee2 11-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 30a13966: am 86ea2154: hwc: Fix Idle fall back when external connected.

* commit '30a13966fca819d533a3646dc981d14f487b1437':
hwc: Fix Idle fall back when external connected.
30a13966fca819d533a3646dc981d14f487b1437 11-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 86ea2154: hwc: Fix Idle fall back when external connected.

* commit '86ea2154d919c3e8cd292a3003cbc8473f1603a4':
hwc: Fix Idle fall back when external connected.
86ea2154d919c3e8cd292a3003cbc8473f1603a4 03-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix Idle fall back when external connected.

Reset idle fall back at the end of prepare, so that irrespective of
whether primary or external is configured first, both will fall back.

Related-to-bug: 8491180
Change-Id: I6206f7cf0cccf71d1b33153044546515029f4e08
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
6f180c67762df2ae44dd0f00f86cc6bd81ca64c7 10-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 573b1d86: am 277b124c: gralloc: Add support for lock_ycbcr

* commit '573b1d86bc381479842fc940ad31d8052e012719':
gralloc: Add support for lock_ycbcr
573b1d86bc381479842fc940ad31d8052e012719 10-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 277b124c: gralloc: Add support for lock_ycbcr

* commit '277b124c636c4bfc891d2481fe939224b93d788e':
gralloc: Add support for lock_ycbcr
277b124c636c4bfc891d2481fe939224b93d788e 08-May-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add support for lock_ycbcr

Fill the android_ycbcr struct for HAL_PIXEL_FORMAT_YCbCr_*_888
formats.

Change-Id: If0c7abf5e206bf982ad333da2dae57cbac302733
ibgralloc/gpu.cpp
ibgralloc/gralloc.cpp
ibgralloc/mapper.cpp
28ced90ec98307b416ee505a8035171fa4b23d1c 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 345a7d85: am 5441c47f: hwc: Do not close fd when vsync read fails

* commit '345a7d85a91b29dd68b38949c412b5d7ce556756':
hwc: Do not close fd when vsync read fails
0db8f17aa8da1d1e32bacbd2d43c716805038dfa 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 3016d9b0: am 30851159: liboverlay: unset basepipe on overlay intialization.

* commit '3016d9b098d3c1d9ce796af64ebbd910efbd4739':
liboverlay: unset basepipe on overlay intialization.
345a7d85a91b29dd68b38949c412b5d7ce556756 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 5441c47f: hwc: Do not close fd when vsync read fails

* commit '5441c47fc6d4e98cc5d951a53cc842b2b475e860':
hwc: Do not close fd when vsync read fails
3016d9b098d3c1d9ce796af64ebbd910efbd4739 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 30851159: liboverlay: unset basepipe on overlay intialization.

* commit '30851159787a142ff3144bc34013eaed2d6f9e9b':
liboverlay: unset basepipe on overlay intialization.
5441c47fc6d4e98cc5d951a53cc842b2b475e860 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Do not close fd when vsync read fails

Related-to-bug: 8804359
Change-Id: I7495c03910a57c2e2090fac6d7ba203de556a0b1
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
30851159787a142ff3144bc34013eaed2d6f9e9b 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> liboverlay: unset basepipe on overlay intialization.

On display framework intialization or restart when we are unsetting
stale MDP pipes connected to mixer, free base pipe too. Base pipe
gets allocated before composition once on start or restart of framework.

Bug: 8879853
Change-Id: Ie73915031ffbcf03b6cadf2c526c76be79d582be
CRs-fixed: 483142
Acked-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/overlay.cpp
3d268a83cf4fb63ecd0cc91541139ac1524edfd1 09-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
e7fde18c7966a73fac12981332389cd431287405 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 89243c0b: am 15e8e620: hwc: Make sure vsync is enabled after unblank

* commit '89243c0b196592d3f55876443c4f428593f4eb02':
hwc: Make sure vsync is enabled after unblank
d9a0be87ecf6cfe4f4d96716a4fa4147e89ec8b6 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am aa8f8b5e: am 4df6fc1d: hwc: Disable fake vsync

* commit 'aa8f8b5e000df7dec6cb2ed02ff3db7147d7ea39':
hwc: Disable fake vsync
89243c0b196592d3f55876443c4f428593f4eb02 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 15e8e620: hwc: Make sure vsync is enabled after unblank

* commit '15e8e620726e96ebed02d2433fb4c405e6e4a6cf':
hwc: Make sure vsync is enabled after unblank
aa8f8b5e000df7dec6cb2ed02ff3db7147d7ea39 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 4df6fc1d: hwc: Disable fake vsync

* commit '4df6fc1dcca26b78692c27d723c0d0de099ec103':
hwc: Disable fake vsync
7bef5e304ea2dd4d867cadee7f84059bc87f2665 09-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am b3587b50: am 0bf0358c: gralloc: Set correct private gralloc format for video buffers

* commit 'b3587b50f4bf7a754533e9bbed382ff7844ce83d':
gralloc: Set correct private gralloc format for video buffers
239f38c33d00e689cfa709800cc1cb284589f577 09-May-2013 Naseer Ahmed <naseer@codeaurora.org> am 71581d85: am e4d4d1c2: gralloc: Add ITU-R standard info for YUV formats

* commit '71581d85f59a9a234ceba6d8d1914d143c3e5113':
gralloc: Add ITU-R standard info for YUV formats
15e8e620726e96ebed02d2433fb4c405e6e4a6cf 08-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Make sure vsync is enabled after unblank

Make sure the unblank call is completed before vsync is enabled.

Related-to-bug: 8804359
Change-Id: I18e4c3e6c3942cd325e85d99859135562748b0c4
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
4df6fc1dcca26b78692c27d723c0d0de099ec103 08-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Disable fake vsync

Disable fall back to fake vsync even when the vsync timestamp is
invalid.

Related-to-bug: 8804359
Change-Id: Ia8fba19ce1bd0635985c6414bbcbd97b76054ebf
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
c0056e2099e6b32d25f08fbbf447c19d47653d2a 08-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
b3587b50f4bf7a754533e9bbed382ff7844ce83d 08-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am 0bf0358c: gralloc: Set correct private gralloc format for video buffers

* commit '0bf0358c270b7700f6049da5354a1c0c656fcded':
gralloc: Set correct private gralloc format for video buffers
71581d85f59a9a234ceba6d8d1914d143c3e5113 08-May-2013 Naseer Ahmed <naseer@codeaurora.org> am e4d4d1c2: gralloc: Add ITU-R standard info for YUV formats

* commit 'e4d4d1c2d57885a3a4d23461c317284f232dd3cd':
gralloc: Add ITU-R standard info for YUV formats
0bf0358c270b7700f6049da5354a1c0c656fcded 21-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> gralloc: Set correct private gralloc format for video buffers

For IMPLEMENTATION_DEFINED pixel format, if the usage flag is
HW_VIDEO_ENCODER, the private gralloc format should be
HAL_PIXEL_FORMAT_NV12_ENCODEABLE.

Change-Id: I61e8aabe124179e8bebda5d50ad1d8681060b99a
ibgralloc/gpu.cpp
e4d4d1c2d57885a3a4d23461c317284f232dd3cd 29-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add ITU-R standard info for YUV formats

These format qualifiers will help graphics decide which standard to use when
working with a YUV texture.

Bug: 8223174
Change-Id: I6ad464e6b070d3b375c5e07f03228308d15407cd
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
f019bed1b4d61cdaadf2253d54477d024d59deaa 06-May-2013 Saurabh Shah <saurshah@codeaurora.org> am ac26fdeb: am 215129c8: hwc: Alpha downscale on MDP4 is not a hard condition.

* commit 'ac26fdebec67788870f4d03702dd4e690ebb3fa5':
hwc: Alpha downscale on MDP4 is not a hard condition.
f8999dc9156eacd2c1cbfead51be24685d89c4cc 06-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 9672f6c5: am 0b658144: hwc: Update redrawing

* commit '9672f6c549a651829e914744dda024219b9c3496':
hwc: Update redrawing
ac26fdebec67788870f4d03702dd4e690ebb3fa5 06-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 215129c8: hwc: Alpha downscale on MDP4 is not a hard condition.

* commit '215129c8b0407f7ef02a7a2bdd00754714f4921c':
hwc: Alpha downscale on MDP4 is not a hard condition.
9672f6c549a651829e914744dda024219b9c3496 06-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 0b658144: hwc: Update redrawing

* commit '0b6581440f8ee137a59af383a3d5207c58df215d':
hwc: Update redrawing
6c8769ab7d31b96ccafa7a68d83dd0990e75a3d8 06-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
215129c8b0407f7ef02a7a2bdd00754714f4921c 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Alpha downscale on MDP4 is not a hard condition.

Alpha downscaling check should be applied to the full and partial
mdp comp checks rather than as a hard-feature check.

This means we could still have a video going through MDP comp and
the volume bar (lets say) failing the Alpha downscale check.

Bug: 8491180
Change-Id: I6a47057e826668f7f19e20b6d0a548fffa349de2
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
0b6581440f8ee137a59af383a3d5207c58df215d 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Update redrawing

By default make use of redrawing. It will be toggled only when caching
decides there shouldn't be any. Per our priority ordering:

1) Full MDP - redraw irrelevant
2) Partial/Cached MDP - decide on redraw
3) Only Video - 1 & 2, which include video, are not possible. Redraw.
4) Fallback - Redraw.

Bug: 8491180
Change-Id: I6b74a5edcf79488ede2ea9480721731f371af9c8
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
6d3ff70ef35ef39de0acc0774f98391752be1185 02-May-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
286eeb4d53a5f22c3915deb05b1e6c4e86c09200 02-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am 12f49f48: am f2b80d8a: gralloc: Mark buffers used by HW Texture

* commit '12f49f4840a5ab32451f5cee35220d7b8edbb95e':
gralloc: Mark buffers used by HW Texture
12f49f4840a5ab32451f5cee35220d7b8edbb95e 02-May-2013 Shuzhen Wang <shuzhenw@codeaurora.org> am f2b80d8a: gralloc: Mark buffers used by HW Texture

* commit 'f2b80d8abab47595b83e3ce9759d4ddccfeafe94':
gralloc: Mark buffers used by HW Texture
f2b80d8abab47595b83e3ce9759d4ddccfeafe94 11-Apr-2013 Shuzhen Wang <shuzhenw@codeaurora.org> gralloc: Mark buffers used by HW Texture

Consumer of gralloc buffers need to distinguish between buffers
with different usage flags, such as HW_TEXTURE vs VIDEO_ENCODER.

Change-Id: Idc330390c184ea942c096b84d29afe7705c06e4d
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
0574e28ab22e846909810a18bae6f5b88dea8984 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 2b00b3be: am c61596b9: hwc: Check for mdp max downscale.

* commit '2b00b3bec852e68d8c36ab0d748410ac06076341':
hwc: Check for mdp max downscale.
4e12f63f2b6c1162527280ddf7c1df41e89612d9 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 5b3a018e: am 5d6ba59e: hwc: Fix bugs with mixed mode MDP comp

* commit '5b3a018ecd779bb6c35a7a4b31c6b8abebb1e22e':
hwc: Fix bugs with mixed mode MDP comp
5305f04721a52186103ccd003e9e1daacf54bc12 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am b4247363: am 85530ac7: hwc: Implement mixed mode composition.

* commit 'b42473633d3e7c62cb13cb12955771d0192268a7':
hwc: Implement mixed mode composition.
c04adfd0cf0ac29ec35903145875efa1149e0923 02-May-2013 Iliyan Malchev <malchev@google.com> am 460c86fc: am ba6e8a53: Revert "hwc: Check for mdp max downscale."

* commit '460c86fcd3ad2a37d0d6ac3cb98bfbb3cf202deb':
Revert "hwc: Check for mdp max downscale."
2b00b3bec852e68d8c36ab0d748410ac06076341 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am c61596b9: hwc: Check for mdp max downscale.

* commit 'c61596b90f6dd4dbbebfb1ffb4ad513f5fba485e':
hwc: Check for mdp max downscale.
5b3a018ecd779bb6c35a7a4b31c6b8abebb1e22e 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 5d6ba59e: hwc: Fix bugs with mixed mode MDP comp

* commit '5d6ba59e2cc10cac241153bd5b1088f2330ef8e6':
hwc: Fix bugs with mixed mode MDP comp
b42473633d3e7c62cb13cb12955771d0192268a7 02-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 85530ac7: hwc: Implement mixed mode composition.

* commit '85530ac7d0a1a8961320ca9c7de6adafcff3be08':
hwc: Implement mixed mode composition.
460c86fcd3ad2a37d0d6ac3cb98bfbb3cf202deb 02-May-2013 Iliyan Malchev <malchev@google.com> am ba6e8a53: Revert "hwc: Check for mdp max downscale."

* commit 'ba6e8a536e083008d0d3506e25c8ce47f66b3e2c':
Revert "hwc: Check for mdp max downscale."
c61596b90f6dd4dbbebfb1ffb4ad513f5fba485e 01-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Check for mdp max downscale.

Check for MDP's max downscale limit before using MDP for composition.
MDP 4 can downscale in each direction upto a factor of 8.

Bug: 8744080
Change-Id: Ibb225c35aeeadaf13eaefa673fb47158a61ec006
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
5d6ba59e2cc10cac241153bd5b1088f2330ef8e6 25-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix bugs with mixed mode MDP comp

Fix reseting on handles, they never were in most cases,
owing to wrong size.

Fix redrawing, which needs to be done also when the fb's zorder changes.

Fix mdpcount update which should happen before we assess the pipes
available versus the pipes needed.

Handle video only cases, where other UI layers could be present, but we
cannot use MDP comp for them.

Restructure MDP comp decision model and some redesign.

Change-Id: Iba6c290254b19ff47238edc197aab0bf4ed91882
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
85530ac7d0a1a8961320ca9c7de6adafcff3be08 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Implement mixed mode composition.

With this change we are moving MDP composition from all-or-nothing
implementation to mixed mode implementation where layers can
partially be composited through MDP and while rest of the layers are
composed / cached in framebuffer.

- Mixed mode design is based on layer caching
- Mixed mode path is configured only when non-bypassing
layers are cached.
- Never allow mixed mode when FB needs to be udpated.
- If we cannot bypass all MDP comp marked layers, bail
out completely.

Change-Id: I8cafc35e5bf349fa72572936a5724aee65d056df
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
ba6e8a536e083008d0d3506e25c8ce47f66b3e2c 02-May-2013 Iliyan Malchev <malchev@google.com> Revert "hwc: Check for mdp max downscale."

Reverting this temporarily, since the wrong version of the initial patch got
merged. A subsequent commit will reinstate this change.

This reverts commit afd8f9718bdcef7097dd630137f8ae274e9b72ca.

Change-Id: I3ebbae4d69c53d75516dcd8b0080109d0a3e5786
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
06e2837c76c683c4f461943371160c35d04f06a3 01-May-2013 Saurabh Shah <saurshah@codeaurora.org> am 01ae10b7: am afd8f971: hwc: Check for mdp max downscale.

* commit '01ae10b74fc66d1bde65830c7b24ec1fc69d1582':
hwc: Check for mdp max downscale.
01ae10b74fc66d1bde65830c7b24ec1fc69d1582 01-May-2013 Saurabh Shah <saurshah@codeaurora.org> am afd8f971: hwc: Check for mdp max downscale.

* commit 'afd8f9718bdcef7097dd630137f8ae274e9b72ca':
hwc: Check for mdp max downscale.
afd8f9718bdcef7097dd630137f8ae274e9b72ca 01-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Check for mdp max downscale.

Check for MDP's max downscale limit before using MDP for composition.
MDP 4 can downscale in each direction upto a factor of 8.

Bug: 8744080
Change-Id: Ib9f640a6b1db3ba6244eb665a060f624425b4841
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
168582119a054183328c701afda7ed3775248d43 30-Apr-2013 Shashank Mittal <mittals@codeaurora.org> Enable support for Venus color format

Change-Id: Ic0f530af44940e3507bcae6fe346b5f69f2cecb8
ommon.mk
0fe1b16d80465a944b1ef8e2badda6a0a4205980 30-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am fcb09198: am b90d859d: hwc: Fallback to GPU if source image width or height is less than 2

* commit 'fcb091987dd73fbbbec82fdfdcc4c76b9c134f16':
hwc: Fallback to GPU if source image width or height is less than 2
3266cf77769134d200fa526475a6609f7a6f0cbc 29-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Fallback to GPU if source image width or height is less than 2

There is h/w limitation when MDP_OP_SCALE_RGB_ENHANCED bit and
MDP4_OP_SCALEX_EN or MDP_OP_SCALEY_EN bit is set.
The minimum block size is 2x2. MDP will hang if the source RGB image
height or width is equal to 1. Hence fallback to GPU in such cases.

Bug: 8744080
Change-Id: I7333b097fd26bfb888865de9c39d1664bc87acca
CRs-fixed: 477581
Acked-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
fcb091987dd73fbbbec82fdfdcc4c76b9c134f16 30-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am b90d859d: hwc: Fallback to GPU if source image width or height is less than 2

* commit 'b90d859d7a0efebeaab917a7d7c719dee0c87da8':
hwc: Fallback to GPU if source image width or height is less than 2
b90d859d7a0efebeaab917a7d7c719dee0c87da8 29-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Fallback to GPU if source image width or height is less than 2

There is h/w limitation when MDP_OP_SCALE_RGB_ENHANCED bit and
MDP4_OP_SCALEX_EN or MDP_OP_SCALEY_EN bit is set.
The minimum block size is 2x2. MDP will hang if the source RGB image
height or width is equal to 1. Hence fallback to GPU in such cases.

Bug: 8744080
Change-Id: I7333b097fd26bfb888865de9c39d1664bc87acca
CRs-fixed: 477581
Acked-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
04adee53913713650d59e99b772b6cf62dc97817 29-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am ce6979ef: am b53fd358: hwc: Use HAL tag along with graphics for trace

* commit 'ce6979ef83d4fa21c5f1878e3095a8bb9db3adee':
hwc: Use HAL tag along with graphics for trace
43bb909a0769c68f171586b840d225076a8db3a4 29-Apr-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
ce6979ef83d4fa21c5f1878e3095a8bb9db3adee 27-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am b53fd358: hwc: Use HAL tag along with graphics for trace

* commit 'b53fd3580ca9bd45e980c320daeb112e5d4f922a':
hwc: Use HAL tag along with graphics for trace
b53fd3580ca9bd45e980c320daeb112e5d4f922a 27-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Use HAL tag along with graphics for trace

Bug:8733227
Change-Id: If1b1c9be17977b69146bbdd7f46a182e9d8ab879
ibhwcomposer/hwc.cpp
b1210971270a49baa794d12329db6c1b4b43e77b 24-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 078d6685: am 16dd9dfb: gralloc: Add missing break statement

* commit '078d6685ca5291d28749a83c0c5d194d8b553e1c':
gralloc: Add missing break statement
092bc0381b0d91c2ca5d831ec521b6659a5b8aab 24-Apr-2013 Alex Ray <aray@google.com> am d38b60ad: am ef74186c: gralloc: fix gralloc module

* commit 'd38b60ad9fc66970305689744244e9979fd84999':
gralloc: fix gralloc module
6d7027b503a1481b18a99397d87718010cc02fe7 23-Apr-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
078d6685ca5291d28749a83c0c5d194d8b553e1c 23-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 16dd9dfb: gralloc: Add missing break statement

* commit '16dd9dfb184ed98c623770819418e168600b29c9':
gralloc: Add missing break statement
d38b60ad9fc66970305689744244e9979fd84999 23-Apr-2013 Alex Ray <aray@google.com> am ef74186c: gralloc: fix gralloc module

* commit 'ef74186c0aae84b08c9b00496d8d8f8970248343':
gralloc: fix gralloc module
16dd9dfb184ed98c623770819418e168600b29c9 20-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add missing break statement

Change-Id: I5ac1b5d504a0d6d026c3cf8f73c5be99426f7e0f
Signed-off-by: Ed Tam <etam@google.com>
ibgralloc/alloc_controller.cpp
223193be63a7eeadc0b369d715f685a91c3d2eba 22-Apr-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
ef74186c0aae84b08c9b00496d8d8f8970248343 20-Apr-2013 Alex Ray <aray@google.com> gralloc: fix gralloc module

Explicitly setting reserved (in C++) breaks future extensions of the
module format. Removed these explicit settings for future
compatibility.

Change-Id: Ia7fa1e1ff73114a6eacb5b228e81ef1c30c32f43
ibgralloc/gralloc.cpp
488c9d4046736d0d1d8a7f768a1c0357331e740f 19-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 65053df4: am 9f6e860e: gralloc: Add support for "RAW" and "BLOB" formats

* commit '65053df4b382f8a3e7e6688a347ca2ac25ee4b47':
gralloc: Add support for "RAW" and "BLOB" formats
65053df4b382f8a3e7e6688a347ca2ac25ee4b47 19-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 9f6e860e: gralloc: Add support for "RAW" and "BLOB" formats

* commit '9f6e860edc4b13d316c229eb0dd6512b6b581c70':
gralloc: Add support for "RAW" and "BLOB" formats
9f6e860edc4b13d316c229eb0dd6512b6b581c70 18-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add support for "RAW" and "BLOB" formats

The allocation is done as specified in system/graphics.h
Raw formats are 16 bit and aligned to 32 bytes, blob formats have
a height of 1 and the size of the buffer is equal to the width.

Change-Id: If762a34dde3b78f138689ced1077c9529020ebf0
ibgralloc/alloc_controller.cpp
da85a610c4bc48af3e2890b13dcafb38bf22d659 18-Apr-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
8346179f772717ab5faa55b56cd6393c6e30eb5c 17-Apr-2013 Jesse Hall <jessehall@google.com> am 592eae77: am 665dfb63: hwc: provide retire fence for virtual displays

* commit '592eae775709da28cf92417a4ce2f3d8c9e3d6ca':
hwc: provide retire fence for virtual displays
592eae775709da28cf92417a4ce2f3d8c9e3d6ca 17-Apr-2013 Jesse Hall <jessehall@google.com> am 665dfb63: hwc: provide retire fence for virtual displays

* commit '665dfb63994cc0a0040e685ed750673e2bc5ed0d':
hwc: provide retire fence for virtual displays
665dfb63994cc0a0040e685ed750673e2bc5ed0d 17-Apr-2013 Jesse Hall <jessehall@google.com> hwc: provide retire fence for virtual displays

The frame retire fence is also used as the outbuf release fence. HWC
has to provide a fence that won't signal until the virtual display
consumer (e.g. video encoder) can safely read from the buffer. Since
HWC doesn't read or write the buffer currently, it now just passes the
outbuf acquire fence back out as the release fence, so the consumer
will wait for GLES compositing to finish.

Bug: 8316155
Change-Id: I55868ac8ad0ec7eba8218820c960281a5711b8e1
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
a537f2b3e381d1237262947dbcfe9f2aedac4e7d 15-Apr-2013 The Android Open Source Project <initial-contribution@android.com> am 60a43864: Reconcile with jb-mr2-release - do not merge

* commit '60a4386420795cd8a41080eca8d41a850c0b8006':
hwc: Reset Layer cache on idle timeout
60a4386420795cd8a41080eca8d41a850c0b8006 15-Apr-2013 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr2-release - do not merge

Change-Id: Idbf8ee4bd4b1c94e16c82092476bd76ebb6842c0
00705029b932905b93baa0e3350fae7fb27a3c6c 15-Apr-2013 The Android Automerger <android-build@android.com> merge in jb-mr2-release history after reset to jb-mr2-dev
f61d75f5db96fe86fd02ebe1bf0bbfebbddd39c6 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am ac139161: hwc: Conditional checks for B-Family

* commit 'ac1391615c3d70676a31aae57e51e47db2ee57d8':
hwc: Conditional checks for B-Family
527eeb19bce3fa0929697c2190d9b122962217dc 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 2ab5edab: hwc: Stub virtual display implementation

* commit '2ab5edab12c720e4ba4317d1cae9e6370ccb2067':
hwc: Stub virtual display implementation
5d61233bf25a1be10ff61b2609616f4845847807 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 18bdb52a: hwc: Add support for plane alpha

* commit '18bdb52a00d4762d423b060e3142fd958664303e':
hwc: Add support for plane alpha
247aa30467ea20f28f0c7b406ffe6966b6a5bada 14-Apr-2013 Prabhanjan Kandula <pkandula@codeaurora.org> am 2ece2f51: liboverlay: round off rotator downscale factor to nearest integer.

* commit '2ece2f518667ca49e87f6b4fc20aefddfb48384c':
liboverlay: round off rotator downscale factor to nearest integer.
b54eee0f4dce8086c97eda4f7f65e317b4baf2f2 14-Apr-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am b8986cf8: hwc: Allow MDP composition for Secure playback

* commit 'b8986cf8f2f7702e1d281bf67fd31f6be09eb287':
hwc: Allow MDP composition for Secure playback
d7198f39b765a8f48045ca7a0568ec12371c7a3f 14-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> am df337978: overlay: MdssRot: Clear orientation values in setTransform.

* commit 'df33797841bdf944928dadb41385ea550367200f':
overlay: MdssRot: Clear orientation values in setTransform.
065c6597d923301439e56a10f67e227ad50b9828 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am ae658e88: gralloc: Mark buffers used by HWC

* commit 'ae658e884cc703419ad281d25fa5957db74131cc':
gralloc: Mark buffers used by HWC
daeb4f6f6b6092ef1556c4f4b78cf016f3165c60 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 5aa3a5f0: gralloc: Enable framebuffer memory mapping.

* commit '5aa3a5f06ddae46951851fec19ee2e7e20d914cf':
gralloc: Enable framebuffer memory mapping.
b86db27cf254a36d5f93803bb8c917ae790dc0c9 14-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 0980ea10: libcopybit: protect all c2d copybit API\'s

* commit '0980ea10b5f426c1532bb72c5436ec74ddd958d7':
libcopybit: protect all c2d copybit API's
8a5ca406a38d31c5f20069034dd87f3fd1c36829 14-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> am 1e2af0f0: hwc: Sync for rotator

* commit '1e2af0f047ca851e6063729239bc82c6b4a78b42':
hwc: Sync for rotator
eeac713a8634130893e8f76e87b8d241e7a462cd 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 13389e56: hwc: Ensure borderfill pipe is setup only after unblank

* commit '13389e567b043f692ee60c3f0d7a43cb8b11a024':
hwc: Ensure borderfill pipe is setup only after unblank
305ab24a888c578b2a4d27568bb6fb928687212d 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 81481266: hwc: Reduce blank/unblank logspam

* commit '814812663bf173ab5aecd06a228b4a3afcce9798':
hwc: Reduce blank/unblank logspam
71bdaf497b461df69e613b3d8ccbb08404b35da9 14-Apr-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> am fb52c024: hwc: Configure FbUpdate only when needed

* commit 'fb52c024f2aa1319da259f7ee3104147b167648c':
hwc: Configure FbUpdate only when needed
0946cc882d68854b8bb4f7510f20d5af8ca2de2f 14-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 7538c70d: hwc: clean up overlay on external display blank

* commit '7538c70d6707dbe6acfdf621d5abf2ae4ff8f9b8':
hwc: clean up overlay on external display blank
c20619d548a2cf300c6b016ed0eb3f91d87d0008 14-Apr-2013 Naomi Luis <nluis@codeaurora.org> am bc082b71: libgralloc: Set the Adreno raster mode as "unknown"

* commit 'bc082b71d620f3e656169ada5d8a570be19cca5c':
libgralloc: Set the Adreno raster mode as "unknown"
cc54262c392063dd1d3512379dc204e05cb2f8c2 14-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am 16292d00: hwc: Add debug logging for fps

* commit '16292d0097fa8f455a2a7b10b6af5144b7def9dd':
hwc: Add debug logging for fps
4fc787498fcaee563998e4fb742a64af05211c30 14-Apr-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> am 0edd0eba: hwc: Use correct z-order in video overlay

* commit '0edd0eba442e8b6db2fc2758ecd48e888d251d02':
hwc: Use correct z-order in video overlay
ac1391615c3d70676a31aae57e51e47db2ee57d8 13-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Conditional checks for B-Family

Rotator sync support and plane alpha are not yet implemented
for B-Family targets

Change-Id: Ic21c2f13ab92c1b995b1a492463bf066ae15852d
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.h
2ab5edab12c720e4ba4317d1cae9e6370ccb2067 08-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Stub virtual display implementation

Close any fences we receive for virtual displays.

Change-Id: I1a039f560d9d6c9d2b41ddbad2007d1da9113abe
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
18bdb52a00d4762d423b060e3142fd958664303e 19-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for plane alpha

HWC 1.2 API passes down the plane alpha and the blending
operation to apply. Pass this information to the MDP.

Change-Id: Ie191b7414b7100a951a33c02291d8f5b7dab7645
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayUtils.h
2ece2f518667ca49e87f6b4fc20aefddfb48384c 04-Apr-2013 Prabhanjan Kandula <pkandula@codeaurora.org> 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
iboverlay/overlayUtils.cpp
b8986cf8f2f7702e1d281bf67fd31f6be09eb287 21-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Allow MDP composition for Secure playback

Allow MDP composition for Secure playback.
Handle non-secure scenarios like
1. When secure mode is enabled, if HWC receive a non-secure video
layer, fallback to GPU.
2. When non-secure mode is enabled, if HWC receive a secure video
layer, fallback to GPU.

Change-Id: I7fba414e4dfbe9a87de3ce1e5e07f601bbccd5bd
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
df33797841bdf944928dadb41385ea550367200f 05-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: MdssRot: Clear orientation values in setTransform.

We cleared the values after MSMFB_OVERLAY_SET, which could cause dumpsys
to not show them.
Clear the values in setTransfrom, before applying incoming values.

Change-Id: Icf2244a0ea7f2cae5d8f1b8c5e2f4cbecbe3ce3f
iboverlay/overlayMdssRot.cpp
ae658e884cc703419ad281d25fa5957db74131cc 05-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Mark buffers used by HWC

Some clients need to distinguish between buffers going to HWC
for composition and other regular buffers.

Change-Id: Ia05a765afe2f8bd223f3e47edd0fb746d6ade531
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
5aa3a5f06ddae46951851fec19ee2e7e20d914cf 11-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Enable framebuffer memory mapping.

Enable mapping from framebuffer if debug.gralloc.map_fb_memory
is set to 1. This is useful for bringup.

Change-Id: I3c860148729c5f5c98d84bf17e6633285b4b0af1
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
0980ea10b5f426c1532bb72c5436ec74ddd958d7 03-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: protect all c2d copybit API's

- Each client API exposed by the copybit C2D needs
to be protected.
- Add protection for clear_copybit and blit_copybit
- This is needed as clear_copybit was overriding the
mapped gpuaddr while copybitwaitthread was waiting
for transaction to finish and unmap
- After waitforTimestamp, the new addresses were
unmapped leading to GPU Page fault

Change-Id: Ieeac10e73b05d3b47e602b2de4b4e64892737c9c
CRs-fixed: 470430
ibcopybit/copybit_c2d.cpp
1e2af0f047ca851e6063729239bc82c6b4a78b42 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> 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
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/Android.mk
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.cpp
13389e567b043f692ee60c3f0d7a43cb8b11a024 04-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> 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
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
814812663bf173ab5aecd06a228b4a3afcce9798 04-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Reduce blank/unblank logspam

This is logged in the kernel and if there are excessive delays,
logged in the PowerManager.

Bug:8485194
Change-Id: Ia83b186ccae1fb6de59f200faf28346f84d832b6
ibhwcomposer/hwc.cpp
fb52c024f2aa1319da259f7ee3104147b167648c 22-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Configure FbUpdate only when needed

When video overlay is on and there are no UI layers to compose,
there is no need to configure for framebuffer target.

If framebuffer target is also configured in such cases, video is not
shown on display due to 0 z-order.

Change-Id: I468068fa3a273d61e3688014251043035353cec0
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
7538c70d6707dbe6acfdf621d5abf2ae4ff8f9b8 29-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: clean up overlay on external display blank

- On suspend, SurfaceFlinger calls hwc_blank on primary and
external separately, inbetween these calls there might be a
update, which leads to acquiring overlay pipes for external
which will not be cleared and results in showing up stale
frame on external display
- This change clears all the overlay pipes used on every blank

Change-Id: I44d62b7d0fcd992cf8a26bb0c21df77952bc1381
CRs-fixed: 464070

Conflicts:

libhwcomposer/hwc.cpp
ibhwcomposer/hwc.cpp
bc082b71d620f3e656169ada5d8a570be19cca5c 28-Mar-2013 Naomi Luis <nluis@codeaurora.org> libgralloc: Set the Adreno raster mode as "unknown"

Set the raster mode as "unknown" when calling libadreno_utils to
compute the surface stride. This allows libadreno_utils to decide
the best stride to pick up based on the specific GPU.

Change-Id: Id88f5887168564398492ab03d160ddd0ce5e083a
ibgralloc/alloc_controller.cpp
16292d0097fa8f455a2a7b10b6af5144b7def9dd 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add debug logging for fps

This is indicative of how many frames are posted to the display
by SurfaceFlinger. Set debug.gr.calcfps to 1 and restart the
framework to enable.

Change-Id: Ic503c14380fd7d8a5b062aa5da0d61bfc3991cb2
CRs-Fixed: 462010
ibhwcomposer/hwc.cpp
0edd0eba442e8b6db2fc2758ecd48e888d251d02 15-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Use correct z-order in video overlay

Set z-order of video layer to 0 and framebuffer to 1 in case
of video overlay composition so that the blending takes effect.
Also set is_fg OFF for framebuffer.

Change-Id: I05f930074d265d690f29a1003b7c28077df89bbf
CRs-fixed: 458180
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
48cc70912628106845915be9cb5c7a4baab20d6c 12-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> 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.

Bug: 8577446
Change-Id: I3ab1b0f28044975978a32e082976b038242697d0
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
9d55dcca800baca40a4b2aad949400e4a0f9e36d 12-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> am d8163b9b: hwc: Reset Layer cache on idle timeout

* commit 'd8163b9bb43aec04fb3dc4b44e2008fb02f7dc0a':
hwc: Reset Layer cache on idle timeout
d8163b9bb43aec04fb3dc4b44e2008fb02f7dc0a 12-Apr-2013 Naseer Ahmed <naseer@codeaurora.org> 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.

Bug: 8577446
Change-Id: I3ab1b0f28044975978a32e082976b038242697d0
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
5f6670d1576f3765e2eeeb8f579ca007dff62c5a 09-Apr-2013 Rom Lemarchand <romlem@google.com> am b92734c4: Add support for msm8974 and msm8226 targets

* commit 'b92734c4d2be8e5e026d29d96788bba5f80674fb':
Add support for msm8974 and msm8226 targets
b92734c4d2be8e5e026d29d96788bba5f80674fb 09-Apr-2013 Rom Lemarchand <romlem@google.com> Add support for msm8974 and msm8226 targets

Adding support for msm8974 and msm8226 targets to make Qualcomm patch
integration easier.

Change-Id: I1e0e224822698bb46dec323bbc0cb92dcc7ed703
ndroid.mk
7233ac66baf828110739a17ad5227749cb3be05a 28-Mar-2013 Prabhanjan Kandula <pkandula@codeaurora.org> am 145e666f: libhwcomposer: add dynamic thresold support for copybit.

* commit '145e666f55a9df786bb0d8b1df5b72809a40a9e7':
libhwcomposer: add dynamic thresold support for copybit.
0eb5aae72dd14b06247b7d8ee4e07ff3735b4807 28-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am e2b94da0: hwc: Add MetaData support in overlay path.

* commit 'e2b94da0a7de2a5cad9ecb90ed3eee5dca219863':
hwc: Add MetaData support in overlay path.
858349219f4eb9a0ce47b5cc2121a0dd5eb60486 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 9449eb8d: hwc: NULL check on buffer handle

* commit '9449eb8d19ce1af2ef31c15189a90aef3fad4e73':
hwc: NULL check on buffer handle
7fca541db1170d1cfacf9d74acb8102c4865867c 28-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am a1bcc44c: overlay: Use correct downscale for rotator.

* commit 'a1bcc44c3311810eb06d55e73cc07610da8cf3bd':
overlay: Use correct downscale for rotator.
769755d492d322220be79e8cc0abe2bdbd5dcbd9 28-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am f723a180: hwc: Add DMA pipe support in MDP composition.

* commit 'f723a18011e80facc7a3028ecb005a125f3c481b':
hwc: Add DMA pipe support in MDP composition.
8e44026bc83994f9c1877ac92f632430ea2382bf 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 0b5054e4: display: Use cache invalidate and clean correctly

* commit '0b5054e40d055687b036b626538e79bf160beebb':
display: Use cache invalidate and clean correctly
f72745f5472917ffe5e4326b09ae635c6cf53203 28-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 5bcb35d7: libcopybit: Remove usage of C2D_NO_BILINEAR_BIT

* commit '5bcb35d75625df60a28b03e3ccd2f9037e85e2f9':
libcopybit: Remove usage of C2D_NO_BILINEAR_BIT
48e5bd4f7749ccfdbd0ea48830762e6aec0bc9c1 28-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 7fd7ee4a: hwc: Initialize rotator field to NULL.

* commit '7fd7ee4a0e438f613fc072089c1c02fcf115bb24':
hwc: Initialize rotator field to NULL.
7240b45fa9ec3fd949c71c5096a583fc256d39a5 28-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 5c40d490: libexternal: disable HPD during initialization.

* commit '5c40d490775bb8c50d36ae14db9f4c02c61ebc50':
libexternal: disable HPD during initialization.
94afc3e98969b6be373e40b4909988eda29c10fd 28-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 6ff21c1c: hwc: Configure pipe for FB even if we exceed max layers

* commit '6ff21c1cb103978d544227d64577ce230696a3d7':
hwc: Configure pipe for FB even if we exceed max layers
c64fbebfe25dee3e6b0dde9a8c7362e0b1b20aa9 28-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am a442689c: libcopybit: Use blending parameters passed by HWC

* commit 'a442689c6eb7b57b15e94c99c15678bc6a6da554':
libcopybit: Use blending parameters passed by HWC
8998a9110b8d0996f202a42eb2401954b61e7d7f 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 20cec842: hwc: Check vsync state before sending it up

* commit '20cec8421c5211c2e5f2501f4eda5b834c4f766b':
hwc: Check vsync state before sending it up
04f270d118c4417fb3eb66324130b8c2f29ed6a5 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 6f51cecb: hwc: Add support for clearing with c2d

* commit '6f51cecb2be306aef008773d61fea4ce7b896fc9':
hwc: Add support for clearing with c2d
f304bfdbf58232b5f0d23a446a65cc3694f40d84 28-Mar-2013 Ping Li <quicpingli@codeaurora.org> am fc8628e3: libqservice: Change the permission for SCREEN_REFRESH

* commit 'fc8628e30053b994cf02f4cbb24ca5dcaeb3ee54':
libqservice: Change the permission for SCREEN_REFRESH
7ae9966254c6ad31b2660a706539f71c7435ff7a 28-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 8dab7bc0: gralloc: Align protected allocations with the spec

* commit '8dab7bc01d1e5e0f297494f95e445eb92bc211b7':
gralloc: Align protected allocations with the spec
ac29063d563b9eaffb78b050ca01ce7e867281c8 28-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> am 27962189: hwc: Fix alpha downscale check for mdp composition

* commit '27962189f494fada88706e612b1f57263bcca195':
hwc: Fix alpha downscale check for mdp composition
b2877f70ef5558713d2539345fc960eba370a37e 28-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am fbc8e315: hwc: qclient: Subscribe to mediaplayer death later.

* commit 'fbc8e31588543bc8ca8b38cce8182cf5bb20371c':
hwc: qclient: Subscribe to mediaplayer death later.
4934ce47adce939e86a4a5639c50b76186bf48ac 28-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am a6287fb0: hwc: Handle WFD Pause/Resume usecase

* commit 'a6287fb042bfa92b42599ef4f0ddd0e3291de9b5':
hwc: Handle WFD Pause/Resume usecase
145e666f55a9df786bb0d8b1df5b72809a40a9e7 15-Mar-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libhwcomposer: add dynamic thresold support for copybit.

copybit blit may not be effective if data for composition
is high. Add configurable threshold support beyond which
we can avoid copybit blit. set default threshold value to
2 times of fb resolution.

CRs-fixed: 462450

Change-Id: I0ee77ea1d761dc370d82ade1724caefbecfa01f5
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_utils.cpp
e2b94da0a7de2a5cad9ecb90ed3eee5dca219863 23-Jan-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add MetaData support in overlay path.

DONE:
1. HSIC(SPA) test.
2. IGC R/G/B channel test.
3. QSEED2 sharpening/smooth test verified through register value check.

Change-Id: Ia9472f489c013df22a3411eeaac3c8d1e6e22ac0
ommon.mk
ibhwcomposer/hwc_utils.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
ibqdutils/qdMetaData.cpp
ibqdutils/qdMetaData.h
9449eb8d19ce1af2ef31c15189a90aef3fad4e73 26-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: NULL check on buffer handle

In some cases it is seen that we receive a NULL handle on
suspend/resume. One such test case is open browser, suspend
device, resume device, unlock screen. Since we rely on the handle
to get the format, make sure it is not null.

Change-Id: Ia476887a831df33a50b2939a46c143b9c207ea9b
ibhwcomposer/hwc_utils.cpp
a1bcc44c3311810eb06d55e73cc07610da8cf3bd 19-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Use correct downscale for rotator.

Downscale is calculated based on area of dst and src.
Apply sqrt of downscale to each dimension.

Change-Id: I9def4ea5073e0e49a05103505a6b6f5013f0d579
iboverlay/overlayUtils.cpp
f723a18011e80facc7a3028ecb005a125f3c481b 07-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Add DMA pipe support in MDP composition.

This change adds support to MDP composition to use DMA pipes when
layer scaling is not needed. Also makes sure not to invoke
MDP rotator when DMA pipes are configured since MDP rotator will
expect both the DMA pipes to available for performing rotation.
In such cases, we let the first frame of rotated video frame to
fall back to FB.

Change-Id: I3c3697dd2713ce9b86ba1e23192ec5841abd25ec
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
0b5054e40d055687b036b626538e79bf160beebb 21-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> display: Use cache invalidate and clean correctly

Make sure cache is invalidated before reading in software and
cleaned after writing in software.

Change-Id: I91c471c47a5f1ff11f9960f08091a17ffe575534
ibcopybit/copybit_c2d.cpp
ibgralloc/ionalloc.cpp
ibgralloc/ionalloc.h
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
5bcb35d75625df60a28b03e3ccd2f9037e85e2f9 20-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: Remove usage of C2D_NO_BILINEAR_BIT

Remove usage of C2D_NO_BILINEAR_BIT in the config mask.
This enables using the BILINEAR filter for scaling and
improves the image quality

Change-Id: Ic9b61fe3ed5b16e63971fe542928640a13d92764
CRs-fixed: 453925
ibcopybit/copybit_c2d.cpp
7fd7ee4a0e438f613fc072089c1c02fcf115bb24 26-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Initialize rotator field to NULL.

In case of High resolution MDP comp, initialize rot field to NULL,
which was missing.
This is already done in the Low resolution case.

Change-Id: I5a9be8393cceff58f0ba3b6d85a887949f25af62
ibhwcomposer/hwc_mdpcomp.cpp
5c40d490775bb8c50d36ae14db9f4c02c61ebc50 20-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: disable HPD during initialization.

- Disable HPD at start, it will be enabled later
when the display is powered on
- This fixes the issue where the HDMI mirroring
was not working when there was a framework reboot
or adb shell stop/start

Change-Id: I56d706ebae281297a8ec6517a4fb8e5cdda27617
CRs-fixed: 461820
ibexternal/external.cpp
6ff21c1cb103978d544227d64577ce230696a3d7 22-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Configure pipe for FB even if we exceed max layers

Even if we exceed max supported layers, configure pipe for FB
Because FB contents are always displayed using hwc

Also some minor code fixes

Change-Id: I740ab7e908c916373b1d87facd831e09098ce753
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.h
a442689c6eb7b57b15e94c99c15678bc6a6da554 22-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: Use blending parameters passed by HWC

Instead of assuming the premultiplied alpha based on the color
format, use the blending parameter passed by the HWC.

Change-Id: Ib494644b6f9c4bf13d8ea28327ccc2058a52aae8
CRs-fixed: 466732
ibcopybit/copybit_c2d.cpp
20cec8421c5211c2e5f2501f4eda5b834c4f766b 16-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Check vsync state before sending it up

The vsync enable ioctl is called in a separate thread in a
recent change
Hence it was now possible that vsync could be disabled but
SurfaceFlinger still received a vsync. With this check we make
sure that doesn't happen.

Change-Id: I459c0b98ab9ce972d86a361c5ecdfe0c1a2d0e74
ibhwcomposer/hwc_vsync.cpp
6f51cecb2be306aef008773d61fea4ce7b896fc9 15-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for clearing with c2d

When blending translucent layers or transitioning with c2d,
sometimes the frame is blended with stale framebuffer content.
Clear the frame with C2D fill surface before drawing.

CRs-fixed: 462461
Change-Id: I1dca477fe88d77f4f0fa4846b155404f348e911d
ibcopybit/copybit.h
ibcopybit/copybit_c2d.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
fc8628e30053b994cf02f4cbb24ca5dcaeb3ee54 18-Mar-2013 Ping Li <quicpingli@codeaurora.org> libqservice: Change the permission for SCREEN_REFRESH

Change the SCREEN_REFRESH permission from AID_GRAPHICS to AID_SYSTEM.

Change-Id: I8d732282df481695d8241e3087725784825b756d
ibqservice/IQService.cpp
8dab7bc01d1e5e0f297494f95e445eb92bc211b7 07-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Align protected allocations with the spec

The specification for GRALLOC_USAGE_PROTECTED indicates that
allocations with that flag must be protected by securing with
hardware. If such protection is not possible, the buffer must not
be composited. In our current software only the MM_HEAP is
secured. If we allocate protected buffers from any other heap we
block those from being displayed.

CRs-fixed: 465012
Change-Id: I9d47aba3d28192db3fcc394fd6b38efe42ae118b
ibgralloc/alloc_controller.cpp
iboverlay/overlayMem.h
27962189f494fada88706e612b1f57263bcca195 20-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Fix alpha downscale check for mdp composition

Do not allow mdp composition when any layer format has alpha channel
and needs scaling as the VG pipes are not supporting alpha downscaling.

In few scenarios, at the beginning/ending of animations Surface Flinger
passes few frames with flag HWC_BLENDING_NONE though it has Alpha.
When such layer passed to VG piple and if needs scaling , it results in
flicker. Hence, just checking for HWC_BLENDING_NONE is not enough.

Change-Id: I70fdfe4547df6fe7b2771ed8042f43aa4e07a71d
CRs-fixed: 462508
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
fbc8e31588543bc8ca8b38cce8182cf5bb20371c 16-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: qclient: Subscribe to mediaplayer death later.

Subscribing to mediaplayer death on bootup delays
display startup because it depends on mediaplayer startup.
Defer until later.

CRs-fixed: 463863
Change-Id: I5a5fc392b88fd06f51521f9e4c06feb52a5af7c6
ibhwcomposer/hwc_qclient.cpp
a6287fb042bfa92b42599ef4f0ddd0e3291de9b5 15-Feb-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Handle WFD Pause/Resume usecase

During Pause event, set external pending state, there by
allowing frames to fall back to FB, closing all MDP pipes.
Resume event should be considered as a connect event.

Change-Id: I536ab9df7145bbb9081edd01168d3dcbc332f07e
CRs-Fixed: 452380
ibhwcomposer/hwc_uevents.cpp
1b0c74896a69a718167066dfbf933a0f49b5b8fc 27-Mar-2013 Erik Gilling <konkers@android.com> am ec7b24ba: build libs on 8x26

* commit 'ec7b24ba7c7abd77457e516fc2ee14a16a01f002':
build libs on 8x26
ec7b24ba7c7abd77457e516fc2ee14a16a01f002 26-Mar-2013 Erik Gilling <konkers@android.com> build libs on 8x26

Change-Id: Ia43143ec99b55e493432595efc7ac063507824fe
ndroid.mk
ommon.mk
69b8df2435983bebd0ee25e49108990dae68ad78 26-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 5b0a4a10: display: Enable compilation for 8x74

* commit '5b0a4a1080e095ef8c5f4cae5b982c75a455ee40':
display: Enable compilation for 8x74
5b0a4a1080e095ef8c5f4cae5b982c75a455ee40 23-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> display: Enable compilation for 8x74

Change-Id: I8be8a7ab85ae721d2f5366982202cbc27a5f5d40
ndroid.mk
ommon.mk
cf8e6e2cef81a86807918419bd0393d5d05f64de 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 6c7e556f: hwc: fix dst calculations for right mixer

* commit '6c7e556faaa7ce7b0a99c6110bfacda9369e65bb':
hwc: fix dst calculations for right mixer
2c570778f852c056b14d495f34073acc9c8881a6 21-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 255a8efe: gralloc: Override gralloc calculated size only if bufferSize is greater.

* commit '255a8efe67a8e2f423ca994abb0470812a67e501':
gralloc: Override gralloc calculated size only if bufferSize is greater.
549a875b12a11e40b802761ad224d7a2e09b47bf 21-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am d10d759b: gralloc: Stride information fix

* commit 'd10d759bf645a36b34ef77932083a15eda50cc89':
gralloc: Stride information fix
d503a54df3a9b1dcf51e9c4344a2395b7dd7d3c7 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 44d5282b: qdutils: Retrieve MDP revision and pipes information from driver.

* commit '44d5282b252fa1db88472542c0b9d794fd915d54':
qdutils: Retrieve MDP revision and pipes information from driver.
70fe2b307bd806ce6de2921d59d0be6bc58b1fe6 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 0dab964b: hwc/ov: Fix MDP orientation flags and values.

* commit '0dab964bf13bdd788234fc4eddd8690e6ba1ebeb':
hwc/ov: Fix MDP orientation flags and values.
2eb3c82f45ae44eaf5bae42b71c1518ba0aaed4c 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 36963690: hwc/overlay: Video on 4k2k external, 4k2k rotation.

* commit '36963690317abceae79621f14ba41ff62b3ff489':
hwc/overlay: Video on 4k2k external, 4k2k rotation.
6c7e556faaa7ce7b0a99c6110bfacda9369e65bb 19-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: fix dst calculations for right mixer

The calculations made for the right mixer was not correct,
fixed it for both FBUpdate and video usecases

Change-Id: I803f2548570c81da387468444ac955b873cb1159
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
12f20ea856fb0a72b97c734253af0b7f287f24e3 20-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am ccce8eb9: gralloc: Add FB HAL back, but keep it unused in HWC

* commit 'ccce8eb92266908162dbf92ef1e901204a2b8354':
gralloc: Add FB HAL back, but keep it unused in HWC
255a8efe67a8e2f423ca994abb0470812a67e501 18-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Override gralloc calculated size only if bufferSize is greater.

bufferSize set using native window set buffer size will override gralloc
calculated size only if bufferSize is greater.
Fix for 720P, 1080P HD content playback is not working on 7x27A due to
buffer size mismatch between requested size by frameworks and allocated
size by gralloc for HAL_PIXEL_FORMAT_YCrCb_420_SP and
HAL_PIXEL_FORMAT_YCrCb_420_SP format

Change-Id: I16d04e406ab8f1f35e0e0a70e19d99a019adc5ef
CRs-Fixed: 451783
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
ibgralloc/alloc_controller.cpp
ibgralloc/gpu.cpp
d10d759bf645a36b34ef77932083a15eda50cc89 18-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Stride information fix

The perform enum for the stride is defined in gralloc_priv so it
is OK to keep the case outside.

Change-Id: Id31556f76c2a2ae93a15a2e2dc4169b07360e4e6
ibgralloc/mapper.cpp
44d5282b252fa1db88472542c0b9d794fd915d54 07-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> qdutils: Retrieve MDP revision and pipes information from driver.

Userspace can retrieve MDP revision number and number of different
types of MDP pipes (RGB,VG,DMA) information from driver. Add target
specific flag as previous MDP versions do not provide this support.

- Make use of this information while maintaining PipeBook.
- Move PipeBook related functions from overlay utils to PipeBook.

Change-Id: Ia6cc43dc5da03f83052cbf1d5353cf291b7352a4
Signed-off-by: Sushil Chauhan <sushilc@codeaurora.org>
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
ommon.mk
ibhwcomposer/hwc_utils.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
0dab964bf13bdd788234fc4eddd8690e6ba1ebeb 14-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/ov: Fix MDP orientation flags and values.

--Fix MDP_SOURCE_ROTATED_90 removal.
Since mdp flags are updated fresh each round,
this flag should not be removed if there is no 90.
If pre-rotation is used, this flag is set by hwc and removed here.
(Affects anything having a 90 component in transform)

--Provide MDP adjusted transform to prerotation calcs.
Clients on Android don't switch flips if 90 component is present,
but expect the output to be that way. (camera)
We do it in HAL and then calculate final crop for MDP.
(Affects anything using 90 + Just 1 flip i.e camera)

--Pass 0 transform to MDP even for flips, since we
prerotate if there is 90 with flips or use MDP to flip via flags,
so no need to flip transform calcs.
(Affects anything using just flips).

Change-Id: I8f04c094bffe6687700ee646611f89e39977194b
ibhwcomposer/hwc_utils.cpp
iboverlay/overlayMdp.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
36963690317abceae79621f14ba41ff62b3ff489 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Video on 4k2k external, 4k2k rotation.

-Add support for Video via overlay on 4k2k external panel.
-Add support for rotating videos on 4k2k panels. We use
pre-rotation in hwc to rotate a video into a single buffer,
irrespective of panel size. Then this buffer is fed to MDP.
Rotator objects are managed by the new RotMgr.
-Cleaup mdpcomp and overlay.

Change-Id: I1dd6f22695e737ca16f3480c8b4ebde38e5ac832
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/Android.mk
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
ccce8eb92266908162dbf92ef1e901204a2b8354 20-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Add FB HAL back, but keep it unused in HWC

Some tests still open FB HAL directly, so adding the HAL back.

Change-Id: Ic73c5dac283f6013fd2f5d795a7016258fda67bd
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/Android.mk
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
8839f26f0fe4ee5df026fccebec982f122eb4d33 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am aee73e26: display: Remove genlock usage

* commit 'aee73e2656d1176ee29d20218947fc3a379818b3':
display: Remove genlock usage
bf6ea5636a547eb30a08d0e74276650dc69478f5 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 2bf30b10: gralloc: Clean up ION usage

* commit '2bf30b1072517ed92fb7f20cf5f256a8a0344024':
gralloc: Clean up ION usage
5dcf6af1c8566206ce01b7ac8e325368cafacca6 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 05207f5a: hwc: Check for correct screen state before enabling vsync

* commit '05207f5a7575e59e5f22bb9de46f3b6b6ce2cb8d':
hwc: Check for correct screen state before enabling vsync
ae972b1a34c7f9cd2e5bbe77c6305ec4ed1b572b 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am dbe48d71: overlay: Reset allocation on all pipes, if commit fails.

* commit 'dbe48d71be758dd07d7f64417aef57f30c478a54':
overlay: Reset allocation on all pipes, if commit fails.
94c77abf82ee11c6d31292dac0f6df86973458e2 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 5daa4757: hwc: Process only MAX_NUM_LAYERS

* commit '5daa4757c2dbe76e11930e78bd931fb293559acb':
hwc: Process only MAX_NUM_LAYERS
554f49339b1361d66bfff037152f53fc0029a825 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 3b8977d7: gralloc: Allow IOMMU memory to be uncached

* commit '3b8977d7f226026afb11e4107d60d455eab45069':
gralloc: Allow IOMMU memory to be uncached
26ed220810e51423c3dd4cfaadaa73a1da448e6d 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 474d24af: libexternal: prefix the property name with hw

* commit '474d24afc2f7702a8341a622f8877a2631a9ae28':
libexternal: prefix the property name with hw
fc8808b8ca7cef5d9b8e75ea5f1008f43ad0bdb6 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 869981b7: gralloc: Fix incorrect flag usage on old ion API

* commit '869981b7d5a15826854474702bafa9cb981ace46':
gralloc: Fix incorrect flag usage on old ion API
cbfbbd61f98062992d9662df51de00ef75eb2adf 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am e1f47e78: display: Add hook for triggering screen update

* commit 'e1f47e78496b6b9382d8c71c959ae6365c7a05d2':
display: Add hook for triggering screen update
bae4abc6348c1b587f34c3616995909a11347972 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 93393d36: display: Remove framebuffer HAL

* commit '93393d36207ef501e851c98491befd9e528b6b1a':
display: Remove framebuffer HAL
1d083d9c41f1e6c99e987100d2fef15506748740 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 6195b7af: hwc: Use intermediate buffers for copybit

* commit '6195b7af4c83ba34d713d8e2dd5b075a8896f61e':
hwc: Use intermediate buffers for copybit
fe595b094f4e27db36ddccc943b1f2aa7f96b7b5 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 6371fcef: libhwcomposer: MDP composition for Higher Resolution panels

* commit '6371fcefbcaf155e7402b3a7343d800470631d04':
libhwcomposer: MDP composition for Higher Resolution panels
cef04f19f6965fbd201a94c1ef0ed102e73207a8 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 0859ab4b: hwc: Close acquireFenceFds always.

* commit '0859ab4be38e5874f6990c6d8b41b2576a7375a3':
hwc: Close acquireFenceFds always.
53e266449e94c9853c9a346ecb12361ad6e29b2b 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 53d3c37e: libcopybit: update the target config_mask for transformation

* commit '53d3c37ec20cf662aeae03640d3d409888d2ac28':
libcopybit: update the target config_mask for transformation
f315e958f3540cd794d77cfa9c80200cdb27abac 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am 3a85d3e5: hwc: Allow HWC to support Virtual Display

* commit '3a85d3e5b8f689cb3a3ef7ef1ce50c1e01afae1a':
hwc: Allow HWC to support Virtual Display
1bdcf3372e1793e16e921bf1091241d64abd1c7a 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am f48c5903: overlay: Add support for pipe dumps.

* commit 'f48c59032a351cda58b2057423b2646423acd7c7':
overlay: Add support for pipe dumps.
20fef1cae1cf8d24f78d34402eae2055f5a72654 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 5a5dcc1d: hwc: Get notified on media player death.

* commit '5a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8':
hwc: Get notified on media player death.
ebb2ebf93c2f5c1ca6ce2ba98d71987e4e6f2108 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am 91bb2ef1: display: Do not align down input rotator src height

* commit '91bb2ef1c5afd3332093c9363e27abdfbea8b722':
display: Do not align down input rotator src height
e9da4b1a757be34288293c8fa37a1f997de2c2ff 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 4e2cfc92: overlay: Fix rotator output buffer size.

* commit '4e2cfc92692f8b9c03cb35702fa5ffeda0d29571':
overlay: Fix rotator output buffer size.
9a86afcfa793625a83917af6f08563159322de03 17-Mar-2013 Naomi Luis <nluis@codeaurora.org> am 31d8eebf: libgralloc: Get the stride information from libadreno_utils.so

* commit '31d8eebf849f5ccce6d6f4fa7b349713d4b1d73d':
libgralloc: Get the stride information from libadreno_utils.so
af38b129e123d4a585b3291f88fa3951ac9a25df 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am d09406b9: display: Close 0 fds

* commit 'd09406b9b8f3b6e9d84ba28ed10cb3165d96c875':
display: Close 0 fds
9ae0ccb7172aee90e2002c4744a3558170f9b268 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am d5e3e404: libqservice: Add a client interface.

* commit 'd5e3e404e1344eb2148c8df9f3e35d841ddd4285':
libqservice: Add a client interface.
0435a43370e51c750d021765e9091a8f914ffac6 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 6cb6c2d2: qdutils: Default to GPU composition

* commit '6cb6c2d28041a6d2b87a567961d86e9e8148f571':
qdutils: Default to GPU composition
66312b8c0608295d67063d4bd0495ba0e4d34f19 17-Mar-2013 Naomi Luis <nluis@codeaurora.org> am bb0862a8: libgralloc: Add Perform function to get the stride.

* commit 'bb0862a8db32349e2c1fc14f8287e815dde4d9a7':
libgralloc: Add Perform function to get the stride.
f800d0329f115faa7204061679d664ecc999b8d7 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 6f600d9f: libhwcomposer: Only 4 pipes can be used per display for MDP Comp.

* commit '6f600d9f3bfa744235c27d7122ea957279c61fca':
libhwcomposer: Only 4 pipes can be used per display for MDP Comp.
ce93b1b949c62de94cf030125407884539bbdd74 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am ee038351: hwc: Log if vsync read takes more than 2 expected vsyncs

* commit 'ee038351805af80e68e85eea245efec977bd30a3':
hwc: Log if vsync read takes more than 2 expected vsyncs
b9873204639f80240d4994fa4c1644f4df22302e 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 379167d5: liboverlay: Fix stride alignment issue for s/w decoded video.

* commit '379167d52f574c0ddf0ac47272aec7dfd15929a1':
liboverlay: Fix stride alignment issue for s/w decoded video.
15b2f298e971a509cf1779bce5ac150f6b6dcfb4 17-Mar-2013 Raj kamal <rkamal@codeaurora.org> am e33e6a89: liboverlay: Set mdp src format as rotator output format.

* commit 'e33e6a894950f7d258d79bc48441575e2b0981db':
liboverlay: Set mdp src format as rotator output format.
9e72d4ce31b0b9be1f1f944647e0223c488e263c 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 4ed83de9: hwc: Don\'t use MDP for buffers of width less than 5

* commit '4ed83de9e5eba8193a50dab50155014b7d3c7f04':
hwc: Don't use MDP for buffers of width less than 5
5a602ba02b091f1db17926e64dd1f063736a621a 17-Mar-2013 Duy Truong <dtruong@codeaurora.org> am a43fb8fc: Update copyright to The Linux Foundation

* commit 'a43fb8fce6d9be5577de1e0f49c99bd4fe2f6d44':
Update copyright to The Linux Foundation
f0a56bbfea67db0e45717b44b58179ad9fb91587 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am e79c4132: libhwcomposer: Don\'t count video layers marked for SKIP

* commit 'e79c41329f1cc15bef9cb3a06eda7791e8cd4abe':
libhwcomposer: Don't count video layers marked for SKIP
f69e11f400c057945d7b16fda80d5661ea8b7396 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am e7a2250c: overlay: Remove unnecessary lock.

* commit 'e7a2250ca1ae900381f1af971bfc463d417c92f8':
overlay: Remove unnecessary lock.
cabc18c92aaa79d8c028b900c2fad7cf9f3b569e 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am aec443c5: gralloc: Do not set ION_SECURE for non-contiguous heaps

* commit 'aec443c5aa263e98032bd1d8b65a46e37b26a4e8':
gralloc: Do not set ION_SECURE for non-contiguous heaps
2354512a77f31d34e1a38add2a4c3a360c312ac9 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 0b2c5624: libexternal: change the order of ioctl call for HDMI

* commit '0b2c5624da64ee104dd03eca841e8e5c78e53af6':
libexternal: change the order of ioctl call for HDMI
68c1f789f4d5300d2eb04324fa76793959b5465a 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 677311f0: hwc: Call MSMFB_DISPLAY_COMMIT even if FB handle is null.

* commit '677311f0bc4a8716e86880d29a6b8051e4389da1':
hwc: Call MSMFB_DISPLAY_COMMIT even if FB handle is null.
0eaf9741e5d1d2cc87038c4202ec1ec82577ff15 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 4012258b: display: Add support for overscan compensation for ext display

* commit '4012258b6b344adccf19973602c4d092e2403053':
display: Add support for overscan compensation for ext display
00c91d2ec31d1c52bd4f7d6a172bcb8a6a9464cc 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am da429776: display: Reconcile display HALs

* commit 'da429776b96f9e81aee0b250ab3c0fb9cdcd3254':
display: Reconcile display HALs
f858f5f1aca39cc8ab7e443e9fe67acffab1b797 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 9936ba30: hwc: Pass transform value while cropping dst rect

* commit '9936ba30a17e9b9238f5ec339ecf277390c0408c':
hwc: Pass transform value while cropping dst rect
ae6c2ea5f0d6dbab2438058be0b418d2cbe31ff6 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am 6d948cb4: hwc: Do not set Secure flags for UI layers

* commit '6d948cb412c5dfca8389a1c5515c923480e3573d':
hwc: Do not set Secure flags for UI layers
09eeaa7be5f09e42ed7d410ce77093792d089453 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 43d83978: libhwcomposer: Allow 2 YUV layer frames to use MDP composition

* commit '43d839785a39d93219bad17693c96698ffe10065':
libhwcomposer: Allow 2 YUV layer frames to use MDP composition
73080e6e62d993ebcf46ff1d1ba534c8d86819f1 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am a93aa287: display: Reset metadata pointer to NULL during unmap.

* commit 'a93aa28712df9a9b148adb4311e4f9972c5561c4':
display: Reset metadata pointer to NULL during unmap.
8796b96acc401330aeecc5de4a91a9a463a28035 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am d82ce1da: liboverlay: Rotator-assisted MDP downscaling of videos.

* commit 'd82ce1da8ebdba46e6d0119fac1aa8d4b9b033b7':
liboverlay: Rotator-assisted MDP downscaling of videos.
2070dbb5d4f53dd5ae7a6e0b6ae90ce71555240c 17-Mar-2013 Ken Zhang <kenz@codeaurora.org> am 2310d4e7: external: use metadata ioctl to set vic

* commit '2310d4e7739b173b950a89c604c553e3302349f5':
external: use metadata ioctl to set vic
9471a3beb415a6cddb5618d990e68624352c0db2 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am a6a534a8: hwc: Invoke commit ioctl even if there are no app layers

* commit 'a6a534a85c27f23f74d12da1423c7dfacdc90662':
hwc: Invoke commit ioctl even if there are no app layers
f2995b10f35ea27f76f52dbb3d9ffa68d1631a64 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 08cced40: hwcomposer: In Mdss,secure content policy applies to layer buffer

* commit '08cced40871ca190d231b39b63bd2d8cd85a32a8':
hwcomposer: In Mdss,secure content policy applies to layer buffer
20a88f420ef730e4f91e19d5d05accc16b3285c8 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am e94e0aa7: display: Use GRALLOC_USAGE_PROTECTED to indicate secure content

* commit 'e94e0aa7e7259138ffe895bcd9daaa5bde9eafa5':
display: Use GRALLOC_USAGE_PROTECTED to indicate secure content
408999039ac027136b228c0beb02f7fdda2f938e 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 64be1372: gralloc: Remove update rect

* commit '64be1372253dcff119774872e19dbb61359c3c07':
gralloc: Remove update rect
eebecd15d947ab9cee6c1ed0237502806f348175 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 358d2dd7: libexternal: set hw.hdmiON system property

* commit '358d2dd774971c048057dbf85d594f5aa02af8ee':
libexternal: set hw.hdmiON system property
bc6ac17597be15eb84e8f780e77859c88097791f 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 8cd035e0: overlay: mdssRot: Do not reset non-rotation flags.

* commit '8cd035e00ff77296bb56779e83dcd18dcdb3b47e':
overlay: mdssRot: Do not reset non-rotation flags.
8b209ba935b5bf51bd2c9700b531d35e355740d5 17-Mar-2013 Ken Zhang <kenz@codeaurora.org> am c676b896: display: use metadata ioctl to get panel frame rate

* commit 'c676b896e70228e121f143f1fd778c3c8f2f14f9':
display: use metadata ioctl to get panel frame rate
e4f6a635fe3ee3f0280ea5ffc59536d1a8251eeb 17-Mar-2013 Praveen Chavan <pchava@codeaurora.org> am b4dd279b: libgralloc: force 1M alignment for secure buffers

* commit 'b4dd279bc5044a42a704884be76c5b5f25caf9ca':
libgralloc: force 1M alignment for secure buffers
704dbb3094a185b6ee7819774367cd5a6adde13a 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 6c43ebed: hwc: Add support for copybit(C2D) composition

* commit '6c43ebed229c5d1e00c6d41638cd2f8e3cb979b7':
hwc: Add support for copybit(C2D) composition
c899b586c8744dffc846b8f4fc4cc575426bb5bb 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 647c0289: libcopybit: Add Async mode support for C2D

* commit '647c0289e836c3989fd9be435d5ee38639aa4e07':
libcopybit: Add Async mode support for C2D
29c88eb1d225a3a91bb4f7cac6be61f5de180cb6 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am bf51274e: display: Add NULL check for metadata

* commit 'bf51274e12407be775849e75174d97f2361f8fe0':
display: Add NULL check for metadata
e1eda98beca6776d2619062987025bcdf5a612bc 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 49948b7a: overlay: mdssRot: Fix the logic for setting Rotator info flags.

* commit '49948b7a9f6022b85c6eba3ad118deba4b054445':
overlay: mdssRot: Fix the logic for setting Rotator info flags.
98b902022e8512f705a261cbea47186aef52bbb1 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 9ef7b6a3: libcopybit: Merge copybit HAL from jb

* commit '9ef7b6a37a323bc5fd7a12ad3e5b34af15cc44a5':
libcopybit: Merge copybit HAL from jb
81ca8c0e2bdc128ded9ea570e4e7ee650ed35acf 17-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> am 76203fcf: display: Return MDP pipe availability per display type

* commit '76203fcf0b2006cdfc31570f3b9e55a4c45eb1e9':
display: Return MDP pipe availability per display type
906718647cbe8656f7e7f19b1d596a521ad00f4a 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am e11be526: overlay: mdssRot: Fix stale rotation flag values.

* commit 'e11be5265fdd5bb3c662bb5f0259b87b1c4e01d8':
overlay: mdssRot: Fix stale rotation flag values.
8142b78df5934fe7f45f55fefcff4990ff3c2ff7 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am 0e1c2eac: hwc: commit changes for ext display on blank

* commit '0e1c2eacd284d16c49908c11187ad3703b227caf':
hwc: commit changes for ext display on blank
7fdb633cadce10f43f8d542d764bba68628ffdc3 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am f402f149: libexternal: Add support for changing resolution on HDMI

* commit 'f402f149587c185267504f6eec780eb3fe010a55':
libexternal: Add support for changing resolution on HDMI
0a008aa674c4983ba54d1e678e31fe79e28461e7 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am f3db354f: hwc: Delay HDMI/WFD connection request by one frame

* commit 'f3db354f47d3d6b7f42374ea7b4e3b8e06df8592':
hwc: Delay HDMI/WFD connection request by one frame
f22d5b6a1f2dbeb4866b5ddbcd61d35c74f582bd 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 580dfd3c: liboverlay: Check for target specific flag for older platforms.

* commit '580dfd3c4aa61ffe48dc24dd4168ec8c2eb1cd43':
liboverlay: Check for target specific flag for older platforms.
517803070d0a467dbad20a796eb93883bf53e106 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am bfa005e8: hwc: mdpcomp: Restructure for 4kx2k displays

* commit 'bfa005e8c51529d99b9c360a444d351ebe0885f7':
hwc: mdpcomp: Restructure for 4kx2k displays
1615b6e00e1ecbff968c43aa80674a2a3b5683ab 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am c0945d8a: display: Add display metadata in buffer handle

* commit 'c0945d8a389f71cdf8432947a6911838d1219c4b':
display: Add display metadata in buffer handle
1abe3b8c2adc6ad9cebb6666b8b127bbbadd46da 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am ff49c99a: liboverlay: Mdss Rotator secure buffer needs to be aligned to 1M.

* commit 'ff49c99a3c1906b6b9cc982ff05b8f002acf9b63':
liboverlay: Mdss Rotator secure buffer needs to be aligned to 1M.
74108e9d999cf595b93e25577afc6b2534c7a21c 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am e94097f3: liboverlay: Enable secure content flag in Mdss Rotator.

* commit 'e94097f3908defaa9f83c0565ea218fe939329e1':
liboverlay: Enable secure content flag in Mdss Rotator.
c6394eba1bf5690e90b975e875a9831b2cbe92c6 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 6457316f: hwc: Support 4kx2k FB for Primary and External.

* commit '6457316fc7ae8ea29d763edce3fc1ffc78dd7387':
hwc: Support 4kx2k FB for Primary and External.
e46c7cbf4f8f24b0e2f2945082140ef30692f179 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am b5f9c5be: mdssRotator:For Venus, rotator buffer size depends on rotated w/h

* commit 'b5f9c5becee6a8af81fe1e2ef39bc871ce8516ea':
mdssRotator:For Venus, rotator buffer size depends on rotated w/h
b8a9f89748805f0d63ab3bc4c1f58795e75fe858 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am a3a6f79d: libgralloc: Calculate aligned width & height using common header

* commit 'a3a6f79dcb8a0cdb2e9a703db66e3d8438a32ce4':
libgralloc: Calculate aligned width & height using common header
9924383cfa7ae9765dc3c7b244a31504b05bb377 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am ecb59a81: libgralloc: Import header for Venus buffer size calculation

* commit 'ecb59a81b4a33871c05ed87328f43c9d5fb5a263':
libgralloc: Import header for Venus buffer size calculation
ee87017ce38272108a79631d22b40f9cbb6b6063 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am d28fbcbd: display: Add support for Venus color format for newer platforms

* commit 'd28fbcbdca035d5ca238aeba5628add89172c573':
display: Add support for Venus color format for newer platforms
4ee48bf5fa8849f5b3fed40d27f9522b16435ef5 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am c16e681f: libgralloc: Add support for custom buffer size.

* commit 'c16e681fb93fc9a91e3224dc79607657f5ede036':
libgralloc: Add support for custom buffer size.
642e221f13bf059862d00f35452872f8a29feb57 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 8e1daf6b: hwc: Retry vsync on EBUSY

* commit '8e1daf6b8559f557842a59c398dcad665fc3561a':
hwc: Retry vsync on EBUSY
306482ff9784649372ec9e5026a694b4fa4aaf53 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am e4b5e872: hwc: Handle ext display device conn/disconn requests

* commit 'e4b5e872ddf338fcdb126806b7ab78b0e88496db':
hwc: Handle ext display device conn/disconn requests
1e380e0dacf82e31588532e56c070ffcac9a4f2b 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 50ecfc49: hwc: Support swap interval zero

* commit '50ecfc494bed848dfde487e002863e0fbba5f711':
hwc: Support swap interval zero
3da708f1f3b23f655360773730546b74744dc8ad 17-Mar-2013 Mathew Karimpanal <kjmathew@codeaurora.org> am 7d6a626a: libcopybit: Correct AOSP license marking.

* commit '7d6a626aebfd25b523152d89dc80117aab5a6884':
libcopybit: Correct AOSP license marking.
0b33cc1d8317e39b87fbbbb07f3206f73dc5504d 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 9fc2459f: gralloc: Mark framebuffer as ION memory

* commit '9fc2459f3b05b13835b7128764ba9470fc1a2d3d':
gralloc: Mark framebuffer as ION memory
b37f7047be4de7f5793de273a64e3336e7f65b22 17-Mar-2013 Mathew Karimpanal <kjmathew@codeaurora.org> am ca3f7173: display: Standardize log-tags for qcom display logs.

* commit 'ca3f7173ece307bcb647e0058d9fab5573558364':
display: Standardize log-tags for qcom display logs.
2d397f7b8a4f6b7f763ffc504275d7ed1c072c89 17-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> am 570fa94c: display: Add target specific flag to support Venus color format

* commit '570fa94cc8b7d1bae472a34f0b467c756b6e218a':
display: Add target specific flag to support Venus color format
be228ce69d3673fc63a677243b7bfa30f82f522a 17-Mar-2013 Ken Zhang <kenz@codeaurora.org> am 6e8fd3cb: overlay: Do not unset overlay for MSMFB_NEW_REQUEST

* commit '6e8fd3cb617ecab21cf933878538d0a2f4b2ad54':
overlay: Do not unset overlay for MSMFB_NEW_REQUEST
6663c4747dccd1fbf95c60a5a3c77e7756e2b451 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am 7378bd71: gralloc: set ION_SECURE to flags instead of heap_mask during ion alloc.

* commit '7378bd716c3e4c06e3d9b32788ad5887413a529f':
gralloc: set ION_SECURE to flags instead of heap_mask during ion alloc.
3027444fed28431e35f6fa4e90c4ec0717720d73 17-Mar-2013 Ken Zhang <kenz@codeaurora.org> am 51db032a: hwc: Remove buffer_fence definition as it is not used

* commit '51db032a17871b28dc858de28f5ba59f875a370d':
hwc: Remove buffer_fence definition as it is not used
79f56fa478be07537c2113b2237ed0cf8ea0671f 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am c402f7c3: libgralloc: Change ion_allocation_data fields.

* commit 'c402f7c331fc3cf396d5e2ade7e5b7f23959c9de':
libgralloc: Change ion_allocation_data fields.
4995158b7e6705fee6daf151f8e73dcbd4af024c 17-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> am 62aa1e0f: libgralloc: Use ION_IOC_CUSTOM instead of MSM-specific ioctls

* commit '62aa1e0fdc80b7f64d2415090ef527c3fe7e7b12':
libgralloc: Use ION_IOC_CUSTOM instead of MSM-specific ioctls
e98a195e4619afe7ff6e20e9afdbb40bab9f422e 17-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> am c9ef1b45: hwc: support WFD external display

* commit 'c9ef1b45b51f4b541da4337cd86dc510654c390b':
hwc: support WFD external display
e98d0b24b04134d936a6a919949acabaa6bd4ff2 17-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> am abc785f1: hwc: changes for hdmi hotplug and hpd

* commit 'abc785f17cdec8760e948f5691e435de8760f368':
hwc: changes for hdmi hotplug and hpd
4fe8a6c1ffd76515d251bb6dd8cdb5ed542b20da 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am f72d47e5: display: Use fences for all targets

* commit 'f72d47e5bffefb02a7db3c9354ebd67dc41016ba':
display: Use fences for all targets
82434e3717f355d30924af1e49547791c44ea302 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 3b21dd5b: hwc: Implement dump function

* commit '3b21dd5bc0f86209d9ea134523a494cfe9da601c':
hwc: Implement dump function
d2726f9d71b2099d949903ec74447690c14c45e4 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 065fcae0: overlay: Do not clean up pipes at bootup for MDSS

* commit '065fcae00619905c4baf1bdbb35481f047eba0c6':
overlay: Do not clean up pipes at bootup for MDSS
db4c494e0fa2b98c86f37edd411a95c297971d23 17-Mar-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> am e15a1a9f: Update buffer dimensions with new dimension

* commit 'e15a1a9ff2891695fbea56ecb8339e8dd06a0eef':
Update buffer dimensions with new dimension
885acaf6f02abebfdf9422ba6b302ab9a074996e 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 94a45fda: display: Fix includes

* commit '94a45fdaf8a1b27d9f98a8c062bfe6c8b5643f27':
display: Fix includes
4023d414e799c0771fabfa8080d626a44317d96e 17-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> am 492981ba: overlay: Compile MDSS rotator even when headers not present

* commit '492981ba8237b9eccb074f40384c19af5cc226ec':
overlay: Compile MDSS rotator even when headers not present
aee73e2656d1176ee29d20218947fc3a379818b3 12-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> display: Remove genlock usage

genlock is no-op from Android 4.2 onwards since the sync framework
is used for explicit synchronization.

Change-Id: Idd1df589516534a683e0fa1ef0cfbb7f0e411f67

Conflicts:

libgralloc/framebuffer.cpp
libgralloc/gpu.cpp
ommon.mk
ibgenlock/genlock.cpp
ibgralloc/Android.mk
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
ibhwcomposer/Android.mk
2bf30b1072517ed92fb7f20cf5f256a8a0344024 12-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Clean up ION usage

The updated API is used now across targets

Change-Id: Ifee21b151f6c5c9fbd37cd773effc8d81e040803
ibgralloc/ionalloc.cpp
05207f5a7575e59e5f22bb9de46f3b6b6ce2cb8d 05-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Check for correct screen state before enabling vsync

Sometimes vsync would not be disabled before the display is
blanked.
This was due to the vsync disable ioctl being kicked off in a
thread different from the event control which surfaceflinger
called. So, while the calls from surfaceflinger are in order, the
order of execution wasn't always the same. Hence, making sure
ioctls are called in the same context to ensure order.

Also
- Make blanking/unblanking logs show the operation as a string.
- Add a debug property to dump vsync timestamps (needs framework
reboot)
- Remove a log which showed delay in reading vsync. This log was
unreliable when vsync is disabled and we're still reading from
the sysfs node.

Change-Id: Ibec04e9ffebd0ac6e1d32b7031e3668abd9390ff
CRs-fixed: 443113
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_vsync.cpp
dbe48d71be758dd07d7f64417aef57f30c478a54 01-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Reset allocation on all pipes, if commit fails.

If commit fails on a pipe, overlay hal needs to reset allocation
on all pipes for the given display. As MDP Comp fails, it falls
back to video and PipeBook logic does not pick-up those pipes on
which commit was successful. Driver sets new pipes and un-stages
previously set pipes (with same z-order). Pipe clean-up happens
and then in next round, PipeBook logic picks-up previous pipes
hence userspcae and driver remain out of sync.

Change-Id: I963fbdf89f346184688c5bcac2824606a5f7a0f2
iboverlay/overlay.cpp
5daa4757c2dbe76e11930e78bd931fb293559acb 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Process only MAX_NUM_LAYERS

If the incoming layer count exceeds MAX_NUM_LAYERS,
let surfaceflinger handle the list.

CRs-fixed: 456906
Change-Id: I53159104e5e714ba313d0196ca959f55c82e18ae
ibhwcomposer/hwc.cpp
3b8977d7f226026afb11e4107d60d455eab45069 28-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Allow IOMMU memory to be uncached

The IOMMU heap can give us uncached memory, so remove this
erroneous check.

Change-Id: Ie141c55821221a1c2f75b7cf2248794d93ea6c6a
ibgralloc/alloc_controller.cpp
474d24afc2f7702a8341a622f8877a2631a9ae28 26-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: prefix the property name with hw

System property to be shared with the applications, they need
to have same UID.
Prefix the system property with "hw." so that it can be of system
UID and be accessed by any app.

Change-Id: Ie5db1b7e614728c53e1085089194cd8a58f9ae63
CRs-fixed: 456480
ibexternal/external.cpp
869981b7d5a15826854474702bafa9cb981ace46 06-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fix incorrect flag usage on old ion API

The secure flag gets sent only with the new ION API

Change-Id: Ia649500474b0c8384f4b45d599fcff54644005aa
ibgralloc/ionalloc.cpp
e1f47e78496b6b9382d8c71c959ae6365c7a05d2 28-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> display: Add hook for triggering screen update

DSI command mode panels do not need to be refreshed on each
vsync. Due to one frame latency in CABL LUT calculation, when CABL is
enabled for DSI command mode panels, the LUT doesnt get updated for last
frame. Triggering an extra update for DSI command mode panels fixes it.

Change-Id: I7a22e338609430746dda4d3081ff199109a95035
ibhwcomposer/hwc_qclient.cpp
ibhwcomposer/hwc_qclient.h
ibqservice/IQClient.cpp
ibqservice/IQClient.h
ibqservice/IQService.cpp
ibqservice/IQService.h
ibqservice/QService.cpp
ibqservice/QService.h
93393d36207ef501e851c98491befd9e528b6b1a 21-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> display: Remove framebuffer HAL

This patch removes FB HAL and modifies gralloc and HWC to remove
it's dependency

Change-Id: If98133bdaa759cdc41d4503ff695b225ee43cb6f
ibexternal/external.cpp
ibexternal/external.h
ibgralloc/Android.mk
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayUtils.cpp
6195b7af4c83ba34d713d8e2dd5b075a8896f61e 14-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Use intermediate buffers for copybit

The earlier copybit solution involved blitting directly into
the SurfaceFlinger's framebuffer target. That solution involved
unnecessary framework changes and caused issues when the
framebuffer was being written to both by GL and copybit.
Update hwc_copybit to use our own buffers for this purpose.
We also make sure we display only the region we're interested in
so that unnecessary artifacts from previous blits do not show up
on the display. This way, we can avoid clearing the intermediate
buffers every frame.

Change-Id: I713b3fc606e0768444c621af76853ece41964da1
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
6371fcefbcaf155e7402b3a7343d800470631d04 11-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: MDP composition for Higher Resolution panels

This patch:
-Implements MDP composition for higher resolution
panels of width more than 2k.
-Adds DMA pipe support for high res. MDP composition

Change-Id: Ib7b1f822e3600eca81521294fedfe05e948b65c3
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
iboverlay/overlay.cpp
iboverlay/overlayUtils.h
0859ab4be38e5874f6990c6d8b41b2576a7375a3 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Close acquireFenceFds always.

Close acquireFenceFds always even in case of failures if a layer is either
OVERLAY or FRAMEBUFFER_TARGET to prevent leaks in case of failures.
The framework is *not* responsible for closing acquire fds, for layers
marked as above two.

Change-Id: Ia6c751d3ec25f196f5503120894fc6cc692b9d25
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
53d3c37ec20cf662aeae03640d3d409888d2ac28 26-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: update the target config_mask for transformation

With the new C2D optimization, the layer transformation is
passed through the config_mask. If two layers had same
transform then the transform info was lost, fix that by
updating the config_mask when the layer has transformation info

Change-Id: Idecb5b16a65269fd13eead9a2de27a4756435583
CRs-fixed: 453083
ibcopybit/copybit_c2d.cpp
3a85d3e5b8f689cb3a3ef7ef1ce50c1e01afae1a 17-Jan-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Allow HWC to support Virtual Display

This change allows virtual display to be composed
by HWC for supporting Google WFD App + QCOM WFD stack.

Change-Id: If8892230256e72fa34e3fb5ae715c3ad8cbd5b64
ibexternal/external.cpp
ibexternal/external.h
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.h
f48c59032a351cda58b2057423b2646423acd7c7 13-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add support for pipe dumps.

Add support for pipe state dump useful in dumpsys.
Reduce debug log spam when mdp state changes.

Change-Id: Ie27ad00698085e2ffd6166ad2f7503fe16a571f8
ibhwcomposer/hwc.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
5a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8 20-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Get notified on media player death.

Add support to get notified of media player death.
This is useful in reseting secure sessions initiated by mediaserver.

Change-Id: I215b5b552a0874c86a07426cd7d16ed48f307b5d
ibhwcomposer/Android.mk
ibhwcomposer/hwc_qclient.cpp
ibhwcomposer/hwc_qclient.h
91bb2ef1c5afd3332093c9363e27abdfbea8b722 15-Feb-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Do not align down input rotator src height

Aligning down the input rotator source height value introduces
green line in the output of the rotator. Remove aligning down the
input rotator source height for YV12 format.
For 1/8th downscale use aligndown instead of alignup.

Change-Id: I9152ee873c5ee79877653c78f33eb0cf7e2f9871
CRs-Fixed: 453033
iboverlay/overlayMdpRot.cpp
4e2cfc92692f8b9c03cb35702fa5ffeda0d29571 15-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Fix rotator output buffer size.

Fix rotator output buffer size for mdp and mdss rotators.
Output size is based on rotated width & height.
Output format can be different than source format.
It could be same if using mdss rot or using fastyuv mode in mdp rot.
Deprecate the static mapping of rotator input and output formats.
Driver will be responsible for correctly populating the dest format that its
wishes to use.

Change-Id: I17352d6d460cac24eb97083aed38668929c66807
iboverlay/overlayMdp.cpp
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
31d8eebf849f5ccce6d6f4fa7b349713d4b1d73d 11-Feb-2013 Naomi Luis <nluis@codeaurora.org> libgralloc: Get the stride information from libadreno_utils.so

libadreno_utils.so is an adreno utility library. It computes the
optimal stride required for a surface of a particular width and
bpp. Using this computed stride allows us to efficiently use the
dual memory channels and increase performance.
Currently the utility library only computes the optimal stride
for RGB surfaces.

Change-Id: I0f70bd11602a5144515ab07c3bd2b80a01586a06
ibgralloc/Android.mk
ibgralloc/alloc_controller.cpp
ibgralloc/gr.h
d09406b9b8f3b6e9d84ba28ed10cb3165d96c875 16-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> display: Close 0 fds

0 can be a valid file descriptor, make sure 0 fds are closed

Change-Id: I2bf2280d70eda74fa0b0a886ea54ecefc6854b24
ibexternal/external.cpp
ibhwcomposer/hwc_utils.cpp
d5e3e404e1344eb2148c8df9f3e35d841ddd4285 09-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> libqservice: Add a client interface.

Add a client interface which interfaces with hwc.
qservice upon receiving IPC, provides a callback notification to the qclient
which does appropriate stuff in hwc.

In future, qservice can safely be even made a separate process with no changes
to exisiting code. This was not true earlier owing to the hwc pointer held by
qservice forcing it to be in the same process that hwc is in.

CRs-fixed: 452977
Change-Id: I05838c213f5d4606a6573693de1bacbc5876107e
ibhwcomposer/Android.mk
ibhwcomposer/hwc_qclient.cpp
ibhwcomposer/hwc_qclient.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqservice/Android.mk
ibqservice/IQClient.cpp
ibqservice/IQClient.h
ibqservice/IQService.cpp
ibqservice/IQService.h
ibqservice/QService.cpp
ibqservice/QService.h
6cb6c2d28041a6d2b87a567961d86e9e8148f571 13-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> qdutils: Default to GPU composition

If composition type is not set, default to GPU composition.
This is because CPU composition is not supported from MR1 onwards

Change-Id: I951dcb5586a8dbcfbe73cd7292d0f1690d6528ba
ibqdutils/comptype.h
bb0862a8db32349e2c1fc14f8287e815dde4d9a7 08-Feb-2013 Naomi Luis <nluis@codeaurora.org> libgralloc: Add Perform function to get the stride.

- Introduce a new class to Get the Adreno computed stride information.
This class has been added to allow adreno library computed strides to
be propagated to the allocation function as well as those clients
requesting it.
- Add a new Perform function to get the stride. The width and the format
can be passed from the calling functions (like EGL) to get the stride of
the buffer.

Change-Id: I4c2b4a02deff327f0ea5558c478997527fe9d3cf
ibgralloc/alloc_controller.cpp
ibgralloc/gr.h
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
6f600d9f3bfa744235c27d7122ea957279c61fca 13-Feb-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> libhwcomposer: Only 4 pipes can be used per display for MDP Comp.

Although 6 pipes are available in total but only up to 4 pipes are
available per display (single mixer) for MDP Composition.

CRs-Fixed: 450985

Change-Id: I99df91ab955a1a7110dfbea2aaf790ba26058a78
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ee038351805af80e68e85eea245efec977bd30a3 13-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Log if vsync read takes more than 2 expected vsyncs

Change-Id: Id1daffa9d1d3521f42d121634bf5b00757f3609f
ibhwcomposer/hwc_vsync.cpp
379167d52f574c0ddf0ac47272aec7dfd15929a1 12-Feb-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Fix stride alignment issue for s/w decoded video.

1. Due to alignment requirements on HAL_PIXEL_FORMAT_YV12 format,
rotator buffer size calculation needs to be performed based on
rotated width and height because buffer size can be different when
width & height are swapped due to 90 degree rotation.

2. Input and output color formats are same for MDSS Rotator.

Change-Id: I0a06ef9bb7bdceb951e7ab5160dac3e92a28bcda
CRs-Fixed: 451871
iboverlay/overlayMdssRot.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
e33e6a894950f7d258d79bc48441575e2b0981db 16-Nov-2012 Raj kamal <rkamal@codeaurora.org> liboverlay: Set mdp src format as rotator output format.

* Set mdp source format as rotator output format
rather than determine it from a fixed mapping of
input/output formats.

* This is needed since for the same input format
to rotator, fastyuv mode if enabled may result in
a different output format than the one if the mode
is not enabled.

* Do the inline optimization for rotator where possible

CRs-fixed: 451064
Change-Id: If0bb2f3a44df10968383ab3f5c3625257518934d
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
iboverlay/pipes/overlayGenPipe.cpp
4ed83de9e5eba8193a50dab50155014b7d3c7f04 08-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Don't use MDP for buffers of width less than 5

This is a software workaround for MDP hardware limitation where
DSI mode panels wont give more than 30 FPS if buffers in RGB
pipes are of width less than 5

MDP can't handle layers of width less than 3. Fail MDP
Composition for those frames.

Change-Id: If45efab19817ea9e724fd2857fcc1c5d98ce0eab
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
a43fb8fce6d9be5577de1e0f49c99bd4fe2f6d44 10-Feb-2013 Duy Truong <dtruong@codeaurora.org> Update copyright to The Linux Foundation

Change-Id: I145b66896159ff9886ed73507f17b3165ba0266d
ibcopybit/copybit_priv.h
ibcopybit/software_converter.cpp
ibcopybit/software_converter.h
ibgenlock/genlock.cpp
ibgenlock/genlock.h
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gr.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ionalloc.cpp
ibgralloc/ionalloc.h
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_video.h
ibhwcomposer/hwc_vsync.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMem.h
iboverlay/overlayUtils.h
iboverlay/pipes/overlay3DPipe.h
ibqdutils/idle_invalidator.cpp
ibqdutils/idle_invalidator.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
ibqdutils/profiler.cpp
ibqdutils/profiler.h
ibqservice/QService.cpp
ibqservice/QService.h
ibtilerenderer/tilerenderer.cpp
ibtilerenderer/tilerenderer.h
e79c41329f1cc15bef9cb3a06eda7791e8cd4abe 04-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Don't count video layers marked for SKIP

When YUV layers are marked for SKIP, it needs to be composed by
SurfaceFlinger. No need for tracking them in HWC

Change-Id: I4c8ca9710b709b9df9dcb6867681387b7507e14c
ibhwcomposer/hwc_utils.cpp
e7a2250ca1ae900381f1af971bfc463d417c92f8 08-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Remove unnecessary lock.

Remove the unnecessary lock used in setter and getter of external.

Change-Id: If752c212e4c28a81db5c6957d0e751444e23ff93
iboverlay/overlay.h
aec443c5aa263e98032bd1d8b65a46e37b26a4e8 07-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Do not set ION_SECURE for non-contiguous heaps

The GRALLOC_USAGE_PROTECTED flag is being used for non TZ DRM
if non contiguous heaps such as IOMMU are used. Hence do not
set the ION_SECURE flag for such heaps as they cannot be secured
through trustzone.

Change-Id: I48e9460ef66abb827c9df1b3c55037e8e4214f81
ibgralloc/alloc_controller.cpp
0b2c5624da64ee104dd03eca841e8e5c78e53af6 07-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: change the order of ioctl call for HDMI

In driver PUTVSCREEN_INFO ioctl uses the META_DATA to configure, so
change the order in which the iocts are called during setResolution

Change-Id: I79e1bcf191756b3567b3e73a8eccd50ecb8857a7
CRs-fixed: 449567
ibexternal/external.cpp
677311f0bc4a8716e86880d29a6b8051e4389da1 06-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Call MSMFB_DISPLAY_COMMIT even if FB handle is null.

Call MSMFB_DISPLAY_COMMIT for primary FB even if FB handle is null.
This is already done for external FB.

Change-Id: I5c405f933ce0fd99df6813acea45169802c54226
ibgralloc/framebuffer.cpp
ibhwcomposer/hwc.cpp
4012258b6b344adccf19973602c4d092e2403053 01-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: Add support for overscan compensation for ext display

- Read scan_info sys file node to check if TV underscans
- Apply action safe parameters to avoid overscan on ext display
- Store action safe width and height ratio using system property
- Use these to calculate the destination position on the ext display
- Remove unsed ActionSafe Class

Change-Id: Id27e6fa20966fb13fc16aa7e237cacce8caeb642
CRs-fixed: 447367
ibexternal/external.cpp
ibexternal/external.h
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
iboverlay/overlayCtrl.cpp
iboverlay/overlayUtils.h
da429776b96f9e81aee0b250ab3c0fb9cdcd3254 09-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> display: Reconcile display HALs

Make the display HALs compile with/without the Qualcomm BSP
specific features so they can work with pure AOSP.
Change-Id: I1ad7282c4fe1fe7e3309afb530a07735f165ffbe

Conflicts:

Android.mk
ndroid.mk
ommon.mk
ibexternal/external.cpp
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ionalloc.cpp
ibgralloc/mapper.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_mdpcomp.cpp
9936ba30a17e9b9238f5ec339ecf277390c0408c 30-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Pass transform value while cropping dst rect

While croping destination rect values for out of bound layers
consider its transform value.

Change-Id: I1f6bf25ac8ca8a27a3402c2d946edfaf57ab23d0
ibhwcomposer/hwc_mdpcomp.cpp
6d948cb412c5dfca8389a1c5515c923480e3573d 31-Jan-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Do not set Secure flags for UI layers

Change-Id: I5116bcd93ac2a3ab034408e64aa0cd126f734692
ibhwcomposer/hwc_fbupdate.cpp
43d839785a39d93219bad17693c96698ffe10065 22-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Allow 2 YUV layer frames to use MDP composition

This change introduces the following changes:
- Frames having 2 yuv layer can be bypassed
- if not handled by MDP comp, video path will not
handle any such frames and will be FB rendered

Change-Id: Id211dbc185608c482badbca00a2708fa6138a8e5
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
a93aa28712df9a9b148adb4311e4f9972c5561c4 29-Jan-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Reset metadata pointer to NULL during unmap.

Initialize metadata pointer in the buffer handle to NULL after
unmapping the buffer pointer

Change-Id: I930a2d21a6f259426949d7aa58bd07f1f58839c0
CRs-Fixed: 434388
ibgralloc/mapper.cpp
d82ce1da8ebdba46e6d0119fac1aa8d4b9b033b7 15-Jan-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> liboverlay: Rotator-assisted MDP downscaling of videos.

Engage the rotator to assist MDP in performing video downscale for
primary and external. This saves bandwidth and avoids causing the
driver to make too many panel mode switches between BLT (writeback)
and non-BLT (direct) modes.

Change-Id: Icfabc2c0f978a23cf96c78a9976cf69cea697b5f
CRs-Fixed: 434852
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_video.cpp
iboverlay/mdpWrapper.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
2310d4e7739b173b950a89c604c553e3302349f5 16-Jan-2013 Ken Zhang <kenz@codeaurora.org> external: use metadata ioctl to set vic

Get rid of reserved field usage

Change-Id: Icad81d4065f559066a2722fa3227bddab75d665b
ibexternal/external.cpp
a6a534a85c27f23f74d12da1423c7dfacdc90662 11-Jan-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Invoke commit ioctl even if there are no app layers

Android has scenarios where it calls HWC::prepare and HWC::set
without any application layers. In such cases, for power
optimization, user space avoids calling PLAY
(on FB - since there is no new content drawn) and COMMIT ioctls.
But we might have called UNSET on mdp pipes used for the previous
frame. As per the current MDP design, these freed pipes will not
be unstaged unless atleast a COMMIT ioctl is called on that mixer.

Change-Id: I7f7574b2e589e80c4926533066e35784bb29b4a5
CRs-Fixed: 437736
ibhwcomposer/hwc.cpp
08cced40871ca190d231b39b63bd2d8cd85a32a8 09-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwcomposer: In Mdss,secure content policy applies to layer buffer

In Mdss, mSecureMode is never set, instead the secure content flag
has been set/unset on each layer buffer.

Change-Id: I3283533c11206e189ce70dbc84776b2cff3a909d
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
e94e0aa7e7259138ffe895bcd9daaa5bde9eafa5 09-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> display: Use GRALLOC_USAGE_PROTECTED to indicate secure content

For secure content, use GRALLOC_USAGE_PROTECTED flag instead of
the obsolete flag GRALLOC_USAGE_PRIVATE_CP_BUFFER.

Change-Id: I69bf8cfd3a978fd472608beb44056e1bf55c1414
ibgralloc/alloc_controller.cpp
ibgralloc/gpu.cpp
iboverlay/overlayMem.h
64be1372253dcff119774872e19dbb61359c3c07 15-Jan-2013 Naseer Ahmed <naseer@codeaurora.org> gralloc: Remove update rect

SurfaceFlinger does not use this feature any more.
Removing this to avoid usage of reserved flags.
If this is needed again, it can be added with metadata
in the display commit ioctl

Change-Id: Iaf3f14a910ad64c83abb0910fad4a999b663c545
ibgralloc/framebuffer.cpp
358d2dd774971c048057dbf85d594f5aa02af8ee 15-Jan-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: set hw.hdmiON system property

- hw.hdmiON property is set to 1 when cable is connected
and 0 otherwise
- This property can be queried by other modules to know
if HDMI is connected

Change-Id: Id513711a676e6cb4eb9a99b3b208b05f6e021047
ibexternal/external.cpp
8cd035e00ff77296bb56779e83dcd18dcdb3b47e 15-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: mdssRot: Do not reset non-rotation flags.

Reset only rotation flags to fix stale orientation flag values.
Resetting non-rotation flag breaks secure-playback using rotator.

CRs-Fixed: 440417

Change-Id: Ia35c6258cfd26358b3dfe5cb006e9245d51e3dfc
iboverlay/overlayMdssRot.cpp
c676b896e70228e121f143f1fd778c3c8f2f14f9 08-Jan-2013 Ken Zhang <kenz@codeaurora.org> display: use metadata ioctl to get panel frame rate

Get rid of using reserved fields

Change-Id: Ia3ada294427812e8382f744964f475403f6fb73a
ibgralloc/framebuffer.cpp
b4dd279bc5044a42a704884be76c5b5f25caf9ca 29-Nov-2012 Praveen Chavan <pchava@codeaurora.org> libgralloc: force 1M alignment for secure buffers

Align secure buffers to 1M alignment as TZ expects this for
protecting the buffers, MDP5 onwards.
Update the buffer-size to the same alignment used.

Change-Id: I369932a4a72b28c05a3ea216a8bba681de1f9dad
ibgralloc/gpu.cpp
6c43ebed229c5d1e00c6d41638cd2f8e3cb979b7 28-Nov-2012 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Add support for copybit(C2D) composition

- Add CopybitEngine to hwc_context
- draw the layer on the HWC_FRAMEBUFFER_TARGET using
copybit(c2d) if it qualifies for C2D composition.
- use fence returned from the copybit during c2d
composition

Change-Id: I052da015cd031f7abd6411d83d7944c335caeff7
ibgralloc/Android.mk
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqdutils/Android.mk
ibqdutils/comptype.cpp
ibqdutils/comptype.h
647c0289e836c3989fd9be435d5ee38639aa4e07 18-Dec-2012 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: Add Async mode support for C2D

- flush_get_fence API to copybit.h - which is async,
which returns the fenceFD
- flush_get_fence calls C2dflush and c2dCreateFenceFD
signals the c2d_wait_thread which waits for
transcation to finish and cleanup resources

Change-Id: I98d5e08ea1cbce9732970c68c1e47b6f396249ce
ibcopybit/c2d2.h
ibcopybit/copybit.h
ibcopybit/copybit_c2d.cpp
bf51274e12407be775849e75174d97f2361f8fe0 10-Jan-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Add NULL check for metadata

Add NULL pointer check for metatdata buffer before accessing its
member variable

Change-Id: I91de520b76d3c9714f357cff2de696e701811d06
CRs-Fixed: 434388
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_video.cpp
49948b7a9f6022b85c6eba3ad118deba4b054445 08-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: mdssRot: Fix the logic for setting Rotator info flags.

Set the required flags instead of considering SECURE flag only.

CRs-Fixed: 423045

Change-Id: I82699d23de97c5276cac8f3b614b5d0463d7b06a
iboverlay/overlayMdssRot.cpp
9ef7b6a37a323bc5fd7a12ad3e5b34af15cc44a5 28-Nov-2012 Arun Kumar K.R <akumarkr@codeaurora.org> libcopybit: Merge copybit HAL from jb

Single commit having all the following commits

commit f39e512ad6f51cf35ab00995e52a39f31e76e77f
Author: Naomi Luis <nluis@codeaurora.org>
Date: Fri Oct 19 14:41:32 2012 -0700

copybit_c2d: Use a single draw call for surfaces with different rotations

- When opening the copybit module, query the c2d driver capabilities.
- If supported, use a single draw call for blitting surfaces with different
orientations using the target target rotate override flag.
- If not supported, invoke finish_copybit to draw the layers with the
previous orientation before applying the current orientation.

Change-Id: I0446f2817786321c9caa2eabf7b6679e5ecbcabe

commit a4008ff75150c1591c0dca46354e6bb8b30a675b
Author: Naomi Luis <nluis@codeaurora.org>
Date: Thu Oct 18 15:26:15 2012 -0700

Display: Add copybit_c2d performance optimizations

Following performance optimizations have been made to copybit_c2d
- Club all the layers into a single draw call. When finish_copybit
is invoked, the draw and finish are executed.
- Send the layer blend mode to copybit.
- If the blend is set to none, set the pre-multiplied alpha flag.
SurfaceFlinger assumes all surfaces have pre-multiplied alpha unless
explicitly specified. Copybit_c2d does the same.

The following cases are currently exempt from this optimization:
- Change in C2D target
- The template surfaces limit has been reached
- Max. blit object limit has been reached.
- Change in target transform.
- Use of any temporary source/destination surfaces.

Change-Id: I5ad1dc48bbe6d38d319116ccaa800fefb4fbf9f6

commit b188d739f69272c4820e1a33c5e10aa2f2825a5f
Author: Naomi Luis <nluis@codeaurora.org>
Date: Mon Oct 15 11:17:11 2012 -0700

copybit: Add finish API

Add the finish API to copybit. This API is used to indicate the
end of the drawing required by the copybit client.

Change-Id: Ica4d13dbe6e7aeb7f88aabb734bf03e86c043acc

commit ecd56ace395fce78c14e2e753d3221218d062899
Author: Naomi Luis <nluis@codeaurora.org>
Date: Mon Oct 15 11:21:08 2012 -0700

copybit: Clean up copybit_c2d

- Remove unused functions
- Do nothing for the COPYBIT_BLIT_TO_FRAMEBUFFER case when using c2d
composition.

Change-Id: Idc416ce3742bb41f060e52ac70add44e584032b9

commit 35d45d0cff5f6fe866fcb5df71444824a45e046e
Author: Naomi Luis <nluis@codeaurora.org>
Date: Wed Oct 17 10:37:33 2012 -0700

copybit: Use correct alignment in get_size()

get_size() is used to get the size required by c2d. It's alignment
should be 32 and not 16.

Change-Id: I9fedca0186d0ea19883b967e127417b059621a99

commit 31311da328cbe2229fcf8d8d8e276ec64005bcb3
Author: Ramakant Singh <ramaka@codeaurora.org>
Date: Thu Sep 20 15:58:29 2012 +0530

HWC: use uncached buffer for tmp yv12 and tmp stretch buffer.

Change-Id: Iecc2a9c3c9a365d00d3491ce1007a36484209346
CRs-fixed: 396574

commit 5503c90b5001aa4d863139eebcd9c0c43f265702
Author: Pawan Kumar <pavaku@codeaurora.org>
Date: Mon Sep 3 09:14:13 2012 +0530

copybit: Fix crash when copy_image is called with Tile format

Add check for copy_image failure case.
CRs-Fixed: 393122

Change-Id: I5765120e87a135795d771c5d331275a66ade7e23

commit 48975bc53702ecba66ecaa5e5769036bb91f5cf2
Merge: feb1cd6 ab25cb4
Author: Linux Build Service Account <lnxbuild@localhost>
Date: Sat Sep 1 13:36:47 2012 -0700

Merge "Display ::Use proper ion heap id" into jb

commit ab25cb4818d9b87886678972f2861bacc93c580a
Author: Ramakant Singh <ramaka@codeaurora.org>
Date: Thu Aug 9 14:23:39 2012 +0530

Display ::Use proper ion heap id

Change the MM heap to CAMERA heap for 7627a in use case
1.Intermediate stretch of low resolution clips
2.Software conversion of Y12 format

Change-Id: Ib705d3245f601256179e2dedccbc707df85eb431
CRs-Fixed: 383115

commit 90bcaadf41451d89fe80f96961ffc0a07a333145
Author: Prabhanjan Kandula <pkandula@codeaurora.org>
Date: Mon Aug 6 12:50:12 2012 +0530

libcopybit: fix YUV buffer alignments as per gralloc

buffer alignment in copybit should be in sync with
gralloc allignments while allocating buffer.

CRs-fixed: 377051
Change-Id: Ib2ae64e368ea3c92d3494c71da605197ccb4a9a5

Conflicts:

libcopybit/copybit_c2d.cpp

commit 95cf0038ea6eb02314024d673418464f0739ddb4
Author: Sravan Kumar D.V.N <sravank1@codeaurora.org>
Date: Thu Aug 2 14:37:37 2012 +0530

copybit : Add support for NV12_ENCODABLE format

Change-Id: I7087dcad2238a3c35cc15c28d75b76a9e3ca6718

Change-Id: I748bffb4215d27f609beec209af0a5047858a314
ibcopybit/c2d2.h
ibcopybit/copybit.cpp
ibcopybit/copybit.h
ibcopybit/copybit_c2d.cpp
76203fcf0b2006cdfc31570f3b9e55a4c45eb1e9 03-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> display: Return MDP pipe availability per display type

Pipes allocated for one display type cannot be used by other
display types without calling UNSET on them. So clients should
check for pipe availablity only for a specific display type.

Change-Id: Id2244e4976b4cc1f040ada7e56686742d5a65141

CRs-Fixed: 433870
ibhwcomposer/hwc_mdpcomp.cpp
iboverlay/overlay.h
e11be5265fdd5bb3c662bb5f0259b87b1c4e01d8 18-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> overlay: mdssRot: Fix stale rotation flag values.

When moving from a non-zero to 0 orientation rot flags are not cleared.
This change resets the flag to 0 after every commit.

Change-Id: I2fb9759921c36620c53bf2ac92d9473a42919d8c
iboverlay/overlayMdssRot.cpp
0e1c2eacd284d16c49908c11187ad3703b227caf 04-Jan-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: commit changes for ext display on blank

- When the device is suspended, the overlay pipes will be unset,
but they wont be unstaged as there is no DISPLAY_COMMIT ioctl
called for ext display, as a result the fence wont be signalled
by the MDP.
- This is needed as we dont turn off the External display(HDMI)

Change-Id: I9794ad2ae7c9d7b4ce3f9787f50ea9da87966e41
CRs-fixed: 425483
ibhwcomposer/hwc.cpp
f402f149587c185267504f6eec780eb3fe010a55 10-Dec-2012 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: Add support for changing resolution on HDMI

- set the property hdmi.resolution with the required mode
(16,4,3,32,34,1)
- If that resolution is not supported by the TV, it will fall
back to the best mode supported by the TV

Change-Id: I90ceda02319e79e388035ba7b5926bdcf6625595
CRs-fixed: 430055
ibexternal/external.cpp
ibexternal/external.h
f3db354f47d3d6b7f42374ea7b4e3b8e06df8592 28-Dec-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Delay HDMI/WFD connection request by one frame

This change introduces hdmi pending state, where we allow
frames to fall back to FB, closing all MDP pipes.

Pipes could be used by primary (mixer 0) in which case moving
them to external (mixer 1) involves unsetting them and setting
them in the same round which is not recommended by the driver.
It will fall back to GPU till HDMI is configured on a connect
event.

CRs-Fixed: 430057

Change-Id: I4b6677883c499f6d15656c3578190be1115ee6b4
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
580dfd3c4aa61ffe48dc24dd4168ec8c2eb1cd43 28-Dec-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Check for target specific flag for older platforms.

Venus color format is not supported on older platforms so add
check for target specific flag.

Change-Id: Id215f3a609ed4ebfff7b26bbbd05b727dc374694
iboverlay/overlayUtils.h
bfa005e8c51529d99b9c360a444d351ebe0885f7 20-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: mdpcomp: Restructure for 4kx2k displays

Restructure MDPComp class for 4kx2k displays.
Cleanup MDPComp class to remove unused stuff and formatting.
Add a MDPCompLowRes class for current functionality.
Add a hollow MDPCompHighRes class for future.

Change-Id: I343540e712d31ca907257a73b49567578f49d5f7

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
c0945d8a389f71cdf8432947a6911838d1219c4b 07-Nov-2012 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Add display metadata in buffer handle

Allocate extra space for metadata in buffer handles
Provide api to map this space in client process and set the metadata

Change-Id: I8bca8448670d4aa88d439320faf402dae30458f8
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_video.cpp
ibqdutils/Android.mk
ibqdutils/qdMetaData.cpp
ibqdutils/qdMetaData.h
ff49c99a3c1906b6b9cc982ff05b8f002acf9b63 20-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Mdss Rotator secure buffer needs to be aligned to 1M.

It is TZ requirement, xpu needs the buffer size to be 1MB aligned
for protection.

Change-Id: Icd9047a54d5706c321445e7970fb0f455d0c130b
iboverlay/overlayMdssRot.cpp
e94097f3908defaa9f83c0565ea218fe939329e1 24-Oct-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Enable secure content flag in Mdss Rotator.

- Secured contents shared with hardware should be uncached.
- Secure heap needs to be contiguously allocated & aligned to 1MB,
which is not supported by IOMMU heap.

Change-Id: I6c7c00d5363319f9a6db6e52c1e78e1b16ecd9aa
iboverlay/overlayMdssRot.cpp
iboverlay/overlayMem.h
6457316fc7ae8ea29d763edce3fc1ffc78dd7387 13-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Support 4kx2k FB for Primary and External.

Add support for 4kx2k FB for primary and external panels.
Change class design to create appropriate version of FBUpdate on boot up based
on the panel resolution.

Change-Id: I216d815d9b81c610aa39e351f7b55736dfa48b43
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayUtils.h
b5f9c5becee6a8af81fe1e2ef39bc871ce8516ea 06-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> mdssRotator:For Venus, rotator buffer size depends on rotated w/h

Due to alignment requirements on venus format, rotator buffer size
calculation needs to be performed according to destination buffer
dimensions. Due to these alignments, the buffer can be different
when width and height are swapped due to 90 degree rotation.

Change-Id: I8eb0f1ece22946e6c3b2106623c3457e6871fd9c
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.h
a3a6f79dcb8a0cdb2e9a703db66e3d8438a32ce4 15-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> libgralloc: Calculate aligned width & height using common header

For Venus, calculate aligned width & height using common header.

Change-Id: I622fee19693cfc550796d5949185c146c6a7f173
ibgralloc/alloc_controller.cpp
ecb59a81b4a33871c05ed87328f43c9d5fb5a263 02-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> libgralloc: Import header for Venus buffer size calculation

Import the common header file with Venus alignment requirements
to calculate venus buffer size.

Change-Id: I86cba91de8f7a3845a4592243b4f21e7cda03315
ibgralloc/alloc_controller.cpp
d28fbcbdca035d5ca238aeba5628add89172c573 23-Aug-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> display: Add support for Venus color format for newer platforms

Change-Id: I4c9a327bd30d1321e1f8383ffc1ca978efc8e9b9

Conflicts:

liboverlay/overlayUtils.h
libqdutils/gpuformats.h
libqdutils/qcom_ui.cpp
ibgralloc/alloc_controller.cpp
ibgralloc/gralloc_priv.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
c16e681fb93fc9a91e3224dc79607657f5ede036 11-Dec-2012 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> libgralloc: Add support for custom buffer size.

Init allocSize hook function with alloc_size function

Change-Id: I514d47928f10b6c41404aa19d8b704f64327211b
ibgralloc/gpu.cpp
8e1daf6b8559f557842a59c398dcad665fc3561a 19-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Retry vsync on EBUSY

The driver returns EBUSY if it is unable to complete the frame
within a timeout - this is a recoverable error

Change-Id: Ifde01c1d7515598a82d032c0ba869fa658b050a9
ibhwcomposer/hwc_vsync.cpp
e4b5e872ddf338fcdb126806b7ab78b0e88496db 18-Dec-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Handle ext display device conn/disconn requests

On HDMI connection, two uevents are generated
1."change@/devices/virtual/switch/hdmi"
2."change@/devices/virtual/switch/hdmi_audio"
Since we look for "change@/devices/virtual/switch/hdmi",
Display HAL will process the hotplug request twice.
This causes regression on HDCP enabled devices.

Change involves to check for uevent str with
"change@/devices/virtual/switch/hdmi" to ensures
that we process connection request only once.

Change-Id: Ica97fd4ef3c8e1064e7d757ab754bb1ee4a3fcaa
CRs-Fixed: 429803
ibhwcomposer/hwc_uevents.cpp
50ecfc494bed848dfde487e002863e0fbba5f711 18-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Support swap interval zero

Set debug.egl.swapinterval to zero to disable
fences with MDP composition enabling swap interval zero.
This is to measure performance only and will cause tearing.
CRs-fixed: 429343
Change-Id: I1460a02d568e69826800486a9a695d7a8953d4f8
ibhwcomposer/hwc_utils.cpp
7d6a626aebfd25b523152d89dc80117aab5a6884 18-Dec-2012 Mathew Karimpanal <kjmathew@codeaurora.org> libcopybit: Correct AOSP license marking.

Change-Id: I6beffe8a33605132468a76f4ef4221266b954ea5
ibcopybit/Android.mk
9fc2459f3b05b13835b7128764ba9470fc1a2d3d 13-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> gralloc: Mark framebuffer as ION memory

Change-Id: I859d4d03b62279b7e66ba52e3215fe7394a63434
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ca3f7173ece307bcb647e0058d9fab5573558364 13-Nov-2012 Mathew Karimpanal <kjmathew@codeaurora.org> display: Standardize log-tags for qcom display logs.

Change-Id: I75bc2d8db8d64994097d6b744f357c29c9a5717a
ibcopybit/Android.mk
ibcopybit/copybit.cpp
ibcopybit/copybit_c2d.cpp
ibcopybit/software_converter.cpp
ibexternal/Android.mk
ibgenlock/Android.mk
ibgralloc/Android.mk
ibhwcomposer/Android.mk
iblight/Android.mk
iblight/lights.c
iboverlay/Android.mk
iboverlay/overlayMdp.cpp
ibqdutils/Android.mk
ibqdutils/profiler.cpp
ibqservice/Android.mk
ibtilerenderer/Android.mk
570fa94cc8b7d1bae472a34f0b467c756b6e218a 12-Dec-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> display: Add target specific flag to support Venus color format

Venus color format is not supported on older platforms. Add target
specific flag in display hal and define Venus macros to zero for
older platforms.

Change-Id: I38141ae870e255a0e54ce9fde46fe6cc3415f179
ommon.mk
ibgralloc/alloc_controller.cpp
iboverlay/overlayMdssRot.cpp
6e8fd3cb617ecab21cf933878538d0a2f4b2ad54 12-Dec-2012 Ken Zhang <kenz@codeaurora.org> overlay: Do not unset overlay for MSMFB_NEW_REQUEST

Change-Id: I40c21964db91e098f6f445e7860fefd09dcad768
iboverlay/overlayMdssRot.cpp
7378bd716c3e4c06e3d9b32788ad5887413a529f 09-Oct-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> gralloc: set ION_SECURE to flags instead of heap_mask during
ion alloc.

This is required for Secure Playback usecase.

Change-Id: I590bf126a35465286a9487490a114af82732e262
ibgralloc/ionalloc.cpp
51db032a17871b28dc858de28f5ba59f875a370d 03-Dec-2012 Ken Zhang <kenz@codeaurora.org> hwc: Remove buffer_fence definition as it is not used

Change-Id: If5f4beceda0229c9f48b6b1ee74e23a95f14863a
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
c402f7c331fc3cf396d5e2ade7e5b7f23959c9de 14-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> libgralloc: Change ion_allocation_data fields.

Change ioc_allocation_data structure fields as per changes in kernel.
The 'heap_mask' feild will hold what the older flags field held.
The 'flags' field will hold the caching information.

Change-Id: Id3b2e8a4d1ba370e0f982860fdb32b56227e2e43
ibgralloc/ionalloc.cpp
62aa1e0fdc80b7f64d2415090ef527c3fe7e7b12 11-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> libgralloc: Use ION_IOC_CUSTOM instead of MSM-specific ioctls

Use ION_IOC_CUSTOM instead of ION_IOC_CLEAN_INV_CACHES.
ION_IOC_CLEAN_INV_CACHES is now specified as a command argument of the
ION_IOC_CUSTOM ioctl.

Change-Id: I5b59ba1032364dfb884a90abf2ee2b35f3c09dd6
ibgralloc/ionalloc.cpp
c9ef1b45b51f4b541da4337cd86dc510654c390b 03-Dec-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: support WFD external display

Change-Id: I3d24ff1757e79c4b41ff6c6db17d0274cd665671
(cherry picked from commit f8942672226a7af26218aa8d325c1677ae2b83dd)
ibexternal/external.cpp
ibexternal/external.h
ibhwcomposer/hwc_uevents.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/pipes/overlayGenPipe.cpp
abc785f17cdec8760e948f5691e435de8760f368 27-Nov-2012 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: changes for hdmi hotplug and hpd

This commit has the following changes:
1. Use hdmi switch node for hdmi hotplug
- uses /devices/virtual/switch/hdmi switch_state to determine
the hdmi connect/disconnect
- this switch will be set to 1 on connect and 0 on disconnect
- on connect, open framebuffer device, will trigger the hdcp
authentication.
- the driver will set the hdmi_audio switch to indicate that
the HDMI sink supports audio
2. Enable HDP on unblank
- this will resolve the device freeze during the bootup with hdmi
connected

Change-Id: Id7a656d548a31178e31dcb9aea8acf38a56c9e0c
(cherry picked from commit 953b04b3cbba2f91d25795e5b0560c13d47844b0)
ibexternal/external.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
f72d47e5bffefb02a7db3c9354ebd67dc41016ba 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> display: Use fences for all targets

Change-Id: I89a8b661dba7919707ba26ff35fb294b22aaba67
ommon.mk
ibgenlock/Android.mk
ibhwcomposer/hwc_utils.cpp
3b21dd5bc0f86209d9ea134523a494cfe9da601c 26-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Implement dump function

Does a basic implementation of the dump function
called by SurfaceFlinger in dumpsys.
Further logs in different areas can be added later on
using the dumpsys_log utility.

Change-Id: I2194b4ed7f10947272b7b824ef802ce2ee3c8a48
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
065fcae00619905c4baf1bdbb35481f047eba0c6 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> overlay: Do not clean up pipes at bootup for MDSS

The MDSS driver takes care of this cleanup itself.
Also - MDSS driver does not export the mixer info ioctl

Change-Id: I3b736dfaaf355d71fe999b89027aced75ca1e248
iboverlay/overlayUtils.cpp
e15a1a9ff2891695fbea56ecb8339e8dd06a0eef 08-Nov-2012 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> Update buffer dimensions with new dimension

Add case GRALLOC_MODULE_PERFORM_UPDATE_BUFFER_GEOMETRY in
gralloc_perform function to update the new buffer dimensions.

Change-Id: I7a855dc017dd042dda2abdc28c51ce5ec919fceb
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
94a45fdaf8a1b27d9f98a8c062bfe6c8b5643f27 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> display: Fix includes

Need to include from kernel headers and
build for Qualcomm targets

Change-Id: Ie77ba8c7dd129a9dc24e2f69b0ef768ea0580c3d
ibgralloc/Android.mk
492981ba8237b9eccb074f40384c19af5cc226ec 19-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> overlay: Compile MDSS rotator even when headers not present

Change-Id: Ifc74531b6d73ab5d752441d1a0e7d3b0d0d658e0
(cherry picked from commit e76f183710272f02149e003357107c85bc74914b)
iboverlay/overlayMdssRot.cpp
7c3834e0ab63407424c998a0f812d831a9ff80ec 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> am 4a38644f: (-s ours) am 94f382a6: am 75b44962: am 16106266: (-s ours) am 59e2edb3: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '4a38644f3ccfd4ff023f8ff4d9478ea0034142f1':
4a38644f3ccfd4ff023f8ff4d9478ea0034142f1 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> am 94f382a6: am 75b44962: am 16106266: (-s ours) am 59e2edb3: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '94f382a6dda244d72a7af4ed81e49ffc7b461263':
94f382a6dda244d72a7af4ed81e49ffc7b461263 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> am 75b44962: am 16106266: (-s ours) am 59e2edb3: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '75b44962d87598597314ce028aaf0914a0a5f9f1':
75b44962d87598597314ce028aaf0914a0a5f9f1 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> am 16106266: (-s ours) am 59e2edb3: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '16106266fd56bbdb71a2fed1a29a00d24e6e9683':
16106266fd56bbdb71a2fed1a29a00d24e6e9683 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> am 59e2edb3: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '59e2edb3a5791b97c85f3cc5b0395f6dd309beed':
59e2edb3a5791b97c85f3cc5b0395f6dd309beed 11-Mar-2013 Jean-Baptiste Queru <jbq@google.com> Reconcile with jb-mr1-release - do not merge
ff188a45c2b52299652455fb4534be8bc3683763 19-Dec-2012 The Android Open Source Project <initial-contribution@android.com> am 60a1d1df: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit '60a1d1df9bd3e6c2583dd14e2746900b22a379af':
60a1d1df9bd3e6c2583dd14e2746900b22a379af 19-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: Ic1386b1ea77872e99819f8b7132a8419fc41cb5e
cb951982c75436befd592d07cd968b78e541b5ba 19-Dec-2012 Ben Cheng <bccheng@google.com> am 87a6043e: am a33a4792: (-s ours) Merge "Fix a trivial signed vs unsigned comparison for gcc 4.7."

* commit '87a6043e9330917f914a1ba4213c4ae101df8003':
Fix a trivial signed vs unsigned comparison for gcc 4.7.
87a6043e9330917f914a1ba4213c4ae101df8003 19-Dec-2012 Ben Cheng <bccheng@google.com> am a33a4792: (-s ours) Merge "Fix a trivial signed vs unsigned comparison for gcc 4.7."

* commit 'a33a4792fa1d65030933546b3f2f904f5cf2d5de':
Fix a trivial signed vs unsigned comparison for gcc 4.7.
6445344dbaf08ec4d8fbf6aeeffdf29faed64e78 13-Dec-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
b82986e654908dc0ee6c5eeb9e96138db0697b23 12-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am bb559181: am 1d21f734: hwc: fix issue with Layercache

* commit 'bb5591810f508ed9e28fa6b3680747f6b7ccca64':
hwc: fix issue with Layercache
bb5591810f508ed9e28fa6b3680747f6b7ccca64 12-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 1d21f734: hwc: fix issue with Layercache

* commit '1d21f7344157c4d0b1730faede5cf19e7253939f':
hwc: fix issue with Layercache
1d21f7344157c4d0b1730faede5cf19e7253939f 12-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: fix issue with Layercache

When MDP comp is done the layer cache is not reset. Calling the layer cache
update after MDP comp is configured ensures that the cache is reset correctly.

Bug: 7717187
Change-Id: I9fc3ddd713ceac4be708e33782c3661e758dfcb9
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
1995277445aa5bd342535d73114b79b3785026ee 11-Dec-2012 The Android Open Source Project <initial-contribution@android.com> am c035779e: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit 'c035779e4cc477a9ef26a73dda163108cab9147c':
c035779e4cc477a9ef26a73dda163108cab9147c 11-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I183ea375df0092ab026eeb501895a7193065b14d
bfd0684a1df4a855c94e01d8cedf0d7c9925f58f 11-Dec-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
e5ec80eb5c7af4bb86c4d396c4e05eed9542bde3 11-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 5c08ef6e: am 33ecf33e: hwc: use layercache for external display

* commit '5c08ef6eff56e55ae23322aad1fe05ae875629eb':
hwc: use layercache for external display
5c08ef6eff56e55ae23322aad1fe05ae875629eb 11-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 33ecf33e: hwc: use layercache for external display

* commit '33ecf33ed4881d0b76ceffb8a6f34dc8fa775ed2':
hwc: use layercache for external display
33ecf33ed4881d0b76ceffb8a6f34dc8fa775ed2 08-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: use layercache for external display

Bug: 7668141
Change-Id: I14ac72f8084b328f5b3aca61b85e75f117785add
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
a33a4792fa1d65030933546b3f2f904f5cf2d5de 07-Dec-2012 Ben Cheng <bccheng@google.com> Merge "Fix a trivial signed vs unsigned comparison for gcc 4.7."
98899d00300b04e8cda6cac63d38104d3be55735 07-Dec-2012 Ben Cheng <bccheng@google.com> Fix a trivial signed vs unsigned comparison for gcc 4.7.

Change-Id: I525e7709ec5e93cacc90f12a371716d220ff65fa
ibhwcomposer/hwc_mdpcomp.cpp
e97dd2fda31f738b1b4cbb206ddadea0afd55516 07-Dec-2012 The Android Open Source Project <initial-contribution@android.com> am e03597f6: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit 'e03597f677a4ce17beda9fb5d3b802cc1b267d63':
e03597f677a4ce17beda9fb5d3b802cc1b267d63 07-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I18ddb8f3a5d7775a9af407c2fafd907654885d6b
a69068c2b2745269bd7497149e24d232a240bd7b 07-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am f389f54c: am 6145012a: external: memset commit struct

* commit 'f389f54c15ebd501caedbcf043e81ab78e5e07a8':
external: memset commit struct
0e3f3d3dd85a3211bc96d198096cefca69395656 07-Dec-2012 Ben Cheng <bccheng@google.com> am 36b3a846: am 2279d22d: Fix two trivial bugs found by gcc 4.7.

* commit '36b3a84643b6b8e017805e5e285a9f6e375fde60':
Fix two trivial bugs found by gcc 4.7.
fbbd376c50318b993abd2a2937d0369f20482d56 07-Dec-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
f389f54c15ebd501caedbcf043e81ab78e5e07a8 07-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 6145012a: external: memset commit struct

* commit '6145012a20c4469625e5b3bc81aa919ccefcf958':
external: memset commit struct
36b3a84643b6b8e017805e5e285a9f6e375fde60 07-Dec-2012 Ben Cheng <bccheng@google.com> am 2279d22d: Fix two trivial bugs found by gcc 4.7.

* commit '2279d22d6491034eccf478882f1a6daf30db1b66':
Fix two trivial bugs found by gcc 4.7.
6145012a20c4469625e5b3bc81aa919ccefcf958 07-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> external: memset commit struct

Bug: 7681657
Bug: 7668141 (potential fix)
Change-Id: I5e6d046f2fdff54fdd58aaca583c0ae8038a9a63
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ed84dd14bb2b905dffb2917fb36903fec6813cec 06-Dec-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
2279d22d6491034eccf478882f1a6daf30db1b66 05-Dec-2012 Ben Cheng <bccheng@google.com> Fix two trivial bugs found by gcc 4.7.

1) external.cpp: ext_commit.flags is uninitialized.
2) hwc_mdpcomp.cpp: signed int compared against another signed int
which is unnecessarily casted to unsigned.

Bug: 7671979
Change-Id: I0e846cf0f7b161ce6f06f380af19a2864a3fd222
ibexternal/external.cpp
ibhwcomposer/hwc_mdpcomp.cpp
0a6d6995ea8e899415c26c58d316af57ae036334 04-Dec-2012 The Android Open Source Project <initial-contribution@android.com> am db9c2242: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit 'db9c2242d4326c31987eff56b2bf3915c324e0f5':
db9c2242d4326c31987eff56b2bf3915c324e0f5 04-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I1590827103400d7c7380b470b0f868cc3d5176d9
8cc447020265d81437986c4b7c7e8c5602343d15 04-Dec-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
0d5443310929260598709d1b733036b63e347e91 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 5cbaac56: am 53bdba54: hwc: Avoid MDP composition with alpha scaling

* commit '5cbaac56d5572938d1518d9cee70406c03de1595':
hwc: Avoid MDP composition with alpha scaling
5cbaac56d5572938d1518d9cee70406c03de1595 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 53bdba54: hwc: Avoid MDP composition with alpha scaling

* commit '53bdba54f2eb33c5e8133d75d149f5ede92baa33':
hwc: Avoid MDP composition with alpha scaling
53bdba54f2eb33c5e8133d75d149f5ede92baa33 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Avoid MDP composition with alpha scaling

MDP4 supports scaling with alpha, only in RGB pipes.
In some cases this scaling happened with video pipes.
We now fall back to GLES composition for layers that have
alpha and need scaling.

Bug: 7648647
Change-Id: I084355bad1cdb17c7308077b56006c59e75d2042
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
6c14b4b4dbb6ec58051fa2135508f34c7f24a52e 03-Dec-2012 The Android Open Source Project <initial-contribution@android.com> am c46538f2: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit 'c46538f238680ba115f66052149f41191891c169':
hwc: Disable mixed mode composition for secure videos
hwc: Use number of app layers from the hwc context.
c46538f238680ba115f66052149f41191891c169 03-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I1045d6752ae2c0758d99d8d1d59d329c53ba8590
49bdda6094c766e0a874bda86b9a9f191d0da6cf 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Disable mixed mode composition for secure videos

Also make sure layer cache is used correctly when
we're not using MDP composition

Bug: 7643563
Change-Id: I4dcd70c2da128b2dcbe0b72dc14031983649719d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
41a47b5291d1093e32a7858f748881e9f3e5c0da 01-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Use number of app layers from the hwc context.

Current frame count is not valid in cases where MDP
composition is not doable. This could lead to clearing
the flags for the wrong number of layers.

Bug: 7643563
Change-Id: I1f506a4a0a8f706d02e954bd6c12e354c0fb5fe9
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
4dc6ad6e2722cd4ee7960e518c2231460cbb8747 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am ddae12ef: am 52a135ba: hwc: Disable mixed mode composition for secure videos

* commit 'ddae12ef4b7ecf35fd19ca6332ab705d47338a47':
hwc: Disable mixed mode composition for secure videos
6658abff9e023b08f3b54bc47ce7552702a221d6 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am b733e0f0: am 4d8af1af: hwc: Use number of app layers from the hwc context.

* commit 'b733e0f01d3a170d93c3e63cc08750b92473f240':
hwc: Use number of app layers from the hwc context.
ddae12ef4b7ecf35fd19ca6332ab705d47338a47 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 52a135ba: hwc: Disable mixed mode composition for secure videos

* commit '52a135bafb05fabbe5d3281dcc4c9aad98103cbc':
hwc: Disable mixed mode composition for secure videos
b733e0f01d3a170d93c3e63cc08750b92473f240 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> am 4d8af1af: hwc: Use number of app layers from the hwc context.

* commit '4d8af1af8005fa7656e24cdbbb5e9f4d4943f428':
hwc: Use number of app layers from the hwc context.
52a135bafb05fabbe5d3281dcc4c9aad98103cbc 02-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Disable mixed mode composition for secure videos

Also make sure layer cache is used correctly when
we're not using MDP composition

Bug: 7643563
Change-Id: I4dcd70c2da128b2dcbe0b72dc14031983649719d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
4d8af1af8005fa7656e24cdbbb5e9f4d4943f428 01-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Use number of app layers from the hwc context.

Current frame count is not valid in cases where MDP
composition is not doable. This could lead to clearing
the flags for the wrong number of layers.

Bug: 7643563
Change-Id: I1f506a4a0a8f706d02e954bd6c12e354c0fb5fe9
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
777d0764da6f702ec62d045f89ac65f8a52d5cd8 30-Nov-2012 The Android Open Source Project <initial-contribution@android.com> am 1f63ee2f: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit '1f63ee2f14f14e02c5d09435f0e4cce913d1fcb5':
libgralloc: Discontinue allocating FB buffers from carveout.
libhwcomposer: Add support for 4 layer MDP Comp
hwc/overlay: Dynamic pipe tracking.
1f63ee2f14f14e02c5d09435f0e4cce913d1fcb5 30-Nov-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I444d55848715b6f750035a38d6430c44839b4260
f53aac8fea7ea79a5c7a90c193c2daba3914e1eb 30-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am e9f44a74: am 83e63e60: libgralloc: Discontinue allocating FB buffers from carveout.

* commit 'e9f44a74464cf7dfc7fede2199b4c258d8596d8f':
libgralloc: Discontinue allocating FB buffers from carveout.
890cdd02d5103a69b08d07b3c80231567d0232c1 30-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 1ce8a070: am 65bb464d: libhwcomposer: Add support for 4 layer MDP Comp

* commit '1ce8a070cc4d8b111c9642ff0324b207c2baafe9':
libhwcomposer: Add support for 4 layer MDP Comp
3741069454ca95aa53148941bd485c74410e0d55 30-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 86635a41: am d551ebe2: hwc/overlay: Dynamic pipe tracking.

* commit '86635a4167d7c857b9750ed5be17d852f8ff4c4d':
hwc/overlay: Dynamic pipe tracking.
e9f44a74464cf7dfc7fede2199b4c258d8596d8f 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 83e63e60: libgralloc: Discontinue allocating FB buffers from carveout.

* commit '83e63e60e01a80871a00b9ff52e8987b36622096':
libgralloc: Discontinue allocating FB buffers from carveout.
1ce8a070cc4d8b111c9642ff0324b207c2baafe9 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 65bb464d: libhwcomposer: Add support for 4 layer MDP Comp

* commit '65bb464dab7f1b35ffd4dda11a3d16885bbadf2d':
libhwcomposer: Add support for 4 layer MDP Comp
86635a4167d7c857b9750ed5be17d852f8ff4c4d 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am d551ebe2: hwc/overlay: Dynamic pipe tracking.

* commit 'd551ebe2cb65d9da47d3e25f6004b8870afec8b4':
hwc/overlay: Dynamic pipe tracking.
7e41762fc168f9ab9f0663533e55e9ec3abf4f35 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> libgralloc: Discontinue allocating FB buffers from carveout.

Don't allocate primary framebuffer from carveout.
Allocate them from IOMMU heap just like the external framebuffer.

Bug: 7626586
Change-Id: I52a8db1a34d19856302b38d2c30c1290d1f2f060
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/gpu.cpp
2c49d47fb7a61d11af8224800d30625bb29d36a2 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> libhwcomposer: Add support for 4 layer MDP Comp

This change extends MDP composition to support
upto 4 layers by making border fill as base pipe and
using all MDP h/w pipes in overlay mode.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h

Bug: 7626586
Change-Id: I01a0e53ddfbcf3ed46734f6f3bb0ef7d912ceac6
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
167a2c9b4b1ce0a3594fd81d37b2bb01b679b865 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc/overlay: Dynamic pipe tracking.

Remove state based pipe handling and make pipes tracked dynamically.
Add the configStart, configDone, nextPipe availablePipes APIs.
Remove setState API.

-configStart marks all pipes available.
-configDone garbage-collects unused pipe objects.
-nextPipe returns the index of next available pipe and create a corresponding
pipe object if not present
-availablePipes returns total of "unallocated" pipes. (Pipes could be allocated
but unused)

Changes in hwc adapt to the new overlay APIs.
Compile out MDP comp.
Remove unused files in overlay and hwc.
Update licenses.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp

Bug: 7626586
Change-Id: Id8e56901d34e5dc0fd088260d05e3e46f68ff090
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_extonly.h
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_qbuf.h
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/Android.mk
iboverlay/mdpRotator.cpp
iboverlay/mdpWrapper.h
iboverlay/mdssRotator.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayImpl.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayState.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
iboverlay/pipes/overlayUIMirrorPipe.h
iboverlay/pipes/overlayVideoExtPipe.h
83e63e60e01a80871a00b9ff52e8987b36622096 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> libgralloc: Discontinue allocating FB buffers from carveout.

Don't allocate primary framebuffer from carveout.
Allocate them from IOMMU heap just like the external framebuffer.

Bug: 7626586
Change-Id: I52a8db1a34d19856302b38d2c30c1290d1f2f060
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/gpu.cpp
65bb464dab7f1b35ffd4dda11a3d16885bbadf2d 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> libhwcomposer: Add support for 4 layer MDP Comp

This change extends MDP composition to support
upto 4 layers by making border fill as base pipe and
using all MDP h/w pipes in overlay mode.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h

Bug: 7626586
Change-Id: I01a0e53ddfbcf3ed46734f6f3bb0ef7d912ceac6
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
d551ebe2cb65d9da47d3e25f6004b8870afec8b4 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc/overlay: Dynamic pipe tracking.

Remove state based pipe handling and make pipes tracked dynamically.
Add the configStart, configDone, nextPipe availablePipes APIs.
Remove setState API.

-configStart marks all pipes available.
-configDone garbage-collects unused pipe objects.
-nextPipe returns the index of next available pipe and create a corresponding
pipe object if not present
-availablePipes returns total of "unallocated" pipes. (Pipes could be allocated
but unused)

Changes in hwc adapt to the new overlay APIs.
Compile out MDP comp.
Remove unused files in overlay and hwc.
Update licenses.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp

Bug: 7626586
Change-Id: Id8e56901d34e5dc0fd088260d05e3e46f68ff090
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_extonly.h
ibhwcomposer/hwc_fbupdate.cpp
ibhwcomposer/hwc_fbupdate.h
ibhwcomposer/hwc_qbuf.h
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/Android.mk
iboverlay/mdpRotator.cpp
iboverlay/mdpWrapper.h
iboverlay/mdssRotator.cpp
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayImpl.h
iboverlay/overlayMdpRot.cpp
iboverlay/overlayMdssRot.cpp
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayState.h
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlayGenPipe.cpp
iboverlay/pipes/overlayGenPipe.h
iboverlay/pipes/overlayUIMirrorPipe.h
iboverlay/pipes/overlayVideoExtPipe.h
b7b8349f23918e81eb41cfae6677df853a16d254 29-Nov-2012 The Android Open Source Project <initial-contribution@android.com> am 01e85053: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit '01e85053456d2fc43e778b47138938df0c932047':
01e85053456d2fc43e778b47138938df0c932047 29-Nov-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I9ddb58d08cac716574aa0b7f0a057b664d1004ae
e5bfdfe3b5165f675a047fa2a163704f04aa4e30 29-Nov-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
1e9cbb0570096252dbf6712272348fedfeccf314 28-Nov-2012 The Android Open Source Project <initial-contribution@android.com> am 68530888: (-s ours) Reconcile with jb-mr1.1-release - do not merge

* commit '68530888230013407ce358136f51e7e0b73a437f':
68530888230013407ce358136f51e7e0b73a437f 28-Nov-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1.1-release - do not merge

Change-Id: I0928e8debdf9a94a5f166648c94f120ae9d53879
14edce7031d40c47c2e1cbbad8360a17e0bc98c4 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am f0dd70fa: am 6bacbb6c: hwc: Add support for faking vsync

* commit 'f0dd70fa5b73010bec4a09eb4d3b6a83576ffee2':
hwc: Add support for faking vsync
f0dd70fa5b73010bec4a09eb4d3b6a83576ffee2 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 6bacbb6c: hwc: Add support for faking vsync

* commit '6bacbb6cd32f78e2670ad1213fc7541f113be921':
hwc: Add support for faking vsync
7b3b846efb58f8ba6353c5a6aa3cca0fedee4c07 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am f8dcc75d: am 89f9d5d6: hwc: cache layers on framebuffer

* commit 'f8dcc75d45b6738286d2c2fbf3607395e524583a':
hwc: cache layers on framebuffer
f8dcc75d45b6738286d2c2fbf3607395e524583a 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> am 89f9d5d6: hwc: cache layers on framebuffer

* commit '89f9d5d65dc4f3ef2bea3d3b091069cb6af0fc38':
hwc: cache layers on framebuffer
31115b85611c213773735933328d07783d334668 28-Nov-2012 The Android Open Source Project <initial-contribution@android.com> am 097f6abe: (-s ours) am 0a4ed714: Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

* commit '097f6abedbcf48fd45e1301ccf54762bdaebfce4':
6bacbb6cd32f78e2670ad1213fc7541f113be921 17-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for faking vsync

Can be set for debugging, valgrind, board bringup etc.
Also - we fail reading the sysfs vsync, we fall back and fake it.

Bug: 7301591
Change-Id: I9509fd7aa8862d5af7d521e29fe32bef9654168c
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
89f9d5d65dc4f3ef2bea3d3b091069cb6af0fc38 17-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: cache layers on framebuffer

In the cases where all the layers that are marked as HWC_FRAMEBUFFER did not
change, we can mark them as HWC_OVERLAY since their contents are already on the
framebuffer and do not need any additional processing.

This optimization shows power improvement for video playback.

Bug: 7623741
Change-Id: Ia178a926e6f56a3ec9291250a22a66f212c30b14
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
097f6abedbcf48fd45e1301ccf54762bdaebfce4 27-Nov-2012 The Android Open Source Project <initial-contribution@android.com> am 0a4ed714: Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

* commit '0a4ed714635a352c09932907eadbc9021de96efb':
0a4ed714635a352c09932907eadbc9021de96efb 27-Nov-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

Change-Id: Ia5b02d7df218ec07208bcd2e6105217d1865adc7
aa6a0990775e1cdfa1f57d7ea8bc62bb879d72ac 14-Nov-2012 The Android Automerger <android-build@android.com> merge in jb-mr1.1-release history after reset to jb-mr1.1-dev
bea494e53cdd1dc70ec7bb77ad337216762f7fbc 14-Nov-2012 Saurabh Shah <saurshah@codeaurora.org> am 2db42eda: am e87b66d2: display: Add support for flip operation in MDP comp

* commit '2db42eda10d88d0547bddf419d8eca47f0a8cfbf':
display: Add support for flip operation in MDP comp
2db42eda10d88d0547bddf419d8eca47f0a8cfbf 14-Nov-2012 Saurabh Shah <saurshah@codeaurora.org> am e87b66d2: display: Add support for flip operation in MDP comp

* commit 'e87b66d295a83b90e22bf4b7c48051eaea01ef75':
display: Add support for flip operation in MDP comp
e87b66d295a83b90e22bf4b7c48051eaea01ef75 04-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> display: Add support for flip operation in MDP comp

This change adds support for flip operation during MDP composition. This
enables frames to get MDP composited during 270 degree orientation too (with
pre rotation doing 90 degree rotation) or even with layers with just h flip or
v flip.

Bug: 7435860
Change-Id: I7fd18226d8337b2cd9341d709c2bd030eff881f7
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
iboverlay/overlayUtils.h
7989f7e82d54a00b14a7cec5d5f40af0bd4f82ff 31-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am abb6edf7: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit 'abb6edf708cc669feafdae04fa255ecea8036096':
abb6edf708cc669feafdae04fa255ecea8036096 31-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: Ie4b8cc7ca77c49038f6fcded735f25be802fa3f0
95ffe1b4b0e315aed75e3ce691acb477cf5f0d2a 30-Oct-2012 Iliyan Malchev <malchev@google.com> am 1e3860c5: am 2edd0332: chmod uga-x

* commit '1e3860c5be4c11d24cf24329f2e5b61147869a2e':
chmod uga-x
1e3860c5be4c11d24cf24329f2e5b61147869a2e 29-Oct-2012 Iliyan Malchev <malchev@google.com> am 2edd0332: chmod uga-x

* commit '2edd0332251d66760cb63b9a13cdb28ca2301488':
chmod uga-x
f8661e4aea657e6b7b0c42f0d88a9e6d9ec724be 29-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
2edd0332251d66760cb63b9a13cdb28ca2301488 25-Oct-2012 Iliyan Malchev <malchev@google.com> chmod uga-x

find -type f -perm +111 -name \*.[ch]\* -exec chmod uga-x {} \;

Bug: 7428209
Change-Id: I3ae3c236f5b0bfcca57b57ea67e279fac79d02d0
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/mdpRotator.cpp
iboverlay/mdssRotator.cpp
iboverlay/overlayRotator.cpp
d6cc4509f48b95ccbe406a1043321d8c762ae404 18-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
6863dccd3a590d01a27ba96e1204496d8c44e235 18-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am a81765f6: am 08212c04: hwc: Open sysfs node when thread is initialized.

* commit 'a81765f6797d97b6cefb1b3006d47b40d9dcbefe':
hwc: Open sysfs node when thread is initialized.
a81765f6797d97b6cefb1b3006d47b40d9dcbefe 18-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 08212c04: hwc: Open sysfs node when thread is initialized.

* commit '08212c04d2128d8967208b823c7eb4b63720de79':
hwc: Open sysfs node when thread is initialized.
08212c04d2128d8967208b823c7eb4b63720de79 17-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Open sysfs node when thread is initialized.

Earlier, the sysfs node was created in the driver for the
first time in dsi_video_on. This has now been moved to probe
so this node can be opened to the start of the thread.

Bug: 7305728
Change-Id: I01230e4fdc2bddd160ce0d84e153f1f8c179b8df
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
2a018d1e1adf910bb46521f292870f80f1fd871a 16-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
11fa91ef2ff141c944a7c001060b83a76b8f5ee0 16-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am b85dd115: am eaf67914: hwc: Return failure code if hwc_set fails to draw

* commit 'b85dd115196862c23aef87575231570b7f31a553':
hwc: Return failure code if hwc_set fails to draw
db1ac27fc09ae5a94e1dd077bdcc81260a917133 16-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> am 24cba75c: am 40a1cc58: hwc: Create releaseFd even if no HWC layers

* commit '24cba75c9ef0fe40c8ec77a67ff21dd118404ee7':
hwc: Create releaseFd even if no HWC layers
b85dd115196862c23aef87575231570b7f31a553 16-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am eaf67914: hwc: Return failure code if hwc_set fails to draw

* commit 'eaf679142b75c55735e33bdd9ddd26d8294c4070':
hwc: Return failure code if hwc_set fails to draw
24cba75c9ef0fe40c8ec77a67ff21dd118404ee7 16-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> am 40a1cc58: hwc: Create releaseFd even if no HWC layers

* commit '40a1cc58d298a8d2e61df8c3be0d85ddf6996d98':
hwc: Create releaseFd even if no HWC layers
eaf679142b75c55735e33bdd9ddd26d8294c4070 11-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Return failure code if hwc_set fails to draw

Check for errors while drawing the layers in hwc_set.

Return -1 in the error case so that framework doesn't wait on fences.

Bug: 7284105
Change-Id: I024f9ca07faf64d6b90d4f483164dc15c0d7992c
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
40a1cc58d298a8d2e61df8c3be0d85ddf6996d98 11-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> hwc: Create releaseFd even if no HWC layers

Change-Id: Ic12807d47391d7a48b5db118299aaa3e8b9d8625
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
df404bfd5e1ab970da98366e0b7e7ca2167b257c 15-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am a36d08de: am 1a8cda0b: hwc: clean up overlay for external from the draw thread only

* commit 'a36d08deb350ccae328f61350ba33cd62842e68a':
hwc: clean up overlay for external from the draw thread only
a36d08deb350ccae328f61350ba33cd62842e68a 15-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 1a8cda0b: hwc: clean up overlay for external from the draw thread only

* commit '1a8cda0b2cb535656eb18bf5dc07a02fcddec9ab':
hwc: clean up overlay for external from the draw thread only
30445b8fe7328be1ddec5985bbc8550898c16990 15-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> am 0cc180c1: am f83d4480: HWC: Protect hwc_set from async events

* commit '0cc180c1067b67491f236d2d1745a5d96b435d69':
HWC: Protect hwc_set from async events
0cc180c1067b67491f236d2d1745a5d96b435d69 15-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> am f83d4480: HWC: Protect hwc_set from async events

* commit 'f83d4480f2c7e37374c4516750aae79c6b12eb79':
HWC: Protect hwc_set from async events
1a8cda0b2cb535656eb18bf5dc07a02fcddec9ab 13-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: clean up overlay for external from the draw thread only

Cleanup overlay for external from the draw thread. If done from the uevent
thread, its possible that the object being used by draw thread is deleted by
uevent thread.

This also removes unnecessary side-effects where libexternal sets states in
hwc, whereas, it could be set from hwc itself. There should be no need for
libexternal to modify states in hwc.

Bug: 7335863 (partial fix)
Change-Id: If07483e640abae2ced2418e0d5c8f278f8c6ec33
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
f8b31c4624665257175123b0facf9e7417f08cee 15-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 6882cf01: (-s ours) Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

* commit '6882cf01e0747bcea27ad5e66380a08105dc08f4':
6882cf01e0747bcea27ad5e66380a08105dc08f4 15-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

Change-Id: I0c9e3d6e2d6ddb422ba96e204007b6922d6e1906
6f392195c6f10e049ba7b147884126af3575856c 13-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-factory-release history after reset to jb-mr1-dev
94fccaf0761ad02295a5e74dc3b441ec42753ee0 13-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
f83d4480f2c7e37374c4516750aae79c6b12eb79 11-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> HWC: Protect hwc_set from async events

Wait for hwc_set completion if already in progress before processing
the async events.

Bug: 7288769
Change-Id: Ibdd0ee82f079df566b899c94df19f6bb1031d686
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.h
b9758a6316502c88b020d95c918d32f3d7963007 13-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 2bf4b2bb: am 541b59d1: hwc: external: Add screen-fitting to external panel.

* commit '2bf4b2bbb60474cf780152e2715ba46741c2bff5':
hwc: external: Add screen-fitting to external panel.
2bf4b2bbb60474cf780152e2715ba46741c2bff5 13-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 541b59d1: hwc: external: Add screen-fitting to external panel.

* commit '541b59d15504bb6e5b9fbeb031aa2287a1abed2a':
hwc: external: Add screen-fitting to external panel.
acd0010baeb9467d840f8a509c2092aeed4ea0ec 12-Oct-2012 Iliyan Malchev <malchev@google.com> am f8def6f6: am 0f9c3971: hwc: add some logging

* commit 'f8def6f64edb0cfee5fac276cc755a4a210b22e2':
hwc: add some logging
f8def6f64edb0cfee5fac276cc755a4a210b22e2 12-Oct-2012 Iliyan Malchev <malchev@google.com> am 0f9c3971: hwc: add some logging

* commit '0f9c397181604f28d15c9273de42f97ae2b4c613':
hwc: add some logging
f108c666ad5ac5584280fdefa3b951da6ca984cb 12-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 8bd351ea: (-s ours) Reconcile with jb-mr1-factory-release - do not merge

* commit '8bd351ea3f6ceb4a014b889c7c7fe09f5928bd65':
8bd351ea3f6ceb4a014b889c7c7fe09f5928bd65 12-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-factory-release - do not merge

Change-Id: Ifba31df5bc953451bc7bc496f04b03aa1e34d7ae
541b59d15504bb6e5b9fbeb031aa2287a1abed2a 11-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: external: Add screen-fitting to external panel.

Screen fitting for out-of-bounds videos (with overlays) exists for primary
panel. Add this same support for external panels, so that GPU won't be needed
in panning use-cases.

Bug: 7313955
Change-Id: I274a821264d87098227b144752f4d0b89d342cd9
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_video.cpp
0f9c397181604f28d15c9273de42f97ae2b4c613 12-Oct-2012 Iliyan Malchev <malchev@google.com> hwc: add some logging

We are seeing errors where a device's hwcVsyncThread is not present for some
reason. The surface flinger has not crashed, so either the thread never got
created, or it exited withouth throwing an error. This patch adds some more
verbose on-error logging to the HWC as an attempt to verify the theory that the
thread does not get created, or fails in pthread_create. While we're at it, we
add the same logging at pthread_create() for hwcUeventThread, as well.

Also, replace the lseek()+read() with a pread() combo in the vsync thread.

Change-Id: I555d786a7d66ff4ef1dbfd95947a7d9341e56f11
related-to-bug: 7305728
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_vsync.cpp
2fc0c841f33babc26200fac4f24affaacf00c24f 11-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-factory-release history after reset to jb-mr1-dev
7a15ad0ec3e3683ded11d91755551819c5566209 11-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 7da838f4: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '7da838f43201debdbbbe44e24852d6844e147375':
7da838f43201debdbbbe44e24852d6844e147375 11-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I54a4f295d6a9de37951324c0038d031e679c6247
b6aa2f10672cbb9c0078d7832b520b760ad7f694 11-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
7b67dcbd34ef02247977dfe9d5486aad558a20dc 11-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 42d51cae: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '42d51caec230fb06c1a82d179a44ce934717cbd2':
42d51caec230fb06c1a82d179a44ce934717cbd2 11-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I62385ced49ea49af48623e87e24b0f8b34fab7f0
2a430fb4a09cee830fc52a36471a3d5ed5a75ead 11-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 1e423dcc: am 27c1d651: hwc: utils: Include orientation while screen-fitting.

* commit '1e423dcc8a0dbd420a54cd511348bd3df04e5b4a':
hwc: utils: Include orientation while screen-fitting.
1e423dcc8a0dbd420a54cd511348bd3df04e5b4a 11-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 27c1d651: hwc: utils: Include orientation while screen-fitting.

* commit '27c1d65113aaac5c577523132b5b990552284ba9':
hwc: utils: Include orientation while screen-fitting.
27c1d65113aaac5c577523132b5b990552284ba9 15-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: utils: Include orientation while screen-fitting.

MDP doesn't like out-of-screen-bounds parameters. So based on the position of
the layer, we adjust the portion of layer the MDP should pick.

However, this did not factor in orientation, so far. This patch does that and
allows panning to work in other orientations, without having to use GPU.

Bug: 7313955
Change-Id: Ice17ad144abcd60279c2ef9ad87fc617a1bd3621
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
c5d4822328cea0aa731de9bb12b4b3e165403290 10-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
c22e94abc06ae95ca61d27fb0de8f9c01f370726 10-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am b6d857d0: am c23b380f: overlay: mdprot: Call rotator start only on config change.

* commit 'b6d857d00fb158df1460cddeacc515cc01f544b2':
overlay: mdprot: Call rotator start only on config change.
b6d857d00fb158df1460cddeacc515cc01f544b2 10-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am c23b380f: overlay: mdprot: Call rotator start only on config change.

* commit 'c23b380f5c97906717e3f71e20133e88bb5d8e77':
overlay: mdprot: Call rotator start only on config change.
c23b380f5c97906717e3f71e20133e88bb5d8e77 31-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> overlay: mdprot: Call rotator start only on config change.

Call ROTATOR_START ioctl only if the rotator config changes.
Save the last good config when the start succeeds.

Make getSessId()'s return type uint32_t from int to match the member's.
This was causing all methods to think the rotator session id is a negative
invalid number. This ensures ROTATOR_FINISH is called.

Bug: 7320914
Change-Id: I5ca048ea866316f18d8df14dc08218fca2c82bdf
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/mdpRotator.cpp
iboverlay/overlayRotator.h
04e36a710f4f74457a7d5402ffb2d55d4a503e95 10-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am ee080e79: (-s ours) Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

* commit 'ee080e79066ad685cbb0618af562e0d5d8f877f8':
ee080e79066ad685cbb0618af562e0d5d8f877f8 10-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge

Change-Id: I1408f32e69ed720866d93bc5008b93108a43e2df
a31b4bc9830ff65cc26234762eca74da6c634a86 10-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-factory-release history after reset to jb-mr1-dev
899ff02d808f167024876400edae4b0e5ca9846e 10-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 29ac5b0a: am 150806ae: hwc: fix for not ignoring framebuffer

* commit '29ac5b0abea9765eebb9f946128b9a61a67af926':
hwc: fix for not ignoring framebuffer
29ac5b0abea9765eebb9f946128b9a61a67af926 10-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 150806ae: hwc: fix for not ignoring framebuffer

* commit '150806ae0ed82d1d26fa144a6950031570b06bfb':
hwc: fix for not ignoring framebuffer
dbcb4f3990249b4be080cd128ffac984913165b7 10-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
150806ae0ed82d1d26fa144a6950031570b06bfb 10-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: fix for not ignoring framebuffer

If the FB is not used, because all the app layers are overlays, then set the
flag to have the driver not fetch from the FB pipe.

Bug: 7183992
Change-Id: I96ecc1610ac052e8512158d189b0614ecf82d139
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
1a6dc4773d5051d4426ee534a53dbdbe319ffa9d 09-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 7084e2ce: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '7084e2ce3878bb34fb9540ef6645c0e3ecb14505':
hwc: don't open sysfs on every iteration
hwc/overlay: Add premultiplied alpha support.
hwc: external: Cleanup overlay objects on external disconnect.
display/libhwcomposer: fix potential memory leak
7084e2ce3878bb34fb9540ef6645c0e3ecb14505 09-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I04c0b31b70bbf52c05b3f28af8c0a7f7c90387d2
7980f10db732ad33a40088504d77ce6adc1cc8c4 05-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: don't open sysfs on every iteration

Also, read again if vsync read is interrupted

Bug: 7305728
Bug: 7274951
Change-Id: I563a4c4cacab8f124ac988ad98640b57a3d09813
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
725dd86d38631047d361aa46417517f3ac88b398 21-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Add premultiplied alpha support.

Add premultiplied alpha belnding support while using MDP for composition.
Layers could have PMA blending which was missing from hwc1.1
This change just handles the PMA case.

Bug: 7301436
Change-Id: I7d83169831b40943b2b595723fefc3a95a177137
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_video.cpp
iboverlay/overlayUtils.h
f9a7ef2e5faae1cf004ab9779deb3e016c12b994 06-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: external: Cleanup overlay objects on external disconnect.

Cleanup overlay objects and close fds when external is disconnected. Without
this, the external does not come on when cable connected-disconnected multiple
times when device is in suspended state.

Bug: 7150885 (part of the fix)
Bug: 7295979
Bug: 7150885 (partial)
Change-Id: I1ae2ce7220b9928dde332ce3644dbe671d25c7e6
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
18bcd14ae2336b948b3029095ced880a6043af7f 08-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> display/libhwcomposer: fix potential memory leak

This changes fixes a memory leak, by freeing up the pipe alloc structure
everytime before parsing the current frame.

related-to-bug: 7301196
Change-Id: I23edefca71ec0209291be24ee9d629b4a80f0a25
Acked-by: Jeykumar Sankaran<jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
4f4f9ec6c48485243322bd61155b307ae42039d9 09-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 36434a6b: am 4014777b: hwc: don\'t open sysfs on every iteration

* commit '36434a6b969ccd000c456fdda5ad95afe91e98d8':
hwc: don't open sysfs on every iteration
c0f2625c10b72da44d9256f76c4b241b22197540 09-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am ed1a395f: am 91a6a994: hwc/overlay: Add premultiplied alpha support.

* commit 'ed1a395fe15aa5e3cf3d98acd70f1a18f17a9bdf':
hwc/overlay: Add premultiplied alpha support.
9bbcd7ff0f6d1d7771900a58704716d97613b5a7 09-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 9d54e3b2: am e4f3f721: hwc: external: Cleanup overlay objects on external disconnect.

* commit '9d54e3b2cc5644fa92e56f5ab410f1959b344a6a':
hwc: external: Cleanup overlay objects on external disconnect.
a958a0fde50955e3bb4c538108ad9f35969e89e1 09-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 7c247de9: am 52ca6d27: display/libhwcomposer: fix potential memory leak

* commit '7c247de976d115f1d08b459c1ef4cf5cd159794f':
display/libhwcomposer: fix potential memory leak
36434a6b969ccd000c456fdda5ad95afe91e98d8 09-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 4014777b: hwc: don\'t open sysfs on every iteration

* commit '4014777bab1f81db4157db7759d74478eefca22c':
hwc: don't open sysfs on every iteration
ed1a395fe15aa5e3cf3d98acd70f1a18f17a9bdf 09-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 91a6a994: hwc/overlay: Add premultiplied alpha support.

* commit '91a6a994e8d799ea2d4c4cbe6ff2e9be76105988':
hwc/overlay: Add premultiplied alpha support.
9d54e3b2cc5644fa92e56f5ab410f1959b344a6a 09-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am e4f3f721: hwc: external: Cleanup overlay objects on external disconnect.

* commit 'e4f3f721b557c12832be8492c62e76acfa1579eb':
hwc: external: Cleanup overlay objects on external disconnect.
7c247de976d115f1d08b459c1ef4cf5cd159794f 09-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 52ca6d27: display/libhwcomposer: fix potential memory leak

* commit '52ca6d2747ec9b46f7fff666f3b35ec1d3f1ce13':
display/libhwcomposer: fix potential memory leak
4014777bab1f81db4157db7759d74478eefca22c 05-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: don't open sysfs on every iteration

Also, read again if vsync read is interrupted

Bug: 7305728
Bug: 7274951
Change-Id: I563a4c4cacab8f124ac988ad98640b57a3d09813
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_vsync.cpp
91a6a994e8d799ea2d4c4cbe6ff2e9be76105988 21-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Add premultiplied alpha support.

Add premultiplied alpha belnding support while using MDP for composition.
Layers could have PMA blending which was missing from hwc1.1
This change just handles the PMA case.

Bug: 7301436
Change-Id: I7d83169831b40943b2b595723fefc3a95a177137
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_video.cpp
iboverlay/overlayUtils.h
e4f3f721b557c12832be8492c62e76acfa1579eb 06-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: external: Cleanup overlay objects on external disconnect.

Cleanup overlay objects and close fds when external is disconnected. Without
this, the external does not come on when cable connected-disconnected multiple
times when device is in suspended state.

Bug: 7150885 (part of the fix)
Bug: 7295979
Bug: 7150885 (partial)
Change-Id: I1ae2ce7220b9928dde332ce3644dbe671d25c7e6
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
52ca6d2747ec9b46f7fff666f3b35ec1d3f1ce13 08-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> display/libhwcomposer: fix potential memory leak

This changes fixes a memory leak, by freeing up the pipe alloc structure
everytime before parsing the current frame.

related-to-bug: 7301196
Change-Id: I23edefca71ec0209291be24ee9d629b4a80f0a25
Acked-by: Jeykumar Sankaran<jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_mdpcomp.cpp
dfb0e6d58ddf1432fa7499f8287b23d2399340f4 08-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am decb31d5: am ae823e77: hwc: more error checks

* commit 'decb31d5f4b918ff02aefbe51333be4309b263ec':
hwc: more error checks
e1f99fa604ed8bf32d88c07eb8422bf94ce3a592 08-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 5d8ec2c4: am 6d9d168b: hwc: Remove call to glFinish

* commit '5d8ec2c402c323dc9006b61a1518c3912d21023a':
hwc: Remove call to glFinish
decb31d5f4b918ff02aefbe51333be4309b263ec 08-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am ae823e77: hwc: more error checks

* commit 'ae823e773536ee9b6cf97c575463f1a9902370d9':
hwc: more error checks
5d8ec2c402c323dc9006b61a1518c3912d21023a 08-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 6d9d168b: hwc: Remove call to glFinish

* commit '6d9d168b0a429b615a055123a9020f496e712bed':
hwc: Remove call to glFinish
8ae9c5923209c302d42fcb9abc4e0773fb9b8e75 08-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
ae823e773536ee9b6cf97c575463f1a9902370d9 05-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: more error checks

-- numHwLayers==1 means that there is only the FB_TARGET which HWC shouldn't
draw. Also check for blank in set. Checking for this in prepare prevents us
from acquiring pipes.
-- add null check for private handle
-- print out vsync timestamp data on error

bug: 7274417
related-to-bug: 7288769
Change-Id: I8dae0d0748c5226fdc33ed8f5cc5259835dec2de
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/framebuffer.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_vsync.cpp
6d9d168b0a429b615a055123a9020f496e712bed 05-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Remove call to glFinish

It had a glFinish which is not needed anymore on HWC 1.1

Bug: 7274951
Change-Id: I1389802a0ed3f0199d7d7ba0110a343b2f571106
Acked-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
d2b74b0949050a9bc7ee44ab99acfe9ee46e463a 05-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am c714430d: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit 'c714430d3caf5cbc42dd005c9c9b670d3b35e683':
hwc: Skip secure buffers in non secure mode
hwc: move enable disable ioctls to vsync thread
hwc: fix some race conditions
c714430d3caf5cbc42dd005c9c9b670d3b35e683 05-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I73905aa72623e3f7b1174bdcb8d3997503099368
cd89f8c4efc53f6cabf1f72f4d6b401d900a5f88 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Skip secure buffers in non secure mode

Bug: 7283255
Change-Id: Ia4ca0ef4ad4c57deea25c82dfdef009a2c1f82d6
Acked-by: Amara Venkata Mastan Manoj Kumar<manojavm@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_video.cpp
d8e715f8da7b20b251d8d46ed722cc37a287d4a5 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: move enable disable ioctls to vsync thread

This patch stabilized the vsync signal.

Bug: 7274951
Change-Id: Ieb6396c67d4dfb20cfde39a63a45ab6742d9ec5b
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_vsync.cpp
c52b3308e3ec00d6109bd7090da2d8c5571d1c2a 04-Oct-2012 Iliyan Malchev <malchev@google.com> hwc: fix some race conditions

Fix some race conditions between hwc_eventControl and the hwcVsyncThread.

Bug: 7274951
Change-Id: Ic71d65918303b4cef6a379ff5397702b2b578373
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_vsync.cpp
ee298ffaa26b8233fb9b1e77ec1a34b5efad245a 05-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am eccf8654: am cb5f25b5: hwc: Skip secure buffers in non secure mode

* commit 'eccf8654276773a96184b8e808e1e2b4dbdc9bc3':
hwc: Skip secure buffers in non secure mode
eccf8654276773a96184b8e808e1e2b4dbdc9bc3 05-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am cb5f25b5: hwc: Skip secure buffers in non secure mode

* commit 'cb5f25b58dd1b38a4790debb46b1d5f6024e7d3e':
hwc: Skip secure buffers in non secure mode
cb5f25b58dd1b38a4790debb46b1d5f6024e7d3e 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Skip secure buffers in non secure mode

Bug: 7283255
Change-Id: Ia4ca0ef4ad4c57deea25c82dfdef009a2c1f82d6
Acked-by: Amara Venkata Mastan Manoj Kumar<manojavm@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc_video.cpp
45faea0f984ba67b347f33a736b3775b6c59a559 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 35b6c8ad: am c7faa70f: hwc: move enable disable ioctls to vsync thread

* commit '35b6c8adfb63ae9369122246dc4825458354571f':
hwc: move enable disable ioctls to vsync thread
38f3a5f73046d4686080d503ce98169153dcd718 04-Oct-2012 Iliyan Malchev <malchev@google.com> am 1b949c86: am eac8965b: hwc: fix some race conditions

* commit '1b949c864e147a218f3a9efdc6fc52de1a76310a':
hwc: fix some race conditions
35b6c8adfb63ae9369122246dc4825458354571f 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am c7faa70f: hwc: move enable disable ioctls to vsync thread

* commit 'c7faa70f4a92f020f9d5df20a4ae4bb80be7a022':
hwc: move enable disable ioctls to vsync thread
1b949c864e147a218f3a9efdc6fc52de1a76310a 04-Oct-2012 Iliyan Malchev <malchev@google.com> am eac8965b: hwc: fix some race conditions

* commit 'eac8965bf481a17c6bca291c0864d0eb3c0eac07':
hwc: fix some race conditions
c7faa70f4a92f020f9d5df20a4ae4bb80be7a022 04-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: move enable disable ioctls to vsync thread

This patch stabilized the vsync signal.

Bug: 7274951
Change-Id: Ieb6396c67d4dfb20cfde39a63a45ab6742d9ec5b
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_vsync.cpp
eac8965bf481a17c6bca291c0864d0eb3c0eac07 04-Oct-2012 Iliyan Malchev <malchev@google.com> hwc: fix some race conditions

Fix some race conditions between hwc_eventControl and the hwcVsyncThread.

Bug: 7274951
Change-Id: Ic71d65918303b4cef6a379ff5397702b2b578373
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_vsync.cpp
8438dd4d9bf40d68861e00e295e739fcf8b221f2 04-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am 229738ce: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '229738ce1920650d8bdd4afce68a1aec51e257a7':
don't call vsync-ctrl ioctl for same enable value
229738ce1920650d8bdd4afce68a1aec51e257a7 04-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I78dcd76446f5f0d6d0d13814fd73d936634cc996
36345b947479f532c1a1fdcd329f1671ee029b88 03-Oct-2012 Omprakash Dhyade <odhyade@codeaurora.org> don't call vsync-ctrl ioctl for same enable value

Bug: 7274951
Change-Id: Ib21f1ddd623b36a20f195483236ba6cd4bc87c8d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
10e555dd4c4a4a671f0a90a76530d6ec9feca936 03-Oct-2012 Omprakash Dhyade <odhyade@codeaurora.org> am b27fc5f4: am 1ef881ce: don\'t call vsync-ctrl ioctl for same enable value

* commit 'b27fc5f40fb9286d74467dbeec539b65256b44fd':
don't call vsync-ctrl ioctl for same enable value
b27fc5f40fb9286d74467dbeec539b65256b44fd 03-Oct-2012 Omprakash Dhyade <odhyade@codeaurora.org> am 1ef881ce: don\'t call vsync-ctrl ioctl for same enable value

* commit '1ef881ceed7b39b4034adba23368c2006bfd074c':
don't call vsync-ctrl ioctl for same enable value
1ef881ceed7b39b4034adba23368c2006bfd074c 03-Oct-2012 Omprakash Dhyade <odhyade@codeaurora.org> don't call vsync-ctrl ioctl for same enable value

Bug: 7274951
Change-Id: Ib21f1ddd623b36a20f195483236ba6cd4bc87c8d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
0e19b2c27e306730e3f769ce2bc108a2359fd2cc 03-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am ff059960: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit 'ff059960b80bbdf65ff3442dc2a399959e06baf7':
ff059960b80bbdf65ff3442dc2a399959e06baf7 03-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: I5cb6343e212500b89c72165f8ec53e72124e84d5
84693f0e80c63a0325805c4da4bc4e8b5ac4b79c 03-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
b54126b348f66b5f68ddeaa3b495681f68777f02 03-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 3fc2d909: am c4d034f4: hwc: enable dual display on hwc 1.1

* commit '3fc2d909736a404554bf06b8765e4f0a71d86928':
hwc: enable dual display on hwc 1.1
101c0f43481a02010d4903eb2d1115de9ca8ee89 03-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am 143dcf6a: am d80a52cb: gralloc: Send first 2 FB buffers to carveout and next to IOMMU

* commit '143dcf6a192f73907910ad7eea3d6ea557161d74':
gralloc: Send first 2 FB buffers to carveout and next to IOMMU
1a4a0295edd26abc0da30f825586810074b92467 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 7d628ef3: am 32aa90fc: hwc: Use asynchronous commit ioctl for display post

* commit '7d628ef39e5f27eb415878b3c70653f024ad4944':
hwc: Use asynchronous commit ioctl for display post
3fc2d909736a404554bf06b8765e4f0a71d86928 03-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am c4d034f4: hwc: enable dual display on hwc 1.1

* commit 'c4d034f4b8d12953632907d30c0b78856d829579':
hwc: enable dual display on hwc 1.1
143dcf6a192f73907910ad7eea3d6ea557161d74 03-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> am d80a52cb: gralloc: Send first 2 FB buffers to carveout and next to IOMMU

* commit 'd80a52cbf961d737f6f3beef47b868a581b98591':
gralloc: Send first 2 FB buffers to carveout and next to IOMMU
7d628ef39e5f27eb415878b3c70653f024ad4944 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 32aa90fc: hwc: Use asynchronous commit ioctl for display post

* commit '32aa90fc54164119fc6f871259005332e7a8dd38':
hwc: Use asynchronous commit ioctl for display post
c4d034f4b8d12953632907d30c0b78856d829579 28-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: enable dual display on hwc 1.1

Enable dual display on HWC 1.1; video uses overlay.

Bug: 7124159
Change-Id: I8333e46cfc74072f6259fba2b82368f0dd52b6df
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayState.h
iboverlay/overlayUtils.h
d80a52cbf961d737f6f3beef47b868a581b98591 02-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> gralloc: Send first 2 FB buffers to carveout and next to IOMMU

Gralloc uses the GRALLOC_USAGE_HW_FB flag to allocate memory from carveout.
This is fine for primary framebuffer, but for external framebuffer we need IOMMU
heap buffers, since the ioctls for external work with those.

Ideally, the primary buffers also need to come from IOMMU heap, which is ongoing
work. This patch allocates the first 2 FB buffer requests (assuming they are for
primary) from carveout and allocates all subsequent buffers from IOMMU heap.

Bug: 7124159
Change-Id: Ie53b2e1e7fcac136acd2d251f39cefe367fc7125
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
32aa90fc54164119fc6f871259005332e7a8dd38 02-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Use asynchronous commit ioctl for display post

bug: 7274951

Change-Id: I70b2a00d6a2558f533bd87c92038774126434f03
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
e8b91d3fe88177fb84502c7b45ef1d351784d7f0 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am f9763221: am ff4f0254: hwcomposer : Use sysfs to read vysnc information

* commit 'f976322199240e3a3368550c23ac34c4c84d32b1':
hwcomposer : Use sysfs to read vysnc information
f976322199240e3a3368550c23ac34c4c84d32b1 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am ff4f0254: hwcomposer : Use sysfs to read vysnc information

* commit 'ff4f0254be575a264504687c407e0db2fd5573d7':
hwcomposer : Use sysfs to read vysnc information
49ed1a9e87522f245928ed6bb3a2b334058529ed 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am f05c6cf5: am 68b88cf2: hwc: Handle non secure buffers

* commit 'f05c6cf5a4c9f0a84e84ffb1bb80256dee1b3d0f':
hwc: Handle non secure buffers
f05c6cf5a4c9f0a84e84ffb1bb80256dee1b3d0f 03-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> am 68b88cf2: hwc: Handle non secure buffers

* commit '68b88cf211873e6f2cef0111c500697cd690266e':
hwc: Handle non secure buffers
ff4f0254be575a264504687c407e0db2fd5573d7 01-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwcomposer : Use sysfs to read vysnc information

* Read sysfs entries to get vsync timestamp from kernel.
* External display continues to use uevents for hotplug events
* A new thread, vsyncThread is created to read and send vsync
timestamps to HAL.
* Disable H/W VSYNC for MDP 5.x targets until kernel changes are
complete.
* Synchronization is needed to make sure read() is not called
by hwcVsyncThread when VSYNC is disabled.

Change-Id: Iab0a94a3cfce9142b8867859f2a7d9bcaecb0996
Acked-by: Neti Ravi Kumar <ravineti@codeaurora.org>
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_vsync.cpp
68b88cf211873e6f2cef0111c500697cd690266e 02-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Handle non secure buffers

When secure mode is on, skip overlay composition for
non secure buffers.

Bug: 7216266
Change-Id: I5fb1f3a26505bb69305e7d359bdb3a020baf193f
Acked-by: Amara Venkata Mastan Manoj Kumar<manojavm@codeaurora.org>
ibhwcomposer/hwc_video.cpp
2fc32b9f89b3d1ca23e71dd955580f982c9f277e 02-Oct-2012 The Android Open Source Project <initial-contribution@android.com> am b35cdfaa: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit 'b35cdfaac392c4d2ca73f21d69cffdd5d8dc52f7':
hwc: Close unused pipes before PAN
hwc: Call sync before draw.
hwc: Fix tearing on HDMI. Call glFinish()
hwc: Check for the validity of the fb layer
hwc: Fix dpi values reported
liboverlay: close all the opened pipes after framework reboot.
hwc: Add non-zero checks. Move warning log.
libgralloc: remove pid checks
b35cdfaac392c4d2ca73f21d69cffdd5d8dc52f7 02-Oct-2012 The Android Open Source Project <initial-contribution@android.com> Reconcile with jb-mr1-release - do not merge

Change-Id: Idd2734614a14461f536f96cb09060ba7ae6cf1cf
d6fd637405783dfae9023b311afe394cf830f898 02-Oct-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
32ff225e6d77baeb38925faba4b6b8457fab6b7b 29-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Make blank wait for set to complete

Bug: 7217641
Change-Id: Ie25c9caa7a4c6a256c0f35fc40cbae2ef4572f5d
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.h
848de198603324f83551724cd54bd3cdb728e0fd 30-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
3825f25827d3e23b0bc12e5bf453c851d4c238d8 22-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> libexternal: Call new IOCTL to commit on external display

From post() for external call the new ioctl MSMFB_OVERLAY_COMMIT
to update the external display.

The new IOCTL is faster than the default PAN and waits for DMAE to finish before
returning. This fixes tearing.

Bug: 7249589

Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>
Change-Id: Ic755e634d5f141a567c7d93f39c74bb087cd7044
ibexternal/external.cpp
9dbd53a3b8662d404d550bbeb05f53344f254816 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Close unused pipes before PAN

If the pipes are closed after PAN a blank screen is
seen when when we transition from MDP composition
to GLES composition.
We close the unused pipes at the beginning of the set
since the decision has already been made in prepare.

Bug: 7188473
Change-Id: I6f946fa3d02f1c84fb2bb8d3b8e5c823c1151fd5
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
23f8309b083563ed1058d763b673c445640f1f9a 27-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Call sync before draw.

Call sync before draw since draw could use rotator which reads out of the
buffer. For that to happen cleanly, the buffer should not be in use. Calling
sync before draw makes sure, the buffer is free to be used.

[TEMP]
Enable rotator for external video, since sync-pt is not used for external yet.

Bug: 7227220
Change-Id: I25fec8ecc158e28801f238d2829af4d635f3e2c9
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_video.cpp
3b95b4cbf23bc0c8cae4c7a5233511812e3fa0a0 27-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix tearing on HDMI. Call glFinish()

When rotator is rotating GPU writes into it causing tearing. With hwc1.1,
framework doesnt use fbDev, which had a call to glFinish(). Consequently, this
was missed out. Adding this missing code to hwc1.1

Related-to-Bug: 7227220
Change-Id: I7287d3d73b839fef818e31c1c8a783f1fb96d9f1
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
aee5e6eccae9b5d51a836a1d05accccf927e5597 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Close unused pipes before PAN

If the pipes are closed after PAN a blank screen is
seen when when we transition from MDP composition
to GLES composition.
We close the unused pipes at the beginning of the set
since the decision has already been made in prepare.

Bug: 7188473
Change-Id: I6f946fa3d02f1c84fb2bb8d3b8e5c823c1151fd5
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
8c8bfd2f827946ad88ea181d7f952d41ca4938fe 27-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Call sync before draw.

Call sync before draw since draw could use rotator which reads out of the
buffer. For that to happen cleanly, the buffer should not be in use. Calling
sync before draw makes sure, the buffer is free to be used.

[TEMP]
Enable rotator for external video, since sync-pt is not used for external yet.

Bug: 7227220
Change-Id: I25fec8ecc158e28801f238d2829af4d635f3e2c9
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_video.cpp
3d2a790a1fa232655da15744fad142875e64b585 27-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix tearing on HDMI. Call glFinish()

When rotator is rotating GPU writes into it causing tearing. With hwc1.1,
framework doesnt use fbDev, which had a call to glFinish(). Consequently, this
was missed out. Adding this missing code to hwc1.1

Related-to-Bug: 7227220
Change-Id: I7287d3d73b839fef818e31c1c8a783f1fb96d9f1
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
f8f79fb10e33be3f08736164743706e5857fa293 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Check for the validity of the fb layer

Need to check if this is valid before doing anything
Extra NULL checks all around to prevent any invalid
lists from SurfaceFlinger

Change-Id: I57ca97167e469910bcaaa68672ae70b41a061ded
ibhwcomposer/hwc.cpp
65eedd519c2516360017b9782f8aec383975e11d 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Fix dpi values reported

HWC 1.1 expects DPI multiplied by 1000

Bug 7241591

Change-Id: I680da8769f53f8a18d942a3b292d96a16885ebfa
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.h
6282c956456d0d6ca74fe009f196426637d4d4ee 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Check for the validity of the fb layer

Need to check if this is valid before doing anything
Extra NULL checks all around to prevent any invalid
lists from SurfaceFlinger

Change-Id: I57ca97167e469910bcaaa68672ae70b41a061ded
ibhwcomposer/hwc.cpp
7b80d9c8cb345f7020093e0afb691bf3a72deec6 27-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Fix dpi values reported

HWC 1.1 expects DPI multiplied by 1000

Bug 7241591

Change-Id: I680da8769f53f8a18d942a3b292d96a16885ebfa
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.h
daaaebc4fad20a896502a6f5613ceecbcaeb8baf 26-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
86623d7d5106cd568a64be4e51be7ee77f078e08 26-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> (TEMP) hwc: external: Enable default mirroring on hwc1.1

Related to bug: 7124159

UI Mirror works with tearing because sync operates at primary vsync. Need
kernel patch to wait on external post.

Change-Id: I77116ef40ae25a2207feb5ca3cd9065ef0da6e4a
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_video.cpp
3e858ebde3f2b4e762af8f7f2808d45ba59b890d 18-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: hwc 1.1 implementation

Bug: 7124159

--External disabled
--MDP comp coded but disabled.
--Videos via overlay, so that secure videos can work.

Change-Id: Ie48b264143d5e4237ab9724e28930e3f68ba49ee
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibexternal/external.cpp
ibexternal/external.h
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
52fc4cdb4df6fe5ced235cde7f409481c71a2b21 24-Sep-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: qservice: Pass through binder calls

Pass through binder calls for non qservice calls.

Change-Id: I9cae0d40b8377bda9627fbc3e6f90d5aed1f1e0f
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibqservice/IQService.cpp
d6fdfbf41ca1bf209ad90fa54bec9d048e721784 22-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
2dd04a873bc3d4b3ca50121347a8c702d097a2df 19-Sep-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> hwc: sync-point implementation.

Add sync pt implementation.
Add genlock and sync pt under conditional compilation flags.

Change-Id: I32fb7f6051ccc706662152e90ac15b6b6743f897
Signed-off-by: Iliyan Malchev <malchev@google.com>
ommon.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_qbuf.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
d1bd318f2db77daf9625d173b575e88aedeff44c 19-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
0a03dd8b11d08375b9f8eb19110f763112ce58ef 19-Sep-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> genlock: conditionally enable genlock from Android.mk for msm8960

Change-Id: I671e227a3b442bc22c53335614832e37324d7cac
ibgenlock/Android.mk
ibgenlock/genlock.cpp
35712cb6398dc0f7442fe8951ce1e6eec4647f5c 14-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Use overlay for video even during popups.

Continue using overlays for videos even during popup animations.

Change-Id: I6e3b1a2dc3328312f6f1745eded6f18a83fda1cd
ibhwcomposer/hwc_utils.cpp
649cda6710c01fbc4259f8ab61aff2cdb05b242c 17-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Minor bug fixes.

Some minor bug fixes.

Change-Id: Ie8c2f58b9c6db6e77739e4693da503f6f963827d
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
56f610dd235b577725198e9341caae92379fdf23 08-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> display: Create QService binder interface.

Add QService binder interface to enable communication
to display by the mediaserver for Securing/Unsecuring start and end
notifications.

Create separate lib for external.
Clear reserved field before applying format.

Change-Id: I463c9c6deac7587bd0c4e0b84513b5d0b5dd7e98
ndroid.mk
ommon.mk
ibexternal/Android.mk
ibexternal/external.cpp
ibexternal/external.h
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_external.cpp
ibhwcomposer/hwc_external.h
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
iboverlay/overlayCtrl.cpp
iboverlay/overlayUtils.h
ibqservice/Android.mk
ibqservice/IQService.cpp
ibqservice/IQService.h
ibqservice/QService.cpp
ibqservice/QService.h
80692ef5648ecd21ad24c505a8ee6a364e4084fd 18-Sep-2012 Iliyan Malchev <malchev@google.com> hwc: add more debug print

- when UNBLANK completes
- when POWERDOWN completes

Change-Id: Ife7b4b40309de0f58052184ca3e4584b50c69bb1
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibhwcomposer/hwc.cpp
bfe0f3a197edbd0fc8e75a1d8a793a21a48cc391 07-Sep-2012 Ajay Dudani <adudani@codeaurora.org> liboverlay: close all the opened pipes after framework reboot.

b/7147557

Add initOverlay() function to close all the opened pipes when
Surfaceflinger process gets killed.

Change-Id: I9c65a61c81f9c81198f1076d6cbd27933b164c05
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/overlay.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
cb3da0a5e4313f55bd27514006c3ce64293ff8a2 07-Sep-2012 Ajay Dudani <adudani@codeaurora.org> liboverlay: close all the opened pipes after framework reboot.

b/7147557

Add initOverlay() function to close all the opened pipes when
Surfaceflinger process gets killed.

Change-Id: I9c65a61c81f9c81198f1076d6cbd27933b164c05
Signed-off-by: Iliyan Malchev <malchev@google.com>
iboverlay/overlay.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
c9829cd9259d17126c7a100f864ee686a7051745 13-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Add non-zero checks. Move warning log.

Add check for presence of non-zero number of layers.
Move the "composition after powerdown" log under that check.
Move the caching of dpy under list non-null check.

Change-Id: I99b9293e671a15ba1fb31692e30413d2bbd97867
ibhwcomposer/hwc.cpp
9171ec698c218df6eec5c91fe438f8b5ae4ff79f 13-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Add non-zero checks. Move warning log.

Add check for presence of non-zero number of layers.
Move the "composition after powerdown" log under that check.
Move the caching of dpy under list non-null check.

Change-Id: I99b9293e671a15ba1fb31692e30413d2bbd97867
ibhwcomposer/hwc.cpp
e8952576dd4e3b205d66d60acd504370308989ef 13-Sep-2012 The Android Automerger <android-build@android.com> merge in jb-mr1-release history after reset to jb-mr1-dev
e557e6e8e887c65a61f75f712101abc10b589b35 11-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> fb: Remove extra PUT_VSCREENINFO call.

Remove the extra PUT call during system startup.

Change-Id: I29287af2ee5610e749ac481c2832f41d7381ca59
ibgralloc/framebuffer.cpp
aa537df10d8350d20b9a1bfed8d3f73104634d73 12-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Add some debug and warning logs.

Add debug logs for blank, unblank and warning logs for composition on powerdown.

Change-Id: I184a9503a26d401cf70e072815603a47d3972eed
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_utils.h
127177cdde97f983cdaa8149f9395754315eee37 10-Sep-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> libgralloc: remove pid checks

These pid checks seem to have been left over from PMEM days.

Change-Id: I1e504bc889b90d8fed6e0be47fd21d1e3f42c50b
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
139e162e3457f86a7b4a6b4927c75c477ef98100 10-Sep-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> libgralloc: remove pid checks

These pid checks seem to have been left over from PMEM days.

Change-Id: I1e504bc889b90d8fed6e0be47fd21d1e3f42c50b
ibgralloc/gralloc_priv.h
ibgralloc/mapper.cpp
799a39759ba03b08cb96ffb4bb7a2359a2959d93 01-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> display: Enable MDP pixel repeat on MDP Composition.

This change sets MDP_BACKEND_COMPOSITION flag during
MDP composition to enable pixel repeat in MDP H/W

Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Change-Id: Ibc04878831c84e1e1fd0ace7c185bddce9b7ab7f
ibhwcomposer/hwc_mdpcomp.cpp
iboverlay/overlayUtils.h
1023ce2fdd0c7d82b70d075757503a9ff3eee2a6 06-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: video: Create crop and position structs only once.

Create crop and position structs only once.
Fix bug where x and y were not updated.

Change-Id: I7c6a873ba207997baa302b8999bdaf34cc938dba
ibhwcomposer/hwc_video.cpp
ae1044e0cbab8d26851782e85525ee9e0e6127e6 22-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> Overlay: Change MDP format for YV12 buffers

Android uses different alignments for YV12 buffers.
Hence, introduce a new format (MDP_Y_CR_CB_GH2V2) for
such buffers.

Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Change-Id: Id4d58dd77f22c9efb8ece9caa34a8717964bf58d
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
9c876d9f8c446aaf01cf8dc3a2cd5cff48dc3585 26-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> overlay: Remove OVASSERT from getFormatString utility

Remove OVASSERT from getFormatString utility. OVASSERTS should happen only from
critically wrong states of overlay.
Just failing in this utility method would allow a fall back to GPU.

Change-Id: I4467a750574ee90aee4fa2e0fbb041e7f386a63b
iboverlay/overlayUtils.h
aedf2368849a863c651fdbb553ffa2eab007a762 05-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> gralloc: Check for HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED

Check for HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED before assigning format based
on usage bits.

Change-Id: Ie140f3f8a7002febc2fab729686d646b349c3b75
ibgralloc/gpu.cpp
79cf7c7454525ead0d47d5daded06d17d0d04282 05-Sep-2012 Shuzhen Wang <shuzhenw@quicinc.com> Gralloc: Fall back to HW_CAMERA_WRITE if HW_VIDEO_ENCODER is not set.

In both video encoding and camera preview cases, HW_CAMERA_WRITE will
be set. This is a hack so that if HW_VIDEO_ENCODER is set, allocate
NV12 format; otherwise, allocate NV21 format.

Change-Id: I61dc96b125e026159f55048cb79783578832460a
ibgralloc/gpu.cpp
661a58f851b67427ab55e65610fb9173562c7043 31-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Do not create copybit.

Do not create copybit instance.
Fix copybit init and deinit sequence.

Change-Id: Ia669f4cc89c85294a040400a750aa72a93e579b8
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_utils.cpp
2e2798c71ad66cef2bd82967058c88f85d3501a8 30-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix fps calculation.

Fps is returned directly by the driver. No need of additional calculations.

Change-Id: I17bed4347f094b71340ca39e37b66fbcf9fdba9c
ibhwcomposer/hwc.cpp
f395d09031d07ea4836f4c6e0e597aee1830bac6 27-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwcomposer: keep secure content in an overlay when below skip layer

Secure content can not be displayed unless in an overlay. Since
getLayerStats marks all layers under the skip layer for framebuffer
composition, when there is a skip layer on top of protected content,
the protected content disappears since surfaceflinger doesn't draw
protected layers.

Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Change-Id: I59dd5dffad08dbf578baa459f5f4c726b6674c83
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
b121e140e51d0dfcd4885289d56fb54b4d0d8e6e 21-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> liboverlay: Adjust values to align with MDP requirement

For YUV only:
Crop rectangle (src_rect) needs to be even for x/y and w/h
Destination dst_rect w/h need to be even (x/y can be odd).

Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>

Change-Id: Ib0c1b7d31773e71d60f080b4beacaa68e32a990e
iboverlay/overlayMdp.cpp
iboverlay/overlayUtils.h
df727717e8430a4ea2252747f15d40dfe07d0737 23-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Unlock prev. buffers in N+1th draw round.

Unlock previously locked overlay buffers in N+1th draw round, rather than N+2th.
This is now possible because of wait for PAN.
Provides an opportunity to improve genlock behavior.

Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>

Change-Id: I13d9c39e276918c3d3d27b2f07ed486b27b58441
ibhwcomposer/hwc.cpp
fc2acbe75484dea7197b75d0ef9889f78398b06b 18-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc/fb/overlay: wait for fbpost and pan display

Draw sequence in hwc_set
--eglSwapBuffers
--wait for fb_post. Its ok to draw to External only at this point.
--draw to external | Parallel with PAN
--commit to external | Parallel with PAN
--wait for pan (happening in fb_post) to finish.

Call MSMFB_OVERLAY_SET ioctl only when params change.

These thing together ensure a correct sequence and should fix tearing and
stuttering, the latter assuming there are no other display pipeline delays.

Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>

Change-Id: Ibb0ad8485fa6b30dc6ac07ae8b25a760941c08ce
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
iboverlay/overlayMdp.cpp
94822ee87c6b3de1af7ca25c04f868f7e29e4ca2 18-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> liboverlay: Changes in getting FrameBufferInfo on MDSS.

- MSMFB_OVERLAY_GET does not need to be called.
- MDSS always supports border fill.

Acked-by: Sushil Chauhan <sushilchauhan@codeaurora.org>

Change-Id: I04afc5119b2467eb026b11b6f558cca21b5454c7
iboverlay/overlayUtils.cpp
e012f7ad3026349c5a6edafbd550cd83655b99d5 19-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> liboverlay: Add support for MDSS Rotator.

Acked-by: Sushil Chauhan <sushilchauhan@codeaurora.org>

Change-Id: I60a2b0ce2b491d03b2b1a04966113e253b7f3dd8
iboverlay/Android.mk
iboverlay/mdpRotator.cpp
iboverlay/mdssRotator.cpp
iboverlay/overlayMdp.h
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayUtils.h
59802500bc68ec349bd2ac2e3a01daa94c81a88a 21-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> gralloc: Support camera and video encoder flags

- Set private flags for these formats so that the camera HAL
can differentiate between the allocated buffers.
- Usage flags define format

Change-Id: Ib3cfad12ab2ba79662207609138633769b1504e6
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gralloc_priv.h
3be78d9816da84e48a40232165189f9deb16808f 22-Aug-2012 Jesse Hall <jessehall@google.com> Update for cleanups in hwc interface

Also store the hwc_procs_t* into a dedicated field instead of one of
the hwc_composer_device_1_t::reserved_procs slots, which are supposed
to be NULL so the structure can be extended without breaking backwards
binary compatibility.

Change-Id: I11e6bc713958d854aba418242caa749cbcb21f1d
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_external.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
8e1ae95d9dd49199bba1d7343ac7ffb842ddd10b 15-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> liboverlay: ensure open fd's are always closed

Ensures that reset and mFd.Close is always called when MdpCtrl
and MdpData are closed down.

Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>
Change-Id: I775ba7cfe45c67e6acf874e3f4e8b4fa6fbe33b8
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
83523d815791832a90cd689d1796522589ade7fe 16-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: qbuf: Add API to unlock all

Add API to unlock all current and previous buffers.
This is essential in suspend cases.

Change-Id: I61c26db2e0e2b3e5e7f526a62a56424a8632f1d8
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_qbuf.h
b45b881fe69717e010ea5ea3f5965e084f31573a 19-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwcomposer : Disable bypass, when connected to external display

Change-Id: I3690e2145967e95a4a8c2fdb5ced34fef6eba639
Acked-by: Ravi Kumar Neti <c_rneti@qualcomm.com>
ibhwcomposer/hwc_mdpcomp.cpp
a73738dc7058df8821807b42a43c289e372136b8 10-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> Overlay: Switch the flip for MDP, on 90 rotated source

Camera client doesn't factor in the 90-rotated source when setting the flip
Switch the flips when the source is 90-rotated.

Change-Id: Ia5f18afff4384a33b8ad2ca051be1a120aefa4d5
Acked-by: Kinjal Bhavsar <kbhavsar@codeaurora.org>
iboverlay/overlayMdp.cpp
iboverlay/overlayRotator.cpp
iboverlay/overlayUtils.h
5c5ca0ca17981a07df315568a584902411b27f4c 12-Aug-2012 Sungmin Choi <sungmin.choi@lge.com> disable led while charging

Fixes b/6970382

Change-Id: Idb823059424a0fa1f6382dc01d56c6c4f668c45c
iblight/lights.c
d57c7d55c9aef7fdae6c47bf03d84a3122b80847 03-Aug-2012 samin.ryu <samin.ryu@lge.com> led: add blink feature and remove specific values

Change-Id: I3a9ea70f972c2a12d584e557294ef8c47f7a3f12
iblight/lights.c
fb4cbddd0b33e8800e2a6b935e5be5ad62a1756b 17-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> libhwcomposer: Reset composition types on idle timeout.

SurfaceFlinger re-creates HWC worklist only for new frame and on layer geometry
change. Invalidate triggered by idle timeout refreshes the existing worklist
retaining its previous composition type. So its MDP comp's responsibility to
clear layer composition types to HWC_FRAMEBUFFER on timeout.

Change-Id: I2407c44f6aa3b11365586364e5865ae629d5326a
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
934790c2fc35a02925f7abd872f16d3baa628712 17-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Call blank ioctls

The blank ioctls were never called, we were relying on
the driver to implicitly do this on suspend/resume.
Fix this by calling blank with the right parameters.

Change-Id: Ib969c4e55d9f460255750f07aecefb04a310bd7a
ibhwcomposer/hwc.cpp
51df92ad0726a419494465752bdd53eaebf91ee3 15-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Calculate orientation based on framebuffer info

Change-Id: I6c2b6e2f6b5f701bea3b4e49a4e28c66f79a3f5a
ibhwcomposer/hwc_uimirror.cpp
c3f033cec4efecedaecf3d53ae085db10baaf8a4 12-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> Revert "hwc: Fallback to GPU for video playback usecase"

This reverts commit e217fbfb09b0ead3689d542da3ad651fc6c4f5c7.
ibhwcomposer/hwc.cpp
9edd17cc64d8943da67b8c8a5c4ee8e852d2d896 16-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Fix reserved field usage

Use the top 16 bits of reserved[3] for HDMI
and the bottom 16 for FPS. A follow up patch
in the MDP driver will get rid of reserved field
usage entirely.

Change-Id: Ic9f7a2f91b46b0dec830ea54784b7775009fbe48
ibgralloc/framebuffer.cpp
ibhwcomposer/hwc_external.cpp
5b6708ac87dc9681b3dd142b82702a8b995c6e22 02-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Update to new API

* Updates HWC to use the Jellybean MR1 API
* Remove qcom_ui which was using parts of the old API

Change-Id: I663363547b193d2318aae88f2256a9baed1e3d4b
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_extonly.h
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
ibqdutils/qcom_ui.cpp
ibqdutils/qcom_ui.h
b90d091c75095399d38f96901357902b827c7647 31-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Compile for mako, disable copybit route

Change-Id: I147b50dbedd9d52c715982f911be5c9ac0e267f1
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibqdutils/idle_invalidator.cpp
45a9960377b09b1f72fe0c7ed662f1e0110e2d68 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> libhwcomposer: Add C2D support to copybit

Change-Id: I2f2c915bb92d5c459428078149a9709356ae83f1
Acked-by: Neti Ravi Kumar <ravineti@codeaurora.org>
ibcopybit/copybit_c2d.cpp
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
31278ad52f0093f56103629cd04479c63cfa8bb2 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwcomposer: fix the bug in setting connected status to ext display

the hdmi driver can send change uevent anytime, in which case, the
connected state was getting set to 0, due to its default value.

Change-Id: I862a120a6f36eb788f1e28d0f0650d924ff4f83a
Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>
ibhwcomposer/hwc_uevents.cpp
1ddf366c267e01dbb7ac736d9c40272d5541b724 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> liboverlay: Remove waitForVsync, getOvPipeType APIs

Remove waitForVsync support.
Vsync will be done explicitly by clients outside of overlay.

Remove support for the unused getOvPipeType API.
Remove redundant state checks in class Overlay

Change-Id: I8b35d7868bb46b0be755833dc8f28a158d3ff104
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_video.cpp
iboverlay/mdpWrapper.h
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrlData.h
iboverlay/overlayImpl.h
iboverlay/overlayMdp.h
iboverlay/overlayUtils.h
iboverlay/pipes/overlay3DPipe.h
iboverlay/pipes/overlayGenPipe.h
iboverlay/pipes/overlayUIMirrorPipe.h
iboverlay/pipes/overlayVideoExtPipe.h
af49e215a25836415898119f3d17c7db785d5dbd 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> liboverlay: Update format translation.

Update format translation from HAL to MDP.
Add support for RGB_888, YCbCr_444_SP, YCrCb_444_SP formats.

Change-Id: Ic3f0ff96a8f587feaa82b5dd80fb52aa53199495
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
iboverlay/overlayUtils.cpp
69476312cb91682f7425cd87b952a389cfdc6cda 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: video: Update destination x, y

Update destination x, y after an out-of-bounds video's bounds are recalculated
for crop and destination position.

Change-Id: I2d88fae76641b2f03dc5277f0f930b5d64561ec0
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
ibhwcomposer/hwc_video.cpp
c72e7dc6bf568fe5e6652da6934de3d1b7d5bd99 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> HDMI: Fallback to MM heap.

- IOMMU heap is not available for all targets. we should
have a fallback heap always as IOMMU can be disabled.

Change-Id: I8fa265a50004550baccb0fe803c957529886ba0b
Acked-by: Prabhanjan Kandula <pkandula@codeaurora.org>
iboverlay/overlayMem.h
4c588a200c537224d4eb5f63fb0a88f791511ff2 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for external-only layers

Add support for different types of external-only layers
EXTERNAL_ONLY: General purpose
EXTERNAL_BLOCK: Blocks the display of other ext-only layers
EXTERNAL_CC: Used for closed captions with videos.

Change-Id: I9cc7b9a1dbf1085194725474d6a4d1094e27a0c8
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
ibgralloc/alloc_controller.cpp
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_extonly.cpp
ibhwcomposer/hwc_extonly.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/overlayState.h
2cc53dd510a5e1ffaaac8493b1ff65a908df6c13 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> overlay: Refactor State Transitions.

Refactor transitions by templatizing to have default behavior for most cases
and full specializations for specific cases.
Partial specialization of functions is not allowed, so create templatized
intermediate functions for those use cases.
For ex: if we have 8 states, we don't need 8x8 transition handlers.

Add and define OV_DUAL_DISPLAY state.
Add a GenericPipe for subtitles to OV_2D_VIDEO_ON_PANEL_TV state.
Add a 2D_VIDEO_ON_TV state and its transitions.

Change-Id: I064cf813c43c3e3736800fbd465c6f1aa9b3a2d3
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
ibhwcomposer/hwc_video.cpp
iboverlay/Android.mk
iboverlay/overlay.cpp
iboverlay/overlayState.h
iboverlay/overlayTransitions.cpp
iboverlay/overlayUtils.h
96c4c95d48dc075196c601b30a8798a262df9720 26-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Get panel type from framebuffer

Change-Id: I3b7cb78d7c6019482ae698b30d553ca782f5022b
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
7c958d445fe88a82eedbd1b887cd1e474a7526b1 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> display: Add support for MDP Composition

This change
1) implements MDP Composition upto 3 layers
2) adds invalidator support to fall back to FB
composition during idle screen condition.

Change-Id: I55f27321fd0df096b353d66aaad1cc720cd4b84b
Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_mdpcomp.cpp
ibhwcomposer/hwc_mdpcomp.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqdutils/Android.mk
ibqdutils/idle_invalidator.cpp
f8ec162999478a3f96dd945831f7c2913a4d3cff 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: enable vsync for external display

- wait for hdmi vsync when connected to hdmi
- add commit to call PANDISPLAY for updating ext display
- add functions to close fb and reset info

Change-Id: I49afbeb85935b111055a872b29a1f65d87ab72c9
Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_external.cpp
ibhwcomposer/hwc_external.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_uimirror.cpp
72cf9762f84aab07faab86e35fe830b63ec54d72 21-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Enable vsync

* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
- Move copybit specific functions to copybit files.
- Cleanup verbose logging.

Change-Id: I36936e4b0a082cfb0347d8ee7d2bc936e01808e6
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_copybitEngine.h
ibhwcomposer/hwc_ext_observer.cpp
ibhwcomposer/hwc_ext_observer.h
ibhwcomposer/hwc_external.cpp
ibhwcomposer/hwc_external.h
ibhwcomposer/hwc_qbuf.h
ibhwcomposer/hwc_uevents.cpp
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
31da0b1f44d5ff8f95be2b440df3cdd8c5c396d4 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> display : Add support for copybit composition

This change add support for copybit composition in display HAL
for MDP3 targets.

Change-Id: I9bc8e40f624b0760f4faa223cb03a13695611bb3
Acked-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
ommon.mk
ibcopybit/copybit.cpp
ibcopybit/copybit.h
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_copybit.cpp
ibhwcomposer/hwc_copybit.h
ibhwcomposer/hwc_copybitEngine.h
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ad766cd2d88073a5f7e56b24bc82eb638e45ed3f 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> gralloc: Update Yamato format to match OMX

The value of OMX color format for Yamato is 0x7FA30C01.

Change-Id: I2efead43b4b478206b49dcec158b878bb933d72b
Acked-by: Arvind Thatikonda <arvindt@codeaurora.org>
ibgralloc/gralloc_priv.h
e217fbfb09b0ead3689d542da3ad651fc6c4f5c7 26-Jul-2012 Ajay Dudani <adudani@codeaurora.org> hwc: Fallback to GPU for video playback usecase

Change-Id: I0496f709f184d0420cd976056f74f26bb1bbdba1
ibhwcomposer/hwc.cpp
b16edac51020832b4049b6709df12346b40d20d9 16-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Fix warnings, make warnings as errors

Change-Id: I61f22765b04112be48e62135db930c415c9c7d37
ommon.mk
ibcopybit/copybit.cpp
ibcopybit/copybit_c2d.cpp
ibgralloc/alloc_controller.cpp
01d3fd3318a767e6ba75492ed08d57896df95d63 15-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Clean up gralloc

* Remove pmem and ashmem implementations
* Remove usage of RefBase
* Reduce log verbosity

Change-Id: If8ef543d236e5305bd5430f4f9c62c51b3a13787
ommon.mk
ibcopybit/copybit.cpp
ibcopybit/copybit_c2d.cpp
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
ibgralloc/ashmemalloc.cpp
ibgralloc/ashmemalloc.h
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ionalloc.cpp
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
ibgralloc/pmem_bestfit_alloc.cpp
ibgralloc/pmem_bestfit_alloc.h
ibgralloc/pmemalloc.cpp
ibgralloc/pmemalloc.h
iboverlay/overlayMem.h
0c8b7b5c841a7fad5df11b7e02d7cd792cfcc734 20-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> hwcomposer: Add support for UI mirroring

- Uevent observer as part of Hwcomposer
- HPD, enabling/disabling external display from HWC

Change-Id: I52b4f30c78e98c5b52c86722046389f458c2dbee
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_ext_observer.cpp
ibhwcomposer/hwc_ext_observer.h
ibhwcomposer/hwc_uimirror.cpp
ibhwcomposer/hwc_uimirror.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
iboverlay/overlayUtils.cpp
f48aef64b218d42bd2ede62dcb03a3d7831ebbf9 20-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> liboverlay: Refactor, bug-fixes, upgrade.

* Fix memory leak during copying pipe objects.
* Remove unused / unnecessary code.
* setMemoryId API is merged with queueBuffer.
* setParameter API is setTransform now.
* Rotator upgraded to:
--Allow different rotator hardware types.
--Remove dependency on MDP code.
--Allocate memory only during first playback,
close when the associated pipe is closed.
* Have single commit implementation.
* Include new format types.
* Remove WAIT and CHANNEL enums and usage. Replace BypassPipe with
GenericPipe. Client expected to set alignments and parameters.
Add transform combination enums.
* Allow APIs to be called in any order. Do transform calcs in commit.
Move ext type setter and getter functions.
* Add calculations for 180 transform.
* Add secure session support in rotator
* Implement all rotations in terms of H flip, V flip and 90 rotation.

Change-Id: I34a9a2a0f1255b3467a0abbaa254d0b584e901ce
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_overlay.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwc_video.cpp
ibhwcomposer/hwc_video.h
iboverlay/mdpWrapper.h
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayImpl.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMem.h
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayState.h
iboverlay/overlayTransitions.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlay3DPipe.h
iboverlay/pipes/overlayBypassPipe.h
iboverlay/pipes/overlayGenPipe.h
iboverlay/pipes/overlayHdmiPipe.h
iboverlay/pipes/overlayUIMirrorPipe.h
iboverlay/pipes/overlayVideoExtPipe.h
8831816879bf525f5a752e9911fb85fa88b7d493 13-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> framebuffer: Fix locking

The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
a4f41fae325499e6dcde7b6be4984bd9c28d96d3 02-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> gralloc: Fix msm_ion include

Change-Id: Ibbd93a14fca7c13f71ff2bb74a5ce14bd24cbe9c
ibgralloc/ion_msm.h
ibgralloc/ionalloc.h
4d35af868a667e7792cf54a62ded8df85ece8d03 12-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Clean up makefiles

Move common includes and shared libraries to
a common location

Change-Id: I0427f0f98b4c039a691be0ef6f3deead2b4bfa02
ommon.mk
ibcopybit/Android.mk
ibgenlock/Android.mk
ibgralloc/Android.mk
ibhwcomposer/Android.mk
iboverlay/Android.mk
ibqdutils/Android.mk
ibtilerenderer/Android.mk
a87da60090f55b823ee999930b381daa3dbda67e 02-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Add QC Display utils

* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison

Change-Id: I9a3f440e6b0fea1cfcc478ddca90af5df3bbb897
ndroid.mk
ibgralloc/Android.mk
ibgralloc/alloc_controller.cpp
ibgralloc/framebuffer.cpp
ibhwcomposer/Android.mk
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_overlay.cpp
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibqcomui/Android.mk
ibqcomui/qcom_ui.cpp
ibqcomui/qcom_ui.h
ibqcomui/qcomutils/IdleInvalidator.cpp
ibqcomui/qcomutils/IdleInvalidator.h
ibqcomui/qcomutils/comptype.h
ibqcomui/qcomutils/profiler.cpp
ibqcomui/qcomutils/profiler.h
ibqdutils/Android.mk
ibqdutils/comptype.h
ibqdutils/idle_invalidator.cpp
ibqdutils/idle_invalidator.h
ibqdutils/mdp_version.cpp
ibqdutils/mdp_version.h
ibqdutils/profiler.cpp
ibqdutils/profiler.h
ibqdutils/qcom_ui.cpp
ibqdutils/qcom_ui.h
30621ab602d0ad00d6b50570e0943eae10c64012 26-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> display: Use single thread for FB post.

To support swapinterval zero a separate thread
was added to do the framebuffer post. Since we
are going to support the WAITFORVSYNC ioctl in HWC,
we can handle the zero swapinterval case there.

Change-Id: I39f960825ca4173f99a9895e0c132b70a7adccab
ibgralloc/Android.mk
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
00fd6a573e691f62d03483a0542d630100a851af 04-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Enable triple framebuffers

Change-Id: I323c10b939277477f724c2d0a20f9c6da4899481
ibgralloc/Android.mk
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
b514889338b512bdb2550f93c5514af2f1580866 03-Jul-2012 Sungmin Choi <sungmin.choi@lge.com> add light hal module

- initial version
- control lcd backlight
- control red, green, blue

Change-Id: Ibd24dcee3a739111f9eb6a7717b76754875da36e
ndroid.mk
iblight/Android.mk
iblight/NOTICE
iblight/lights.c
f5c98d1ca46351fab43a91bf564b3486169c3074 30-Jun-2012 Iliyan Malchev <malchev@google.com> hardware/qcom/display: fix build for other targets

Change-Id: I00ac616975dcedef9bbdd48be82baaa1f1674667
Signed-off-by: Iliyan Malchev <malchev@google.com>
ndroid.mk
26145b899981b4776c627f3c5713f7f3bc910dd9 27-Jun-2012 choongryeol.lee <choongryeol.lee@lge.com> gralloc : apply kernel 3.4 fb screeninfo type

Since fb screeninfo type is changed in kernel 3.4,
fb ioctl is not work correctly without this patch.

Change-Id: I5d673b78bd9a1680daf77256a7d31bc78d75cda7
ibgralloc/framebuffer.cpp
3b4cee666da166eb118f4e0e5cd6ad2c6593068a 22-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> liboverlay: Fix format masking

The format was masked earlier for interlaced
videos and 3D content. Remove this masking

Change-Id: Ia167ef5ca6405fcb430f7e1ae453092de3597c4a
iboverlay/overlayUtils.h
ed670145bef9f26a3cc3dec62383875a50d24db2 21-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> genlock: Update version to match release on CodeAurora Forum

Change-Id: Ia45afc73723a9abc1cd55da8a8d0013c171b9855
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
ibgenlock/genlock.cpp
ibgenlock/genlock.h
65f16566210422e4fd3b7e6bbedaae22d67fc281 16-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> gralloc: Update YUV420 SP tiled format to match OMX

The value of OMX color format for YUV 420 SP tiled is 0x7FA30C03.
Add this format and also remove masking for interlaced videos
and S3D which were causing the format to be masked incorrectly

Change-Id: I76fe5e6e00a36130b065c5d88a8f52eebcfa162b
ibgralloc/gpu.cpp
ibgralloc/gralloc_priv.h
29a26818d7294055539167b2fbfdaa168bcf725c 14-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> qcom/display: Update HALs

- Update the display HAL from Code Aurora Forum
- Add updated overlay library
- Enable HWC with basic video going through overlay
- Cleanup some files

Change-Id: I65c687c51be458cee71213c79e03eeda962d9086
ndroid.mk
ibcopybit/Android.mk
ibcopybit/MODULE_LICENSE_APACHE2
ibcopybit/NOTICE
ibcopybit/c2d2.h
ibcopybit/copybit.cpp
ibcopybit/copybit.h
ibcopybit/copybit_c2d.cpp
ibcopybit/copybit_priv.h
ibcopybit/software_converter.cpp
ibcopybit/software_converter.h
ibgenlock/Android.mk
ibgenlock/genlock.cpp
ibgenlock/genlock.h
ibgralloc/Android.mk
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
ibgralloc/ashmemalloc.cpp
ibgralloc/ashmemalloc.h
ibgralloc/fb_priv.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gr.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ionalloc.cpp
ibgralloc/ionalloc.h
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
ibgralloc/pmem_bestfit_alloc.cpp
ibgralloc/pmem_bestfit_alloc.h
ibgralloc/pmemalloc.cpp
ibgralloc/pmemalloc.h
ibhwcomposer/Android.mk
ibhwcomposer/external_display_only.h
ibhwcomposer/hwc.cpp
ibhwcomposer/hwc_overlay.cpp
ibhwcomposer/hwc_qbuf.h
ibhwcomposer/hwc_utils.cpp
ibhwcomposer/hwc_utils.h
ibhwcomposer/hwcomposer.cpp
iboverlay/Android.mk
iboverlay/mdpWrapper.h
iboverlay/overlay.cpp
iboverlay/overlay.h
iboverlay/overlayCtrl.cpp
iboverlay/overlayCtrlData.h
iboverlay/overlayImpl.h
iboverlay/overlayLib.cpp
iboverlay/overlayLib.h
iboverlay/overlayLibUI.cpp
iboverlay/overlayLibUI.h
iboverlay/overlayMdp.cpp
iboverlay/overlayMdp.h
iboverlay/overlayMem.h
iboverlay/overlayRotator.cpp
iboverlay/overlayRotator.h
iboverlay/overlayState.h
iboverlay/overlayTransitions.cpp
iboverlay/overlayUtils.cpp
iboverlay/overlayUtils.h
iboverlay/pipes/overlay3DPipe.h
iboverlay/pipes/overlayBypassPipe.h
iboverlay/pipes/overlayGenPipe.h
iboverlay/pipes/overlayHdmiPipe.h
iboverlay/pipes/overlayUIMirrorPipe.h
ibqcomui/Android.mk
ibqcomui/qcom_ui.cpp
ibqcomui/qcom_ui.h
ibqcomui/qcomutils/IdleInvalidator.cpp
ibqcomui/qcomutils/IdleInvalidator.h
ibqcomui/qcomutils/comptype.h
ibqcomui/qcomutils/profiler.cpp
ibqcomui/qcomutils/profiler.h
ibtilerenderer/tilerenderer.cpp
ibtilerenderer/tilerenderer.h
06ff498a7c658fc79f293bd1d61a9fb58a6549d9 12-Jun-2012 Iliyan Malchev <malchev@google.com> remove dependency of libqcomui on libskia

Said dependency was being used to generate a PNG image in a dump() call.
Commenting out for now.

Change-Id: Ia7b4667ead15365757726a6b0ff7dd62c09bfeb0
Signed-off-by: Iliyan Malchev <malchev@google.com>
ibqcomui/Android.mk
ibqcomui/qcom_ui.cpp
202a77d28ac251545f6f998a974690212309b927 11-Jun-2012 Iliyan Malchev <malchev@google.com> initial GL libraries for msm8960

Change-Id: I16451c70a079894ac326d3564d96f1fbafcd4f1b
Signed-off-by: Iliyan Malchev <malchev@google.com>
ndroid.mk
ibgenlock/Android.mk
ibgenlock/genlock.cpp
ibgenlock/genlock.h
ibgralloc/Android.mk
ibgralloc/MODULE_LICENSE_APACHE2
ibgralloc/NOTICE
ibgralloc/alloc_controller.cpp
ibgralloc/alloc_controller.h
ibgralloc/ashmemalloc.cpp
ibgralloc/ashmemalloc.h
ibgralloc/framebuffer.cpp
ibgralloc/gpu.cpp
ibgralloc/gpu.h
ibgralloc/gr.h
ibgralloc/gralloc.cpp
ibgralloc/gralloc_priv.h
ibgralloc/ion_msm.h
ibgralloc/ionalloc.cpp
ibgralloc/ionalloc.h
ibgralloc/mapper.cpp
ibgralloc/memalloc.h
ibgralloc/pmem_bestfit_alloc.cpp
ibgralloc/pmem_bestfit_alloc.h
ibgralloc/pmemalloc.cpp
ibgralloc/pmemalloc.h
ibhwcomposer/Android.mk
ibhwcomposer/external_display_only.h
ibhwcomposer/hwcomposer.cpp
iboverlay/Android.mk
iboverlay/overlayLib.cpp
iboverlay/overlayLib.h
iboverlay/overlayLibUI.cpp
iboverlay/overlayLibUI.h
ibqcomui/Android.mk
ibqcomui/qcom_ui.cpp
ibqcomui/qcom_ui.h
ibtilerenderer/Android.mk
ibtilerenderer/tilerenderer.cpp
ibtilerenderer/tilerenderer.h
07966eed60158efefeb39f82eab9b5bbc75f84f2 11-Jun-2012 Chad Jones <chadj@google.com> Initial empty repository