drm: add crtc helper drm_crtc_from_index()
authorShawn Guo <shawn.guo@linaro.org>
Thu, 29 Dec 2016 12:41:28 +0000 (20:41 +0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 30 Dec 2016 11:11:59 +0000 (12:11 +0100)
It adds a crtc helper drm_crtc_from_index() to find the registered CRTC
with a given index, just like drm_plane_from_index().

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1483015290-16660-2-git-send-email-shawnguo@kernel.org
drivers/gpu/drm/drm_crtc.c
include/drm/drm_crtc.h

index 080c8d3..75e0bee 100644 (file)
 #include "drm_internal.h"
 
 /**
+ * drm_crtc_from_index - find the registered CRTC at an index
+ * @dev: DRM device
+ * @idx: index of registered CRTC to find for
+ *
+ * Given a CRTC index, return the registered CRTC from DRM device's
+ * list of CRTCs with matching index.
+ */
+struct drm_crtc *drm_crtc_from_index(struct drm_device *dev, int idx)
+{
+       struct drm_crtc *crtc;
+
+       drm_for_each_crtc(crtc, dev)
+               if (idx == crtc->index)
+                       return crtc;
+
+       return NULL;
+}
+EXPORT_SYMBOL(drm_crtc_from_index);
+
+/**
  * drm_crtc_force_disable - Forcibly turn off a CRTC
  * @crtc: CRTC to turn off
  *
index 6920dee..89daa77 100644 (file)
@@ -822,6 +822,7 @@ int drm_crtc_force_disable(struct drm_crtc *crtc);
 int drm_crtc_force_disable_all(struct drm_device *dev);
 
 int drm_mode_set_config_internal(struct drm_mode_set *set);
+struct drm_crtc *drm_crtc_from_index(struct drm_device *dev, int idx);
 
 /* Helpers */
 static inline struct drm_crtc *drm_crtc_find(struct drm_device *dev,