[Intel-gfx] [PATCH i-g-t] lib: don't abort if forcing the connector state fails
Thomas Wood
thomas.wood at intel.com
Mon Jul 28 17:24:49 CEST 2014
Ensure tests using igt_enable_connectors can still run even if the
relevant debugfs files are not available.
Signed-off-by: Thomas Wood <thomas.wood at intel.com>
---
lib/igt_kms.c | 19 ++++++++++++++-----
lib/igt_kms.h | 2 +-
2 files changed, 15 insertions(+), 6 deletions(-)
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);
--
1.9.3
More information about the Intel-gfx
mailing list