diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2016-01-07 04:59:18 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-02-09 05:21:04 -0500 |
commit | 47d7777f99da283ff0d6248dd9e83593cf06760c (patch) | |
tree | 5ad752e383c9928f4db649dfd41661a3d2c4e414 | |
parent | 2dbf0d90971a5c490f17976596a263913d8074c3 (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.c | 23 | ||||
-rw-r--r-- | include/drm/drm_crtc.h | 1 |
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: | |||
1161 | EXPORT_SYMBOL(drm_encoder_init); | 1161 | EXPORT_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 | */ | ||
1170 | unsigned 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 | } | ||
1184 | EXPORT_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, ...); |
2228 | extern 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? |