diff options
author | Andrii Chepurnyi <andrii_chepurnyi@epam.com> | 2020-07-10 16:07:03 +0300 |
---|---|---|
committer | Andrii Chepurnyi <andrii_chepurnyi@epam.com> | 2020-09-11 16:00:02 +0300 |
commit | adc5d8229b9ce25f1bf0e4d02bb838eae62b89fc (patch) | |
tree | d6956dd550c04b16db41e0553b350f281472969d /DrmHwcTwo.cpp | |
parent | 13cc3666c63010a4fc12568d645703bf365ccfc7 (diff) | |
download | drm_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.cpp | 7 |
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); |