diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-04-18 09:07:15 +0200 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-04-18 09:07:15 +0200 |
commit | f0a6e83d82c2586622908d043ce70432bceecdf0 (patch) | |
tree | 2e20e4d38ce48d81c93069da38d35699ef4737be | |
parent | a6c1a29d7346b44582247c7597cef3c1f82d576b (diff) |
wfdport: WFD_PORT_TYPE support
-rw-r--r-- | src/wfdport.c | 37 |
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: |