From: Thomas Wood Date: Mon, 28 Jul 2014 15:01:27 +0000 (+0100) Subject: lib: don't abort if forcing the connector state fails X-Git-Tag: intel-gpu-tools-1.8~104 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bb48429a6c6057b51358ce0d506916431d982897;p=platform%2Fupstream%2Fintel-gpu-tools.git lib: don't abort if forcing the connector state fails Ensure tests using igt_enable_connectors can still run even if the relevant debugfs files are not available. Signed-off-by: Thomas Wood --- diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 20370a9..740b5dd 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -429,9 +429,11 @@ static char* get_debugfs_connector_path(int drm_fd, drmModeConnector *connector, * @state: state to force on @connector * * Force the specified state on the specified connector. + * + * Returns: true on success */ -void kmstest_force_connector(int drm_fd, drmModeConnector *connector, enum - kmstest_force_connector_state state) +bool kmstest_force_connector(int drm_fd, drmModeConnector *connector, + enum kmstest_force_connector_state state) { char *path; const char *value; @@ -458,12 +460,15 @@ void kmstest_force_connector(int drm_fd, drmModeConnector *connector, enum debugfs_fd = open(path, O_WRONLY | O_TRUNC); free(path); - igt_assert(debugfs_fd != -1); + if (debugfs_fd == -1) { + return false; + } ret = write(debugfs_fd, value, strlen(value)); close(debugfs_fd); igt_assert(ret != -1); + return (ret == -1) ? false : true; } /** @@ -1509,8 +1514,12 @@ void igt_enable_connectors(void) continue; /* just enable VGA for now */ - if (c->connector_type == DRM_MODE_CONNECTOR_VGA) - kmstest_force_connector(drm_fd, c, FORCE_CONNECTOR_ON); + if (c->connector_type == DRM_MODE_CONNECTOR_VGA) { + if (!kmstest_force_connector(drm_fd, c, FORCE_CONNECTOR_ON)) + igt_info("Unable to force state on %s-%d\n", + kmstest_connector_type_str(c->connector_type), + c->connector_type_id); + } drmModeFreeConnector(c); } diff --git a/lib/igt_kms.h b/lib/igt_kms.h index fb0e66a..08b46ab 100644 --- a/lib/igt_kms.h +++ b/lib/igt_kms.h @@ -130,7 +130,7 @@ int kmstest_get_connector_default_mode(int drm_fd, drmModeConnector *connector, int kmstest_get_connector_config(int drm_fd, uint32_t connector_id, unsigned long crtc_idx_mask, struct kmstest_connector_config *config); -void kmstest_force_connector(int fd, drmModeConnector *connector, +bool kmstest_force_connector(int fd, drmModeConnector *connector, enum kmstest_force_connector_state state); void kmstest_force_edid(int drm_fd, drmModeConnector *connector, const unsigned char *edid, size_t length);