drm_hwcomposer: Add GetDisplayCapabilities and getDisplayIdentificationData

Implement GetDisplayCapabilities() to get a list of supported capabilities.
The drm core doesn't support layer CTM property yet and CRTC not having the
CTM property member neither. So for this patch, we just return 0 for now.
It can fix the segment fault while booting the Android on HWC2.3, caused by
lack of this API.

Implement getDisplayIdentificationData() to get the EDID blob data
along with the size and port.
Add edid property in DrmConnector.

Signed-off-by: Lowry Li (Arm Technology China) <lowry.li@arm.com>
diff --git a/drm/drmconnector.cpp b/drm/drmconnector.cpp
index 7cde7cd..db3f9b6 100644
--- a/drm/drmconnector.cpp
+++ b/drm/drmconnector.cpp
@@ -58,6 +58,11 @@
     ALOGE("Could not get CRTC_ID property\n");
     return ret;
   }
+  ret = drm_->GetConnectorProperty(*this, "EDID", &edid_property_);
+  if (ret) {
+    ALOGE("Could not get EDID property\n");
+    return ret;
+  }
   if (writeback()) {
     ret = drm_->GetConnectorProperty(*this, "WRITEBACK_PIXEL_FORMATS",
                                      &writeback_pixel_formats_);
@@ -191,6 +196,10 @@
   return crtc_id_property_;
 }
 
+const DrmProperty &DrmConnector::edid_property() const {
+  return edid_property_;
+}
+
 const DrmProperty &DrmConnector::writeback_pixel_formats() const {
   return writeback_pixel_formats_;
 }