aboutsummaryrefslogtreecommitdiff
path: root/DrmHwcTwo.cpp
diff options
context:
space:
mode:
authorAndrii Chepurnyi <andrii_chepurnyi@epam.com>2020-07-10 16:07:03 +0300
committerAndrii Chepurnyi <andrii_chepurnyi@epam.com>2020-09-11 16:00:02 +0300
commitadc5d8229b9ce25f1bf0e4d02bb838eae62b89fc (patch)
treed6956dd550c04b16db41e0553b350f281472969d /DrmHwcTwo.cpp
parent13cc3666c63010a4fc12568d645703bf365ccfc7 (diff)
downloaddrm_hwcomposer-adc5d8229b9ce25f1bf0e4d02bb838eae62b89fc.tar.gz
drm_hwcomposer: Fix EDID fetch from DRM
EDID fetch procedure consist of two steps: 1) get appropriate blob_id 2) fetch EDID blob using blob_id Those steps should be done sequentially, in other case drivers can update EDID and blob_id won't be actual. Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
Diffstat (limited to 'DrmHwcTwo.cpp')
-rw-r--r--DrmHwcTwo.cpp7
1 files changed, 1 insertions, 6 deletions
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 15fa324..65a317c 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -915,17 +915,12 @@ HWC2::Error DrmHwcTwo::HwcDisplay::GetDisplayIdentificationData(
supported(__func__);
drmModePropertyBlobPtr blob;
- int ret;
- uint64_t blob_id;
- std::tie(ret, blob_id) = connector_->edid_property().value();
- if (ret) {
+ if (connector_->GetEdidBlob(blob)) {
ALOGE("Failed to get edid property value.");
return HWC2::Error::Unsupported;
}
- blob = drmModeGetPropertyBlob(drm_->fd(), blob_id);
-
if (outData) {
*outDataSize = std::min(*outDataSize, blob->length);
memcpy(outData, blob->data, *outDataSize);