#include <xf86drm.h>
#include <xf86drmMode.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/properties.h>
namespace android {
// First look for primary amongst internal connectors
for (auto &conn : connectors_) {
- if (conn->internal() && !found_primary) {
+ if (conn->state() == DRM_MODE_CONNECTED && conn->internal() && !found_primary) {
conn->set_display(0);
found_primary = true;
} else {
// Then look for primary amongst external connectors
for (auto &conn : connectors_) {
- if (conn->external() && !found_primary) {
+ if (conn->state() == DRM_MODE_CONNECTED && conn->external() && !found_primary) {
conn->set_display(0);
found_primary = true;
}
int DrmResources::CreateDisplayPipe(DrmConnector *connector) {
int display = connector->display();
+
+ // skip not connected
+ if (connector->state() == DRM_MODE_DISCONNECTED)
+ return 0;
+
/* Try to use current setup first */
if (connector->encoder()) {
int ret = TryEncoderForDisplay(display, connector->encoder());