aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaiyi Li <kaiyili@google.com>2024-04-11 11:41:34 -0700
committerKaiyi Li <kaiyili@google.com>2024-04-11 11:43:27 -0700
commit7c17df811920df33881f0c39fe230918686c6126 (patch)
tree2d03e70c2f6fc2a1b70f49e68b1551d9e9dc9720
parent0d4184f656b0607f94b6066f396656526f0835b1 (diff)
downloadgoldfish-opengl-7c17df811920df33881f0c39fe230918686c6126.tar.gz
hwc3: reload the property IDs on update
The EDID property ID gets shifted after the display is hot plugined. Change-Id: I2121afaffd769a0ae7eef660ccfd7995ce424478
-rw-r--r--system/hwc3/DrmConnector.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/system/hwc3/DrmConnector.cpp b/system/hwc3/DrmConnector.cpp
index 081310e3..d8906445 100644
--- a/system/hwc3/DrmConnector.cpp
+++ b/system/hwc3/DrmConnector.cpp
@@ -31,12 +31,6 @@ std::unique_ptr<DrmConnector> DrmConnector::create(::android::base::borrowed_fd
uint32_t connectorId) {
std::unique_ptr<DrmConnector> connector(new DrmConnector(connectorId));
- if (!LoadDrmProperties(drmFd, connectorId, DRM_MODE_OBJECT_CONNECTOR, GetPropertiesMap(),
- connector.get())) {
- ALOGE("%s: Failed to load connector properties.", __FUNCTION__);
- return nullptr;
- }
-
if (!connector->update(drmFd)) {
return nullptr;
}
@@ -47,6 +41,13 @@ std::unique_ptr<DrmConnector> DrmConnector::create(::android::base::borrowed_fd
bool DrmConnector::update(::android::base::borrowed_fd drmFd) {
DEBUG_LOG("%s: Loading properties for connector:%" PRIu32, __FUNCTION__, mId);
+ if (!LoadDrmProperties(drmFd, mId, DRM_MODE_OBJECT_CONNECTOR, GetPropertiesMap(),
+ this)) {
+ ALOGE("%s: Failed to load connector properties.", __FUNCTION__);
+ return false;
+ }
+
+
drmModeConnector* drmConnector = drmModeGetConnector(drmFd.get(), mId);
if (!drmConnector) {
ALOGE("%s: Failed to load connector.", __FUNCTION__);