Subversion Repositories Kolibri OS

Rev

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

Rev 3480 Rev 3747
Line 118... Line 118...
118
#define DRM_MODE(nm, t, c, hd, hss, hse, ht, hsk, vd, vss, vse, vt, vs, f) \
118
#define DRM_MODE(nm, t, c, hd, hss, hse, ht, hsk, vd, vss, vse, vt, vs, f) \
119
	.name = nm, .status = 0, .type = (t), .clock = (c), \
119
	.name = nm, .status = 0, .type = (t), .clock = (c), \
120
	.hdisplay = (hd), .hsync_start = (hss), .hsync_end = (hse), \
120
	.hdisplay = (hd), .hsync_start = (hss), .hsync_end = (hse), \
121
	.htotal = (ht), .hskew = (hsk), .vdisplay = (vd), \
121
	.htotal = (ht), .hskew = (hsk), .vdisplay = (vd), \
122
	.vsync_start = (vss), .vsync_end = (vse), .vtotal = (vt), \
122
	.vsync_start = (vss), .vsync_end = (vse), .vtotal = (vt), \
123
	.vscan = (vs), .flags = (f), .vrefresh = 0, \
123
	.vscan = (vs), .flags = (f), \
124
	.base.type = DRM_MODE_OBJECT_MODE
124
	.base.type = DRM_MODE_OBJECT_MODE
Line 125... Line 125...
125
 
125
 
Line 126... Line 126...
126
#define CRTC_INTERLACE_HALVE_V 0x1 /* halve V values for interlacing */
126
#define CRTC_INTERLACE_HALVE_V 0x1 /* halve V values for interlacing */
Line 308... Line 308...
308
 
308
 
309
/**
309
/**
310
 * drm_crtc_funcs - control CRTCs for a given device
310
 * drm_crtc_funcs - control CRTCs for a given device
311
 * @save: save CRTC state
311
 * @save: save CRTC state
312
 * @restore: restore CRTC state
312
 * @restore: restore CRTC state
313
 * @reset: reset CRTC after state has been invalidate (e.g. resume)
313
 * @reset: reset CRTC after state has been invalidated (e.g. resume)
314
 * @cursor_set: setup the cursor
314
 * @cursor_set: setup the cursor
315
 * @cursor_move: move the cursor
315
 * @cursor_move: move the cursor
316
 * @gamma_set: specify color ramp for CRTC
316
 * @gamma_set: specify color ramp for CRTC
317
 * @destroy: deinit and free object
317
 * @destroy: deinit and free object
Line 552... Line 552...
552
 * @modes: modes available on this connector (from fill_modes() + user)
552
 * @modes: modes available on this connector (from fill_modes() + user)
553
 * @status: one of the drm_connector_status enums (connected, not, or unknown)
553
 * @status: one of the drm_connector_status enums (connected, not, or unknown)
554
 * @probed_modes: list of modes derived directly from the display
554
 * @probed_modes: list of modes derived directly from the display
555
 * @display_info: information about attached display (e.g. from EDID)
555
 * @display_info: information about attached display (e.g. from EDID)
556
 * @funcs: connector control functions
556
 * @funcs: connector control functions
557
 * @user_modes: user added mode list
-
 
558
 * @edid_blob_ptr: DRM property containing EDID if present
557
 * @edid_blob_ptr: DRM property containing EDID if present
559
 * @properties: property tracking for this connector
558
 * @properties: property tracking for this connector
560
 * @polled: a %DRM_CONNECTOR_POLL_ value for core driven polling
559
 * @polled: a %DRM_CONNECTOR_POLL_ value for core driven polling
561
 * @dpms: current dpms state
560
 * @dpms: current dpms state
562
 * @helper_private: mid-layer private data
561
 * @helper_private: mid-layer private data
Line 596... Line 595...
596
	struct list_head probed_modes;
595
	struct list_head probed_modes;
Line 597... Line 596...
597
 
596
 
598
	struct drm_display_info display_info;
597
	struct drm_display_info display_info;
Line 599... Line -...
599
	const struct drm_connector_funcs *funcs;
-
 
600
 
598
	const struct drm_connector_funcs *funcs;
601
	struct list_head user_modes;
599
 
Line 602... Line 600...
602
	struct drm_property_blob *edid_blob_ptr;
600
	struct drm_property_blob *edid_blob_ptr;
Line 920... Line 918...
920
extern void drm_mode_config_init(struct drm_device *dev);
918
extern void drm_mode_config_init(struct drm_device *dev);
921
extern void drm_mode_config_reset(struct drm_device *dev);
919
extern void drm_mode_config_reset(struct drm_device *dev);
922
extern void drm_mode_config_cleanup(struct drm_device *dev);
920
extern void drm_mode_config_cleanup(struct drm_device *dev);
923
extern void drm_mode_set_name(struct drm_display_mode *mode);
921
extern void drm_mode_set_name(struct drm_display_mode *mode);
924
extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2);
922
extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2);
-
 
923
extern bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2);
925
extern int drm_mode_width(const struct drm_display_mode *mode);
924
extern int drm_mode_width(const struct drm_display_mode *mode);
926
extern int drm_mode_height(const struct drm_display_mode *mode);
925
extern int drm_mode_height(const struct drm_display_mode *mode);
Line 927... Line 926...
927
 
926
 
928
/* for us by fb module */
-
 
929
extern int drm_mode_attachmode_crtc(struct drm_device *dev,
-
 
930
				    struct drm_crtc *crtc,
-
 
931
				    const struct drm_display_mode *mode);
-
 
932
extern int drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode);
-
 
933
 
927
/* for us by fb module */
934
extern struct drm_display_mode *drm_mode_create(struct drm_device *dev);
928
extern struct drm_display_mode *drm_mode_create(struct drm_device *dev);
935
extern void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
929
extern void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
936
extern void drm_mode_list_concat(struct list_head *head,
930
extern void drm_mode_list_concat(struct list_head *head,
937
                struct list_head *new);
931
                struct list_head *new);
938
extern void drm_mode_validate_size(struct drm_device *dev,
932
extern void drm_mode_validate_size(struct drm_device *dev,
939
                  struct list_head *mode_list,
933
                  struct list_head *mode_list,
-
 
934
                  int maxX, int maxY, int maxPitch);
-
 
935
extern void drm_mode_validate_clocks(struct drm_device *dev,
-
 
936
				     struct list_head *mode_list,
940
                  int maxX, int maxY, int maxPitch);
937
				     int *min, int *max, int n_ranges);
941
extern void drm_mode_prune_invalid(struct drm_device *dev,
938
extern void drm_mode_prune_invalid(struct drm_device *dev,
942
                  struct list_head *mode_list, bool verbose);
939
                  struct list_head *mode_list, bool verbose);
943
extern void drm_mode_sort(struct list_head *mode_list);
940
extern void drm_mode_sort(struct list_head *mode_list);
944
extern int drm_mode_hsync(const struct drm_display_mode *mode);
941
extern int drm_mode_hsync(const struct drm_display_mode *mode);
Line 1034... Line 1031...
1034
			 void *data, struct drm_file *file_priv);
1031
			 void *data, struct drm_file *file_priv);
1035
extern int drm_mode_getfb(struct drm_device *dev,
1032
extern int drm_mode_getfb(struct drm_device *dev,
1036
			  void *data, struct drm_file *file_priv);
1033
			  void *data, struct drm_file *file_priv);
1037
extern int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
1034
extern int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
1038
				  void *data, struct drm_file *file_priv);
1035
				  void *data, struct drm_file *file_priv);
1039
extern int drm_mode_addmode_ioctl(struct drm_device *dev,
-
 
1040
				  void *data, struct drm_file *file_priv);
-
 
1041
extern int drm_mode_rmmode_ioctl(struct drm_device *dev,
-
 
1042
				 void *data, struct drm_file *file_priv);
-
 
1043
extern int drm_mode_attachmode_ioctl(struct drm_device *dev,
-
 
1044
				     void *data, struct drm_file *file_priv);
-
 
1045
extern int drm_mode_detachmode_ioctl(struct drm_device *dev,
-
 
1046
				     void *data, struct drm_file *file_priv);
-
 
Line 1047... Line 1036...
1047
 
1036
 
1048
extern int drm_mode_getproperty_ioctl(struct drm_device *dev,
1037
extern int drm_mode_getproperty_ioctl(struct drm_device *dev,
1049
				      void *data, struct drm_file *file_priv);
1038
				      void *data, struct drm_file *file_priv);
1050
extern int drm_mode_getblob_ioctl(struct drm_device *dev,
1039
extern int drm_mode_getblob_ioctl(struct drm_device *dev,