History log of /hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4157ee3f6fb20e0a249b9eedc06f3b16785ba31b 02-Sep-2014 Iliyan Malchev <malchev@google.com> hwc: rename logging macros: TRACE --> LOGTRACE

find . -type f -a \( -name \*.c -o -name \*.cpp -o -name \*.h \) \
-exec sed -r -i -e 's/([ADEITVWX])TRACE/\1LOGTRACE/g' {} \;

In preparation for instrumenting HWC with ATRACE tags.

Change-Id: I172a48bd86a711b67e67d44a8d47da6b8e67b56d
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
cd727f537d5085eec7f1b8f9c1d33922d4de75d4 24-Jul-2014 Prodyut Hazarika <prodyut.hazarika@intel.com> Change license headers to Apache

BZ: 209178

Change-Id: I4933f49129b085ef5a76c28ae4a775cef5b1b636
Signed-off-by: Prodyut Hazarika <prodyut.hazarika@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
0594c42af26255fd8d3d7d39c0cb0e2da5b8841b 14-Jul-2014 Thierry Strudel <thierry.strudel@intel.com> AOSP: cleanup include paths and warnings

BZ: 209178

Include header file from top of module only
Move makefiles to top of module
Fix all warnings and enable -Werror

Change-Id: I6921b41d5512a81aaeb167383b9392efbae275bf
Signed-off-by: Thierry Strudel <thierry.strudel@intel.com>
Reviewed-on: https://android.intel.com/217843
Reviewed-by: Imberton, Guilhem <guilhem.imberton@intel.com>
Tested-by: Imberton, Guilhem <guilhem.imberton@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
1b7d29a3e8fa94e87a803f534701143b519edb6b 06-Jun-2014 Sandeep Ramankutty <sandeepx.ramankutty@intel.com> widi: Fix crash in hwcomposer during long video playback

BZ: 200546

There was a synchronization issue during map and unmap in
BufferManager.cpp. When CachedBuffer is destroyed, it unmaps the mapper.
Before unmap() completes, a new CachedBuffer is created and executes map().
getMapper returns the same mapper from mBufferPool as it is still not unmaped.
After this, the unmap() function unmaps this mapper. mPayloadManager->getMetaData()
uses this mapper and this results in a crash.

Crash was not seen after synchronizing the map() and unmap() functions.

Change-Id: Ibb0339aa90c167f04336c23c72eb104747e1644b
Signed-off-by: Sandeep Ramankutty <sandeepx.ramankutty@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
6db7b748f82dc0330c026c7ffa9ad6d8cda24517 27-Nov-2013 Zhi Jin <zhi.jin@intel.com> Fix the double unmap when the buffer map fails

BZ: 148817

When the buffer map fails, it is not right to unmap it again.
Otherwise, the buffer will be unmapped twice, and may cause ipanic.

Change-Id: I2841fbf2a3f9dfae6b2d3d2a53ae3248c189b49c
Signed-off-by: Zhi Jin <zhi.jin@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
3555e1ff071400446170ddc209bbb9fa0e40c502 26-Nov-2013 fu jin <fu.jin@intel.com> fix gtt memory leak

BZ:153733

gtt memory is not unmapped, which causes leak. This patch fix it.

Change-Id: I8b535c43cb538858f0df5e6682ee3cd119a9d0a4
Signed-off-by: fu jin <fu.jin@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
10f4b9cb650ce851d3ccf3ab100483ca264fc46e 01-Nov-2013 fu jin <fu.jin@intel.com> Use cpu address for as framebuffer handle for GTT mapping

BZ:127970

Use cpu address for as framebuffer handle for GTT mapping since meminfo handle is not supported in kernel driver

Change-Id: I1b8697080a17c280df49f4773b57cb75bcfd28a1
Signed-off-by: fu jin <fu.jin@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
9332f677fa9b02f55ff910ca08a36eb6f23030d6 01-Nov-2013 Andy Qiu <junhai.qiu@intel.com> Continue HWC initialization when AllocDevice is not available.

BZ: 148667

Missing AllocDevice is not a fatal error. Some features such as
HDMI mode setting will fail however.

Change-Id: I24074e09de3446dd26c313ecece142c5ec5022bf
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
d248396b4f48861e1e27c5e316c776121ab44938 11-Jul-2013 mamatha balguri <mamatha.balguri@intel.com> widi: Optimize widi presentation mode path

BZ: 123991

Currently BG/presentation mode video playback is streamed at local display resolution
instead of content resolution. This is resulted in unnecessary scaling and color conversions.

This patch optimizes BG mode video playback path and RGB data path if
1. There is only one RGB or NV12 layer and this layer is not in the Primary display layers
2. there is no transformation and
3. there is no blending

These optimizations are done by setting overlay flag when the above conditions are met.

If the layer is NV12, HWC sends the decoder's khandles to Widi pipeline(same as in extended mode).
If the layer is RGB, we allocate NV12 buffers to blit the RGB framebuffer into, and then
send those buffers to widi pipeline.

Signed-off-by: mamatha balguri <mamatha.balguri@intel.com>
Change-Id: Ia108f263b749087992f71be03114489e8428f20b
Reviewed-on: http://android.intel.com:8080/119106
Reviewed-by: Crabtree, Robert <robert.crabtree@intel.com>
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Tested-by: Sun, Hang L <hang.l.sun@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
3f1974031c88750a14adc8f2f49538837238abf9 26-Jun-2013 Lin Xie <lin.xie@intel.com> Support user mode HDMI timing setting

BZ: 93163

Use wsbm to wrap the gralloc buffer to ttm bo and get the bo handle.
Send fake hotplug events on timing setting.

Change-Id: Ica5777adba5c54ebaba51666a160ca23572b78bf
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Lin Xie <lin.xie@intel.com>
Reviewed-on: http://android.intel.com:8080/115535
Reviewed-by: Zhu, Tianyang <tianyang.zhu@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
569c4d797688db12498ad1b91cd9d5ed48bfcfe5 06-Jul-2013 Jackie Li <yaodong.li@intel.com> hwc: added dumpsys interface to check hwcomposer buffer usage

BZ: 121706

this patch:
1) fixed an issue introduced by patch 114052.
invalidate a plane's buffer cache when buffer cache was full.
114052 patch didn't check buffer cache size strictly which
may lead to memory leak when plane's data buffer cache is full.
This patch added check before mapping a new buffer which will
enforce cache invalidation on cache-full.
2) added a dumpsys interface to track hwcomposer buffer usage, so
that we can check buffer mappings of hwcomposer.

NOTE: still have no way to invalidate data cache of primary plane because
the async buffer flipping.

Change-Id: Iaa454b125f3f85372420ba13901a0d9752fd1e3e
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Reviewed-on: http://android.intel.com:8080/117333
Reviewed-by: Hu, Austin <austin.hu@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
eb726af21649d79ed720bdf329e0849270995c45 31-May-2013 Andy Qiu <junhai.qiu@intel.com> Miscellaneous optimization on HWC

BZ: 97852

1) new lockDataBuffer and unlockDataBuffer to avoid frequent memory allocation and de-allocation
2) move hotplug control and vsync control to HotplugEventObserver and VsyncEventObserver to make them self-contained
3) new event queue to handle hotplug event, video event and phone event
4) dynamic vsync source management can be easily disabled or enabled. (disabling it will cause UI hang)
5) eliminate using of "goto" design
6) make destructor virtual, not necessary for derived class but is a common practice
7) disable overlay use when video playback starts, to avoid potential scrambled RGB overlay
8) vsync status is committed only when it is scussefully enabled or disabled
9) fix memory leak (DataBuffer allocated but not released)
10) many other small improvements

Change-Id: I43eeb5c4ea4f991c5d68de14d4fe73ea4a55bb4c
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/113693
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
30c19aca49c615368ae3bce961c431fa901e90b9 05-Jun-2013 Andy Qiu <junhai.qiu@intel.com> Enable both kernel mode and user mode DRM settings

BZ: 114357

This patch supports both kernel and user mode settings. If mode is not set during device detection
user mode is set automatically.

This patch also optimzes device detection. Detection is performed per device base instead of on all
devices. Avoid returning pointer from Drm to solve potential threading issues during stress testing (rapid hot plug and unplug)

Change-Id: I868d67267bbf313d3793572b96839c30e1aa43d2
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/112229
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
e2ad4c047651d4442f6a0e002290016d45e9201a 28-May-2013 fu jin <fu.jin@intel.com> Extend current design for supporting future platforms

BZ: 112342

Extend current design for support future platforms:
1) flip takes context parameter
2) commitBegin and commitEnd take parameters for display contents
3) Initialize/Deinitialize of BufferManager need to be virtual
4) Move management of Primary display plane from physical device to HWC Layer list.
5) Better data buffer cache management to avoid unbound increment of cache
6) Calling deinitializer before deleting object

Change-Id: I1aea10e52ac778e101559855a1fce7c7add45336
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/110631
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
e2b2a5fe291662041d1bbec00996c2ba302dc4c9 13-Apr-2013 Andy Qiu <junhai.qiu@intel.com> Make HWC logging scalable.

BZ:100612

In current implemnention, if verbose logging is enabled there will be tons of messages printed out, which
makes it less useful for debugging purpose. We need one way to selectively enable or disable certain verbose
information.

For each log message, we also want class name and function name to be automatically pre-appended, this removes burden
of adding it manually, and enables developer to focus on key output message only.

Changes in this patch include:

1) define VTRACE, DTRACE, ITRACE, WTRACE and ETRACE, they are equivalent to LOGV, LOGD, LOGI, LOGW and LOGE
with class name and function name automatically pre-appended.
2) define CTRACE to trace function call entrance
3) define XTRACE to trace function call exit
4) CTRACE and XTRACE are turned off by default. They should only be enabled to trace deadlock, infinite loop or display freeze.
5) define ATRACE to trace function call entrance with input arguments, this is turned off by default either.

New type of trace can be defined to control output of certain type of information.

Change-Id: Iab185ad5ce407880322b2b306ea43bdb8440facc
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/101952
Reviewed-by: Hu, Austin <austin.hu@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
cf69645a7a038ffa3cb5c2fb1e38618219d8f2fe 10-Apr-2013 Jackie Li <yaodong.li@intel.com> MRFL::hwc: fixed video playback never uses overlay again after failing to get rotated
buffer from video driver.

BZ: 99458

Latest HWC impl only fallback to ST once failed to update the video layer & never
switch back to overlay even if rotated video buffer was ready.

This patch updated the error handling, so that hwc has a chance to switch back to
overlay when it detected the video layer can be updated to overlay successfully.

Change-Id: I53c5c208d06329e89464a08c0dca91200a91af4f
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/101015
Reviewed-by: Hu, Austin <austin.hu@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
e6ecdadd57e79c2218b3e6ae407f12599f33bd22 25-Mar-2013 Jackie Li <yaodong.li@intel.com> Enable refactored HWC for merrifield.

BZ: 95290

This refactored HWC replaces current HWC for merrifield under hardware/intel/mfld_cdk/hwc/merrifield.

Change-Id: I00986b24e70e33c13e5e81e8b3473a42166640a1
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Reviewed-on: http://android.intel.com:8080/98227
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp
6a6081a46a83da606cf21548879b37695adc7e1f 23-Mar-2013 Andy Qiu <junhai.qiu@intel.com> Initial version of refactored HWC, based on design from Jackie.

BZ: 95246

This is the first submission of refactored HWC, based on design from Jackie.
Build is temporarily disabled.

Change-Id: Idf6d8ab5263cfa797d9e3b93328702f486b30c43
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/97996
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Dai, Yu <yu.dai@intel.com>
Tested-by: Dai, Yu <yu.dai@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/buffers/BufferManager.cpp