Subversion Repositories Kolibri OS

Rev

Rev 1630 | Rev 2967 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1630 Rev 1964
Line 37... Line 37...
37
#include 
37
#include 
38
#include 
38
#include 
Line 39... Line 39...
39
 
39
 
Line 40... Line 40...
40
#include 
40
#include 
-
 
41
 
-
 
42
enum mode_set_atomic {
-
 
43
	LEAVE_ATOMIC_MODE_SET,
-
 
44
	ENTER_ATOMIC_MODE_SET,
41
 
45
};
42
#include "drm_fb_helper.h"
46
 
43
struct drm_crtc_helper_funcs {
47
struct drm_crtc_helper_funcs {
44
	/*
48
	/*
45
	 * Control power levels on the CRTC.  If the mode passed in is
49
	 * Control power levels on the CRTC.  If the mode passed in is
Line 59... Line 63...
59
			struct drm_framebuffer *old_fb);
63
			struct drm_framebuffer *old_fb);
Line 60... Line 64...
60
 
64
 
61
	/* Move the crtc on the current fb to the given position *optional* */
65
	/* Move the crtc on the current fb to the given position *optional* */
62
	int (*mode_set_base)(struct drm_crtc *crtc, int x, int y,
66
	int (*mode_set_base)(struct drm_crtc *crtc, int x, int y,
-
 
67
			     struct drm_framebuffer *old_fb);
-
 
68
	int (*mode_set_base_atomic)(struct drm_crtc *crtc,
-
 
69
				    struct drm_framebuffer *fb, int x, int y,
Line 63... Line 70...
63
			     struct drm_framebuffer *old_fb);
70
				    enum mode_set_atomic);
64
 
71
 
-
 
72
	/* reload the current crtc LUT */
-
 
73
	void (*load_lut)(struct drm_crtc *crtc);
-
 
74
 
65
	/* reload the current crtc LUT */
75
	/* disable crtc when not in use - more explicit than dpms off */
Line 66... Line 76...
66
	void (*load_lut)(struct drm_crtc *crtc);
76
	void (*disable)(struct drm_crtc *crtc);
67
};
77
};
68
 
78
 
Line 94... Line 104...
94
	struct drm_encoder *(*best_encoder)(struct drm_connector *connector);
104
	struct drm_encoder *(*best_encoder)(struct drm_connector *connector);
95
};
105
};
Line 96... Line 106...
96
 
106
 
97
extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
107
extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
98
extern void drm_helper_disable_unused_functions(struct drm_device *dev);
-
 
99
extern int drm_helper_hotplug_stage_two(struct drm_device *dev);
-
 
100
extern bool drm_helper_initial_config(struct drm_device *dev);
108
extern void drm_helper_disable_unused_functions(struct drm_device *dev);
101
extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
109
extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
102
extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
110
extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
103
				     struct drm_display_mode *mode,
111
				     struct drm_display_mode *mode,
104
				     int x, int y,
112
				     int x, int y,
Line 121... Line 129...
121
					  const struct drm_encoder_helper_funcs *funcs)
129
					  const struct drm_encoder_helper_funcs *funcs)
122
{
130
{
123
	encoder->helper_private = (void *)funcs;
131
	encoder->helper_private = (void *)funcs;
124
}
132
}
Line 125... Line 133...
125
 
133
 
126
static inline int drm_connector_helper_add(struct drm_connector *connector,
134
static inline void drm_connector_helper_add(struct drm_connector *connector,
127
					    const struct drm_connector_helper_funcs *funcs)
135
					    const struct drm_connector_helper_funcs *funcs)
128
{
136
{
129
	connector->helper_private = (void *)funcs;
-
 
130
	return drm_fb_helper_add_connector(connector);
137
	connector->helper_private = (void *)funcs;
Line 131... Line 138...
131
}
138
}
-
 
139
 
-
 
140
extern int drm_helper_resume_force_mode(struct drm_device *dev);
-
 
141
extern void drm_kms_helper_poll_init(struct drm_device *dev);
-
 
142
extern void drm_kms_helper_poll_fini(struct drm_device *dev);
-
 
143
extern void drm_helper_hpd_irq_event(struct drm_device *dev);
-
 
144
 
132
 
145
extern void drm_kms_helper_poll_disable(struct drm_device *dev);