summaryrefslogtreecommitdiff
path: root/linux-core/drm_crtc_helper.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-06-02 11:12:28 +1000
committerDave Airlie <airlied@redhat.com>2008-06-02 11:12:28 +1000
commit0dd000b578adec6ff101c957bce7dc9a32b76713 (patch)
treebda17b4db262f90c65a99f0a203fc892461cf880 /linux-core/drm_crtc_helper.h
parentdba95ec34315d62934ff0e493e085aa6a03cde7c (diff)
drm/modesetting: move some connector functions to helper.
Migrated the output mode collection into the helper.
Diffstat (limited to 'linux-core/drm_crtc_helper.h')
-rw-r--r--linux-core/drm_crtc_helper.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/linux-core/drm_crtc_helper.h b/linux-core/drm_crtc_helper.h
index 063d1f7a..80cb4b49 100644
--- a/linux-core/drm_crtc_helper.h
+++ b/linux-core/drm_crtc_helper.h
@@ -55,8 +55,14 @@ struct drm_encoder_helper_funcs {
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
};
-
+struct drm_connector_helper_funcs {
+ int (*get_modes)(struct drm_connector *connector);
+ int (*mode_valid)(struct drm_connector *connector,
+ struct drm_display_mode *mode);
+};
+
+extern void drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
extern void drm_helper_disable_unused_functions(struct drm_device *dev);
extern int drm_helper_hotplug_stage_two(struct drm_device *dev, struct drm_connector *connector,
bool connected);
@@ -64,7 +70,7 @@ extern bool drm_helper_initial_config(struct drm_device *dev, bool can_grow);
extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode,
int x, int y);
-
+extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc);
static inline void drm_crtc_helper_add(struct drm_crtc *crtc, const struct drm_crtc_helper_funcs *funcs)
{
crtc->helper_private = (void *)funcs;
@@ -75,6 +81,11 @@ static inline void drm_encoder_helper_add(struct drm_encoder *encoder, const str
encoder->helper_private = (void *)funcs;
}
+static inline void drm_connector_helper_add(struct drm_connector *connector, const struct drm_connector_helper_funcs *funcs)
+{
+ connector->helper_private = (void *)funcs;
+}
+
#endif