aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-03-18 15:34:59 -0400
committerEric Anholt <eric@anholt.net>2016-03-31 21:39:39 -0400
commit0b27c02a7f1c697694f2ad6d6517e7dbf9ecfa39 (patch)
treea855f2b6d116a3c6bb6dcfd750ef4fd00f4dcc88
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
drm: Add an encoder and connector type enum for DPI.
Right now exynos is exposing DPI as a TMDS encoder and VGA connector, which seems rather misleading. This isn't just an internal detail, since xrandr actually exposes "VGA" as the output name. Define some new enums so that vc4's DPI can have a more informative name. I considered other names for the connector as well. For VC4, the Adafruit DPI kippah takes the 28 GPIO pins and routes them to a standard-ish 40-pin FPC connector, but "40-pin FPC" doesn't uniquely identify an ordering of pins (apparently some other orderings exist), doesn't explain things as well for the user (who, if anything, knows their product is a DPI kippah/panel combo), and actually doesn't have to exist (one could connect the 28 GPIOs directly to something else). Simply "DPI" seems like a good compromise name to distinguish from the HDMI, DSI, and TV connectors . Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/drm_crtc.c2
-rw-r--r--include/uapi/drm/drm_mode.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index e08f962288d9..6bd8133de3b7 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -168,6 +168,7 @@ static struct drm_conn_prop_enum_list drm_connector_enum_list[] = {
168 { DRM_MODE_CONNECTOR_eDP, "eDP" }, 168 { DRM_MODE_CONNECTOR_eDP, "eDP" },
169 { DRM_MODE_CONNECTOR_VIRTUAL, "Virtual" }, 169 { DRM_MODE_CONNECTOR_VIRTUAL, "Virtual" },
170 { DRM_MODE_CONNECTOR_DSI, "DSI" }, 170 { DRM_MODE_CONNECTOR_DSI, "DSI" },
171 { DRM_MODE_CONNECTOR_DPI, "DPI" },
171}; 172};
172 173
173static const struct drm_prop_enum_list drm_encoder_enum_list[] = { 174static const struct drm_prop_enum_list drm_encoder_enum_list[] = {
@@ -179,6 +180,7 @@ static const struct drm_prop_enum_list drm_encoder_enum_list[] = {
179 { DRM_MODE_ENCODER_VIRTUAL, "Virtual" }, 180 { DRM_MODE_ENCODER_VIRTUAL, "Virtual" },
180 { DRM_MODE_ENCODER_DSI, "DSI" }, 181 { DRM_MODE_ENCODER_DSI, "DSI" },
181 { DRM_MODE_ENCODER_DPMST, "DP MST" }, 182 { DRM_MODE_ENCODER_DPMST, "DP MST" },
183 { DRM_MODE_ENCODER_DPI, "DPI" },
182}; 184};
183 185
184static const struct drm_prop_enum_list drm_subpixel_enum_list[] = { 186static const struct drm_prop_enum_list drm_subpixel_enum_list[] = {
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index c0217434d28d..c10ab61bbc44 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -202,6 +202,7 @@ struct drm_mode_get_plane_res {
202#define DRM_MODE_ENCODER_VIRTUAL 5 202#define DRM_MODE_ENCODER_VIRTUAL 5
203#define DRM_MODE_ENCODER_DSI 6 203#define DRM_MODE_ENCODER_DSI 6
204#define DRM_MODE_ENCODER_DPMST 7 204#define DRM_MODE_ENCODER_DPMST 7
205#define DRM_MODE_ENCODER_DPI 8
205 206
206struct drm_mode_get_encoder { 207struct drm_mode_get_encoder {
207 __u32 encoder_id; 208 __u32 encoder_id;
@@ -241,6 +242,7 @@ struct drm_mode_get_encoder {
241#define DRM_MODE_CONNECTOR_eDP 14 242#define DRM_MODE_CONNECTOR_eDP 14
242#define DRM_MODE_CONNECTOR_VIRTUAL 15 243#define DRM_MODE_CONNECTOR_VIRTUAL 15
243#define DRM_MODE_CONNECTOR_DSI 16 244#define DRM_MODE_CONNECTOR_DSI 16
245#define DRM_MODE_CONNECTOR_DPI 17
244 246
245struct drm_mode_get_connector { 247struct drm_mode_get_connector {
246 248