summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
AgeCommit message (Collapse)Author
2021-04-01libhwc2.1: avoid race condition in FramebufferManagerWeizhung Ding
check mRmFBThreadRunning to avoid signal() function be executed before wait mutex. Bug: 183577322 Test: reboot test Change-Id: Ibf184ccca6247b659236d072a430bc8b9819c4b1
2021-03-31Merge changes from topic "dc_scene_bm" into sc-devLong Ling
* changes: libhwc2.1: HWCService: add setDisplayBrightness libhwc2.1: config brightness before displaycolor scene update
2021-03-31libhwc2.1: config brightness before displaycolor scene updateLong Ling
In order to pass brightness mode of next frame to displaycolor. Bug: 143292983 Test: Manual: HBM for HDR on/off, HBM for UDFPS on/off Change-Id: Ie046c198acadebdc14a73fa14845c8f4b616cd92
2021-03-31libhwc2.1: Subtract mCachedBuffers.size() in loop checkingWiwit Rifa'i
Since the actual deletions are moved to the end after the loop, so the size of mCachedBuffers will remain unchanged in the loop. So, we need to subtract it with the size of toErase which contains the iterators of elements that we have already considered to be erased. Bug: 170327170 Test: build locally Change-Id: I60646c91b0f188ed91ccbbb7b53af336e1f2f87b
2021-03-31Don't erase elements from mCachedBuffers until after the loop.Peter Collingbourne
A reverse iterator doesn't hold the forward iterator for the same element but rather for the following element. This means that erasing base() will invalidate the forward iterator held by the reverse iterator. To avoid this problem, move the calls to erase() after the loop. Bug: 170327170 Change-Id: I9d51c48ae1edc039ee78fc57afd5f07741d1aaf9
2021-03-25libhwc2.1: set hbm/dimming only when it's changedlinpeter
Set hbm/dimming when brightness vaule/state changed. But hbm/dimming was not changed. Only set the hbm/dimming when it's changed. Avoid to set hbm/dimming every time. Bug: 182212601 test: check set hbm/dimming when changed or non-changed Change-Id: I7a28b326224e28a73b354c51aa2fc31d553cf523
2021-03-23libhwc2.1: Add dimming control for brightnesslinpeter
Added dimming control by sysfs and DRM property. Bug: 177141990 Test: check dimming on/off Change-Id: I0243e17e8fe0e0bbbca32832a2aa30e59e2515b8
2021-03-22libhwc2.1: Add ModeSet reset during clearDisplayYongWook Shin
Sometimes old ModeSet is required to be disabled. Current ModeSet will be cleared during clearDisplay based on paramter needModeClear. Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Signed-off-by: YongWook Shin <yongwook.shin@samsung.com> Change-Id: I07aa91dcfe08b3c36686f1f495db05c7f5690c7e
2021-03-22libhwc2.1: Readback is not addressed in clear display caseHyunKyoung
Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Change-Id: Ibd58557c38644bd583b29cdb8fd093c12c16562d Signed-off-by: HyunKyoung <hk310.kim@samsung.com>
2021-03-22libhwc2.1: Remove ModeSet for preferred configYongWook Shin
During HWC initialization, it do ModeSet as preferred configuration for created Display instance. This commit removes initial ModeSet, actual ModeSet will be done by Power On sequence. Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Signed-off-by: YongWook Shin <yongwook.shin@samsung.com> Change-Id: I32885f92f738d22e9dd8ac1d2b875f4483a87eb7
2021-03-22libhwc2.1: Check if display interface is validHyunKyung Kim
This fatch removes display from mDisplays if display interface is not valid. Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I3feafe2e61edaee1deca66893f4647f4dcecd2a8
2021-03-22libhwc2.1: Support dual display in drm interfaceHyunKyung Kim
Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: Ia61312f848ed3b908a92faf2ddab6fc8a8e985cd
2021-03-19libhwc2.1: modify concept of display's type and IDSeungchul Kim
Bug: 162322019 Test: single/dual display boot to OS, and suspend/resume Change-Id: I4926f2b30abc2a9b4ddf1c47038ac7b9573213b1 Signed-off-by: Seungchul Kim <sc377.kim@samsung.com> Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2021-03-18libhwc2.1: unblock brightness to HBMlinpeter
Bug: 177140883 Test: check brightness change Change-Id: If017cdf0b808e046d353e7629444290ff6dc7251
2021-03-03libhwc2.1: Support buffer caching in drm interfaceHyunKyung Kim
HWC uses gem handle to check whether the buffer was already added. Bug: 175547461 Test: systrace to check function works Test: monitor dumpsys meminfo and composer open fd(dmabuf) to make sure there is no memory leakage Test: launch, scroll, rotation, play video, camera preview, recording, youtub, play game Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: Id12393245bbdb1a4c5121deec5a93be1e9f5382d
2021-02-25Merge "libhwc2.1: display fake edid information" into sc-devTreeHugger Robot
2021-02-25libhwc2.1: display fake edid informationlinpeter
There is no display edid information provided by DRM property. Using fake edid is for display identification data. Bug: 177140883 Test: check display ID Change-Id: If916ca4d892e2698250c179c131778d0aead92cf
2021-02-24libhwc2.1: add helper function and json liblinpeter
Add write file funciton in HWCHelper and includes json library. Bug: 168848203 test: check write func, atc default val Change-Id: Ieabe811271fc8f63a9c319bb3c11e4838f7e57aa
2021-01-13libhwc2.1: handling RGB HDR layersLong Ling
Turn on HBM instantly for RGB HDR layer. Calcuate SDR layers dim ratio. Bug: 168225512 Change-Id: I580ee87fecadb5de720b2e31606e10a4fe74457b
2021-01-13libhwc2.1: Add basic support for SBWC compression typeYichi Chen
Before SBWC compression type is defined in Gralloc metadata, HWC needs to have basic SBWC functionality support for MFC decoder. The patch skips SBWC detection since all of them are isolated from non-compressed formats. We need to correct the detection once Gralloc provides the SBWC detect function. Bug: 175381083 Test: Enable SBWC in MFC and check video playback and dump info Change-Id: I35d2adbcf0974682b9cea8e24b158b6304f05df9
2021-01-13libhwc2.1: configure brightness through sysfs or drm pathlinpeter
Write brightness to sysfs. If it required frame sync, do atomic commit for brightness. Bug: 143292983 Bug: 143293693 test: check atomic commit for brightness Change-Id: I350bae962983713c97b768c0ba431f2278bb3aec
2021-01-13libhwc2.1: add brightness propertylinpeter
Get the brightness property and setup the brightness table. Bug:143292983 Bug:143293693 test: check the brightness level and config Change-Id: Idb9cf4ae678940e65876225b4db9dd2066c2d34f
2021-01-13libhwc2.1: add brightness intf and controllinpeter
1. detect HDR layer over 50% of screen 2. add brightness interface 3. add hbm state and control logic Bug: 143292983 Bug: 143293693 test: check mode request normal or hdr Change-Id: I4f3503d15d2d4df14d363157f2a9efea4f3b8d03
2021-01-08Merge "Revert "Revert "libhwc2.1: Boot to homescreen with Gralloc 4"""TreeHugger Robot
2021-01-08Revert "Revert "libhwc2.1: Boot to homescreen with Gralloc 4""Anthony Han
This reverts commit 4d9fc7dbae7adf4b3f0d3b4dd7fd7fed87f346b7. Reason for revert: A fix for b/176948845 is available at ag/13301706. Change-Id: I05ee3d99bf48a92d066cb2eedc76eeb4777f4632
2021-01-07Merge "Revert "libhwc2.1: Boot to homescreen with Gralloc 4""TreeHugger Robot
2021-01-07Revert "libhwc2.1: Boot to homescreen with Gralloc 4"Arc Wang
This reverts commit cb213bb87a7e84528638c0c600fefeea83faebba. Reason for revert: “DroidMonitor: Potential culprit for Bug 176948845 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.”. Change-Id: Iccd0599d41fc2eba062f29e9207cf6ba97598b93
2021-01-07Merge "libhwc2.1: Boot to homescreen with Gralloc 4"TreeHugger Robot
2020-12-31libhwc2.1: update DrmConnector active mode while ActiveMode changedMidas Chien
Bug: 176478899 Test: VtsHalGraphicsComposerV2_4TargetTest Change-Id: Iec8a937e9657ed9b2455cce17aabbe640929227e
2020-12-29libhwc2.1: Boot to homescreen with Gralloc 4Seunghwan Lee
remove GRALLOC_VERSION1 check change from libGralloc to VendorGraphicBuffer Bug: 169728681 Test: Verify can boot to homescreen with DEVICE_USES_EXYNOS_GRALLOC_VERSION set to 3 and 4. When using gralloc 4, verify VtsHalGraphicsMapperV4_0TargetTest passes. Change-Id: Id2bf90dc72a5295b5becf585f5c296ca8ba0b961
2020-12-24libhwc2.1: force set display mode after exit DOZE modeMidas Chien
Doze mode now is a new display mode but it doesn't exposed to framework. Therefore the display mode need to be restored to previous or pending mode after exiting doze mode. Bug: 164139096 Test: VtsHalGraphicsComposerV2_4TargetTest Test: stress test AoD in/out, display on/off, boot Change-Id: I31ee313973530e880ee916a10f47a5a511b717cc
2020-12-23libhwc2.1: Update variables for config change using vsync timestampHyunKyung Kim
getDisplayVsyncPeriodInternal() updated mVsyncPeriod, mConfigRequetState. mVsyncPeriod, mConfigRequetState are not updated if getDisplayVsyncPeriodInternal() is not called after config change. This patch updates those variables when vsync timestamp from display driver are changed to requested refresh rate. Bug: 164139096 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I8717d6d2e707e966bf057daca4686c45be5b2707
2020-12-23libhwc2.1: Disable vsync after config change is appliedHyunKyung Kim
Bug: 164139096 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I7acd4f854b0d6ad8fc92d6c16a74f9c2575e0148
2020-12-23libhwc2.1: Get vsync applied time from display driver in drm interfaceHyunKyung Kim
Bug: 164139096 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I8b9eb043dd84c0de183d4f9654cb707ee65c6958
2020-12-23libhwc2.1: Support setActiveConfigWithConstraintsSungjun Bae
Bug: 164139096 Change-Id: I561a23c386a63b02259e373d169447b177ebfc63 Signed-off-by: Sungjun Bae <june.bae@samsung.com> Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-12-23libhwc2.1: Manage vsync timestamp, period in drm interfaceHyunKyung Kim
Bug: 164139096 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I6044cbdff4d1628e796946ec10e3cdfd9b85162e
2020-12-23libhwc2.1: Arrange config setting APIsSungjun Bae
Bug: 164139096 Change-Id: Id04f2ecdf3e04adc5726b9364e77710609c431c6 Signed-off-by: Sungjun Bae <june.bae@samsung.com> Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
2020-12-23libhwc2.1: Address vsync 2.4 callback in drm interfaceHyunKyung Kim
Bug: 164139096 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I24e713cb26f2fbe07657833fc685f11de192a49f
2020-12-15Merge changes I21d19deb,I23918f52TreeHugger Robot
* changes: libhwc2.1: Declare the compression type support for BigO formats libhwc2.1: Add basic support function for AFBC color format
2020-12-14libhwc2.1: Add basic support function for AFBC color formatYichi Chen
It is necessary to consider color format with AFBC compression type since AFBC may provide different configuration especially for YUV formats. The patch extends the basic functions in ExynosHWCHelper.cpp to include AFBC compression type while checking the HAL format. Bug: 139446002 Test: AFBC video playback with DPU composition Change-Id: I23918f526ffbe655064c08ff4ef9cc7843df9188
2020-12-11libhwc2.1: trace dpu skip layer countMidas Chien
skipStaticLayer feature is used to skip useless GLES composition in case the client composition layers aren't update. In this case HWC sets composition type to DEVICE. Add trace to know how many layers fall in this case. Also add trace to know how much time to remove FBid. Bug: 174538438 Test: systrace, perfetto trace Change-Id: If35f781122b02d24e75bfbfe37659b4292b618b2
2020-11-25Merge "libhwc2.1: Support DOZE mode"TreeHugger Robot
2020-11-25libhwc2.1: Support DOZE modeKen Huang
Modify power mode transition to support low power mode which is exposed by display driver via lp_mode connector property. Bug: 148312197 Test: suspend/resume/AoD for 50 cycles Change-Id: Idd5ce0d231716e17a044aa4c4fe7fd617db2753c
2020-11-24libhwc2.1: free blob after usedKen Huang
drmModeGetPropertyBlob() allocates a property blob pointer, so it's necessary to be released by drmModeFreePropertyBlob() after used. Test: suspend/resume/boot to home Change-Id: I33af40220c6f001cb20c3e96c520942552a5e5cb
2020-09-22libhwc2.1: Change license of header fileHyunKyung Kim
This patch removes definitions for fb interface and changes license of DeconCommonHeader.h. Bug: 149514037 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I2681cc827b69cbd09b000bb6d546fef0d1ca3b95
2020-09-22libhwc2.1: Support partial window update in drm interfaceHyunKyung Kim
Properties for partial window update was changed. Bug: 143334808 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: Iebddad72460614b6967e305d15786aa36644d1f0
2020-09-10libhwc2.1: Return correct dataspace for readbackHyunKyung Kim
Bug: 149043754 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I33b21a74f4fd148c16578371a1b8efd9dcad09b4
2020-08-11libhwc2.1: Change interface for setting colormap in drm interfaceHyunKyung Kim
This patch propagates color to display driver with plane property instead of buffer handle. Bug: 156689629 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I7aa264948aaf82791d01cb6085bd5ac6ba11c090
2020-06-25libhwc2.1: Support getDisplayIdentificationData in drm interfaceHyunKyung Kim
Bug: 156691791 Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I7f9954ea5ba4f53d688cceee732682cae1527523
2020-06-17libhwc2.1: Support SBWC format in drm interfaceHyunKyung Kim
Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com> Change-Id: I644c519a22900087814c3699ceecaee0dc49037e