aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-12-06 18:31:03 +0100
committerSimon Zeni <simon@bl4ckb0ne.ca>2022-12-13 16:50:27 +0000
commitf361efe965a8f764ad1abeabeb3229646e458427 (patch)
tree3cd4a019397ce32a6da8dc3e5ac6f9745542d6a5
parentf12cdc53f3c07ca3ee8125fcac1dd6e17bed0c73 (diff)
backend/drm: add drm_connector_status_str()
Helper to stringify a connector status.
-rw-r--r--backend/drm/util.c12
-rw-r--r--include/backend/drm/util.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/backend/drm/util.c b/backend/drm/util.c
index 03c4b0b4..adb9306e 100644
--- a/backend/drm/util.c
+++ b/backend/drm/util.c
@@ -119,6 +119,18 @@ void parse_edid(struct wlr_drm_connector *conn, size_t len, const uint8_t *data)
}
}
+const char *drm_connector_status_str(drmModeConnection status) {
+ switch (status) {
+ case DRM_MODE_CONNECTED:
+ return "connected";
+ case DRM_MODE_DISCONNECTED:
+ return "disconnected";
+ case DRM_MODE_UNKNOWNCONNECTION:
+ return "unknown";
+ }
+ return "<unsupported>";
+}
+
static bool is_taken(size_t n, const uint32_t arr[static n], uint32_t key) {
for (size_t i = 0; i < n; ++i) {
if (arr[i] == key) {
diff --git a/include/backend/drm/util.h b/include/backend/drm/util.h
index 9bfe5f8a..ba48fe6a 100644
--- a/include/backend/drm/util.h
+++ b/include/backend/drm/util.h
@@ -14,6 +14,7 @@ enum wlr_output_mode_aspect_ratio get_picture_aspect_ratio(const drmModeModeInfo
const char *get_pnp_manufacturer(uint16_t code);
// Populates the make/model/phys_{width,height} of output from the edid data
void parse_edid(struct wlr_drm_connector *conn, size_t len, const uint8_t *data);
+const char *drm_connector_status_str(drmModeConnection status);
// Part of match_obj
enum {