summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-18 09:07:15 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-18 09:07:15 +0200
commitf0a6e83d82c2586622908d043ce70432bceecdf0 (patch)
tree2e20e4d38ce48d81c93069da38d35699ef4737be
parenta6c1a29d7346b44582247c7597cef3c1f82d576b (diff)
wfdport: WFD_PORT_TYPE support
-rw-r--r--src/wfdport.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/wfdport.c b/src/wfdport.c
index 147e03a..f777311 100644
--- a/src/wfdport.c
+++ b/src/wfdport.c
@@ -215,6 +215,41 @@ wfd_port_choose_pipeline(struct wfd_device *device,
return port->choosen_pipeline;
}
+static WFDint
+wfd_port_get_type(struct wfd_device *device,
+ struct wfd_port *port)
+{
+ switch (port->connector->connector_type){
+ case DRM_MODE_CONNECTOR_DVII:
+ case DRM_MODE_CONNECTOR_DVID:
+ case DRM_MODE_CONNECTOR_DVIA:
+ return WFD_PORT_TYPE_DVI;
+ case DRM_MODE_CONNECTOR_Composite:
+ return WFD_PORT_TYPE_COMPOSITE;
+ /* FIXME: request subconnector info for TV */
+ case DRM_MODE_CONNECTOR_TV:
+ case DRM_MODE_CONNECTOR_SVIDEO:
+ return WFD_PORT_TYPE_SVIDEO;
+ case DRM_MODE_CONNECTOR_Component:
+ return WFD_PORT_TYPE_COMPONENT_YPbPr;
+ case DRM_MODE_CONNECTOR_DisplayPort:
+ return WFD_PORT_TYPE_DISPLAYPORT;
+ case DRM_MODE_CONNECTOR_HDMIA:
+ case DRM_MODE_CONNECTOR_HDMIB:
+ return WFD_PORT_TYPE_HDMI;
+ case DRM_MODE_CONNECTOR_LVDS:
+ case DRM_MODE_CONNECTOR_eDP:
+ return WFD_PORT_TYPE_INTERNAL;
+ /* FIXME: find appriate WFD_PORT types for vga and 9PinDIN */
+ case DRM_MODE_CONNECTOR_Unknown:
+ case DRM_MODE_CONNECTOR_9PinDIN:
+ case DRM_MODE_CONNECTOR_VGA:
+ default:
+ return WFD_PORT_TYPE_OTHER;
+ };
+}
+
+
WFDint
wfd_port_get_attribi(struct wfd_device *device,
struct wfd_port *port,
@@ -223,6 +258,8 @@ wfd_port_get_attribi(struct wfd_device *device,
switch (attribute) {
case WFD_PORT_ID:
return port->connector->connector_id;
+ case WFD_PORT_TYPE:
+ return wfd_port_get_type(device, port);
case WFD_PORT_ATTACHED:
return port->connector->connection == DRM_MODE_CONNECTED;
case WFD_PORT_PIPELINE_ID_COUNT: