modeprint: pretty print connector names

Use same names as the kernel, makes it easier to identify
connectors in the common case.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
main
Lucas Stach 2014-01-17 12:19:17 +01:00 committed by Alex Deucher
parent 46d451c9a9
commit ce62b8e059
1 changed files with 27 additions and 1 deletions

View File

@ -41,6 +41,8 @@
#include "xf86drm.h" #include "xf86drm.h"
#include "xf86drmMode.h" #include "xf86drmMode.h"
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
int connectors; int connectors;
int full_props; int full_props;
int edid; int edid;
@ -140,13 +142,37 @@ int printProperty(int fd, drmModeResPtr res, drmModePropertyPtr props, uint64_t
return 0; return 0;
} }
static const char * const output_names[] = { "None",
"VGA",
"DVI-I",
"DVI-D",
"DVI-A",
"Composite",
"SVIDEO",
"LVDS",
"Component",
"DIN",
"DP",
"HDMI-A",
"HDMI-B",
"TV",
"eDP",
"Virtual",
"DSI",
};
int printConnector(int fd, drmModeResPtr res, drmModeConnectorPtr connector, uint32_t id) int printConnector(int fd, drmModeResPtr res, drmModeConnectorPtr connector, uint32_t id)
{ {
int i = 0; int i = 0;
struct drm_mode_modeinfo *mode = NULL; struct drm_mode_modeinfo *mode = NULL;
drmModePropertyPtr props; drmModePropertyPtr props;
printf("Connector: %d-%d\n", connector->connector_type, connector->connector_type_id); if (connector->connector_type < ARRAY_SIZE(output_names))
printf("Connector: %s-%d\n", output_names[connector->connector_type],
connector->connector_type_id);
else
printf("Connector: %d-%d\n", connector->connector_type,
connector->connector_type_id);
printf("\tid : %i\n", id); printf("\tid : %i\n", id);
printf("\tencoder id : %i\n", connector->encoder_id); printf("\tencoder id : %i\n", connector->encoder_id);
printf("\tconn : %s\n", getConnectionText(connector->connection)); printf("\tconn : %s\n", getConnectionText(connector->connection));