aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2016-01-07 04:59:18 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-02-09 05:21:04 -0500
commit47d7777f99da283ff0d6248dd9e83593cf06760c (patch)
tree5ad752e383c9928f4db649dfd41661a3d2c4e414
parent2dbf0d90971a5c490f17976596a263913d8074c3 (diff)
drm/core: Add drm_encoder_index.
This is useful for adding encoder_mask in crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1452160762-30487-2-git-send-email-maarten.lankhorst@linux.intel.com
-rw-r--r--drivers/gpu/drm/drm_crtc.c23
-rw-r--r--include/drm/drm_crtc.h1
2 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 6e6514ef9968..4132d58dab93 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1161,6 +1161,29 @@ out_unlock:
1161EXPORT_SYMBOL(drm_encoder_init); 1161EXPORT_SYMBOL(drm_encoder_init);
1162 1162
1163/** 1163/**
1164 * drm_encoder_index - find the index of a registered encoder
1165 * @encoder: encoder to find index for
1166 *
1167 * Given a registered encoder, return the index of that encoder within a DRM
1168 * device's list of encoders.
1169 */
1170unsigned int drm_encoder_index(struct drm_encoder *encoder)
1171{
1172 unsigned int index = 0;
1173 struct drm_encoder *tmp;
1174
1175 drm_for_each_encoder(tmp, encoder->dev) {
1176 if (tmp == encoder)
1177 return index;
1178
1179 index++;
1180 }
1181
1182 BUG();
1183}
1184EXPORT_SYMBOL(drm_encoder_index);
1185
1186/**
1164 * drm_encoder_cleanup - cleans up an initialised encoder 1187 * drm_encoder_cleanup - cleans up an initialised encoder
1165 * @encoder: encoder to cleanup 1188 * @encoder: encoder to cleanup
1166 * 1189 *
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c65a212db77e..fd2ace4a18de 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -2225,6 +2225,7 @@ int drm_encoder_init(struct drm_device *dev,
2225 struct drm_encoder *encoder, 2225 struct drm_encoder *encoder,
2226 const struct drm_encoder_funcs *funcs, 2226 const struct drm_encoder_funcs *funcs,
2227 int encoder_type, const char *name, ...); 2227 int encoder_type, const char *name, ...);
2228extern unsigned int drm_encoder_index(struct drm_encoder *encoder);
2228 2229
2229/** 2230/**
2230 * drm_encoder_crtc_ok - can a given crtc drive a given encoder? 2231 * drm_encoder_crtc_ok - can a given crtc drive a given encoder?