Subversion Repositories Kolibri OS

Rev

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

Rev 2967 Rev 3031
Line 42... Line 42...
42
enum mode_set_atomic {
42
enum mode_set_atomic {
43
	LEAVE_ATOMIC_MODE_SET,
43
	LEAVE_ATOMIC_MODE_SET,
44
	ENTER_ATOMIC_MODE_SET,
44
	ENTER_ATOMIC_MODE_SET,
45
};
45
};
Line -... Line 46...
-
 
46
 
-
 
47
/**
-
 
48
 * drm_crtc_helper_funcs - helper operations for CRTCs
-
 
49
 * @mode_fixup: try to fixup proposed mode for this connector
-
 
50
 * @mode_set: set this mode
-
 
51
 *
-
 
52
 * The helper operations are called by the mid-layer CRTC helper.
46
 
53
 */
47
struct drm_crtc_helper_funcs {
54
struct drm_crtc_helper_funcs {
48
	/*
55
	/*
49
	 * Control power levels on the CRTC.  If the mode passed in is
56
	 * Control power levels on the CRTC.  If the mode passed in is
50
	 * unsupported, the provider must use the next lowest power level.
57
	 * unsupported, the provider must use the next lowest power level.
Line 53... Line 60...
53
	void (*prepare)(struct drm_crtc *crtc);
60
	void (*prepare)(struct drm_crtc *crtc);
54
	void (*commit)(struct drm_crtc *crtc);
61
	void (*commit)(struct drm_crtc *crtc);
Line 55... Line 62...
55
 
62
 
56
	/* Provider can fixup or change mode timings before modeset occurs */
63
	/* Provider can fixup or change mode timings before modeset occurs */
57
	bool (*mode_fixup)(struct drm_crtc *crtc,
64
	bool (*mode_fixup)(struct drm_crtc *crtc,
58
			   struct drm_display_mode *mode,
65
			   const struct drm_display_mode *mode,
59
			   struct drm_display_mode *adjusted_mode);
66
			   struct drm_display_mode *adjusted_mode);
60
	/* Actually set the mode */
67
	/* Actually set the mode */
61
	int (*mode_set)(struct drm_crtc *crtc, struct drm_display_mode *mode,
68
	int (*mode_set)(struct drm_crtc *crtc, struct drm_display_mode *mode,
62
			struct drm_display_mode *adjusted_mode, int x, int y,
69
			struct drm_display_mode *adjusted_mode, int x, int y,
Line 74... Line 81...
74
 
81
 
75
	/* disable crtc when not in use - more explicit than dpms off */
82
	/* disable crtc when not in use - more explicit than dpms off */
76
	void (*disable)(struct drm_crtc *crtc);
83
	void (*disable)(struct drm_crtc *crtc);
Line -... Line 84...
-
 
84
};
-
 
85
 
-
 
86
/**
-
 
87
 * drm_encoder_helper_funcs - helper operations for encoders
-
 
88
 * @mode_fixup: try to fixup proposed mode for this connector
-
 
89
 * @mode_set: set this mode
-
 
90
 *
77
};
91
 * The helper operations are called by the mid-layer CRTC helper.
78
 
92
 */
79
struct drm_encoder_helper_funcs {
93
struct drm_encoder_helper_funcs {
80
	void (*dpms)(struct drm_encoder *encoder, int mode);
94
	void (*dpms)(struct drm_encoder *encoder, int mode);
Line 81... Line 95...
81
	void (*save)(struct drm_encoder *encoder);
95
	void (*save)(struct drm_encoder *encoder);
82
	void (*restore)(struct drm_encoder *encoder);
96
	void (*restore)(struct drm_encoder *encoder);
83
 
97
 
84
	bool (*mode_fixup)(struct drm_encoder *encoder,
98
	bool (*mode_fixup)(struct drm_encoder *encoder,
85
			   struct drm_display_mode *mode,
99
			   const struct drm_display_mode *mode,
86
			   struct drm_display_mode *adjusted_mode);
100
			   struct drm_display_mode *adjusted_mode);
87
	void (*prepare)(struct drm_encoder *encoder);
101
	void (*prepare)(struct drm_encoder *encoder);
Line 95... Line 109...
95
					    struct drm_connector *connector);
109
					    struct drm_connector *connector);
96
	/* disable encoder when not in use - more explicit than dpms off */
110
	/* disable encoder when not in use - more explicit than dpms off */
97
	void (*disable)(struct drm_encoder *encoder);
111
	void (*disable)(struct drm_encoder *encoder);
98
};
112
};
Line -... Line 113...
-
 
113
 
-
 
114
/**
-
 
115
 * drm_connector_helper_funcs - helper operations for connectors
-
 
116
 * @get_modes: get mode list for this connector
-
 
117
 * @mode_valid: is this mode valid on the given connector?
-
 
118
 *
-
 
119
 * The helper operations are called by the mid-layer CRTC helper.
99
 
120
 */
100
struct drm_connector_helper_funcs {
121
struct drm_connector_helper_funcs {
101
	int (*get_modes)(struct drm_connector *connector);
122
	int (*get_modes)(struct drm_connector *connector);
102
	int (*mode_valid)(struct drm_connector *connector,
123
	int (*mode_valid)(struct drm_connector *connector,
103
			  struct drm_display_mode *mode);
124
			  struct drm_display_mode *mode);
Line 143... Line 164...
143
extern void drm_helper_hpd_irq_event(struct drm_device *dev);
164
extern void drm_helper_hpd_irq_event(struct drm_device *dev);
Line 144... Line 165...
144
 
165
 
145
extern void drm_kms_helper_poll_disable(struct drm_device *dev);
166
extern void drm_kms_helper_poll_disable(struct drm_device *dev);
Line 146... Line -...
146
extern void drm_kms_helper_poll_enable(struct drm_device *dev);
-
 
147
 
-
 
148
extern int drm_format_num_planes(uint32_t format);
167
extern void drm_kms_helper_poll_enable(struct drm_device *dev);