Subversion Repositories Kolibri OS

Rev

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

Rev 1117 Rev 1123
Line 111... Line 111...
111
 
111
 
Line 112... Line 112...
112
#define CRTC_INTERLACE_HALVE_V 0x1 /* halve V values for interlacing */
112
#define CRTC_INTERLACE_HALVE_V 0x1 /* halve V values for interlacing */
113
 
113
 
114
struct drm_display_mode {
114
struct drm_display_mode {
115
	/* Header */
115
	/* Header */
Line 116... Line 116...
116
//   struct list_head head;
116
	struct list_head head;
Line 117... Line 117...
117
	struct drm_mode_object base;
117
	struct drm_mode_object base;
Line 244... Line 244...
244
			     unsigned int *handle);
244
			     unsigned int *handle);
245
};
245
};
Line 246... Line 246...
246
 
246
 
247
struct drm_framebuffer {
247
struct drm_framebuffer {
248
	struct drm_device *dev;
248
	struct drm_device *dev;
249
//   struct list_head head;
249
	struct list_head head;
250
	struct drm_mode_object base;
250
	struct drm_mode_object base;
251
	const struct drm_framebuffer_funcs *funcs;
251
	const struct drm_framebuffer_funcs *funcs;
252
	unsigned int pitch;
252
	unsigned int pitch;
253
	unsigned int width;
253
	unsigned int width;
254
	unsigned int height;
254
	unsigned int height;
255
	/* depth can be 15 or 16 */
255
	/* depth can be 15 or 16 */
256
	unsigned int depth;
256
	unsigned int depth;
257
	int bits_per_pixel;
257
	int bits_per_pixel;
258
	int flags;
258
	int flags;
259
	void *fbdev;
259
	void *fbdev;
260
    u32_t pseudo_palette[17];
260
	u32 pseudo_palette[17];
261
//   struct list_head filp_head;
261
	struct list_head filp_head;
Line 262... Line 262...
262
};
262
};
263
 
263
 
264
struct drm_property_blob {
264
struct drm_property_blob {
265
	struct drm_mode_object base;
265
	struct drm_mode_object base;
266
//   struct list_head head;
266
	struct list_head head;
267
	unsigned int length;
267
	unsigned int length;
Line 268... Line 268...
268
	void *data;
268
	void *data;
269
};
269
};
270
 
270
 
271
struct drm_property_enum {
271
struct drm_property_enum {
272
	uint64_t value;
272
	uint64_t value;
Line 273... Line 273...
273
//   struct list_head head;
273
	struct list_head head;
274
	char name[DRM_PROP_NAME_LEN];
274
	char name[DRM_PROP_NAME_LEN];
275
};
275
};
276
 
276
 
277
struct drm_property {
277
struct drm_property {
278
//   struct list_head head;
278
	struct list_head head;
279
	struct drm_mode_object base;
279
	struct drm_mode_object base;
Line 280... Line 280...
280
	uint32_t flags;
280
	uint32_t flags;
281
	char name[DRM_PROP_NAME_LEN];
281
	char name[DRM_PROP_NAME_LEN];
Line 282... Line 282...
282
	uint32_t num_values;
282
	uint32_t num_values;
283
	uint64_t *values;
283
	uint64_t *values;
284
 
284
 
Line 346... Line 346...
346
 * Each CRTC may have one or more connectors associated with it.  This structure
346
 * Each CRTC may have one or more connectors associated with it.  This structure
347
 * allows the CRTC to be controlled.
347
 * allows the CRTC to be controlled.
348
 */
348
 */
349
struct drm_crtc {
349
struct drm_crtc {
350
	struct drm_device *dev;
350
	struct drm_device *dev;
351
//   struct list_head head;
351
	struct list_head head;
Line 352... Line 352...
352
 
352
 
Line 353... Line 353...
353
	struct drm_mode_object base;
353
	struct drm_mode_object base;
354
 
354
 
Line 413... Line 413...
413
/**
413
/**
414
 * drm_encoder - central DRM encoder structure
414
 * drm_encoder - central DRM encoder structure
415
 */
415
 */
416
struct drm_encoder {
416
struct drm_encoder {
417
	struct drm_device *dev;
417
	struct drm_device *dev;
418
//   struct list_head head;
418
	struct list_head head;
Line 419... Line 419...
419
 
419
 
420
	struct drm_mode_object base;
420
	struct drm_mode_object base;
421
	int encoder_type;
421
	int encoder_type;
422
	uint32_t possible_crtcs;
422
	uint32_t possible_crtcs;
Line 445... Line 445...
445
 */
445
 */
446
struct drm_connector {
446
struct drm_connector {
447
	struct drm_device *dev;
447
	struct drm_device *dev;
448
//   struct device kdev;
448
//   struct device kdev;
449
	struct device_attribute *attr;
449
	struct device_attribute *attr;
450
//   struct list_head head;
450
	struct list_head head;
Line 451... Line 451...
451
 
451
 
Line 452... Line 452...
452
	struct drm_mode_object base;
452
	struct drm_mode_object base;
453
 
453
 
454
	int connector_type;
454
	int connector_type;
455
	int connector_type_id;
455
	int connector_type_id;
456
	bool interlace_allowed;
456
	bool interlace_allowed;
Line 457... Line 457...
457
	bool doublescan_allowed;
457
	bool doublescan_allowed;
458
//   struct list_head modes; /* list of modes on this connector */
458
	struct list_head modes; /* list of modes on this connector */
Line 459... Line 459...
459
 
459
 
460
	int initial_x, initial_y;
460
	int initial_x, initial_y;
Line 461... Line 461...
461
	enum drm_connector_status status;
461
	enum drm_connector_status status;
462
 
462
 
Line 463... Line 463...
463
	/* these are modes added by probing with DDC or the BIOS */
463
	/* these are modes added by probing with DDC or the BIOS */
464
//   struct list_head probed_modes;
464
	struct list_head probed_modes;
465
 
465
 
466
	struct drm_display_info display_info;
466
	struct drm_display_info display_info;
Line 467... Line 467...
467
	const struct drm_connector_funcs *funcs;
467
	const struct drm_connector_funcs *funcs;
Line 488... Line 488...
488
 * and from which framebuffer it scans out from.
488
 * and from which framebuffer it scans out from.
489
 *
489
 *
490
 * This is used to set modes.
490
 * This is used to set modes.
491
 */
491
 */
492
struct drm_mode_set {
492
struct drm_mode_set {
493
//   struct list_head head;
493
	struct list_head head;
Line 494... Line 494...
494
 
494
 
495
	struct drm_framebuffer *fb;
495
	struct drm_framebuffer *fb;
496
	struct drm_crtc *crtc;
496
	struct drm_crtc *crtc;
Line 531... Line 531...
531
 *
531
 *
532
 */
532
 */
533
struct drm_mode_config {
533
struct drm_mode_config {
534
//   struct mutex mutex; /* protects configuration (mode lists etc.) */
534
//   struct mutex mutex; /* protects configuration (mode lists etc.) */
535
//   struct mutex idr_mutex; /* for IDR management */
535
//   struct mutex idr_mutex; /* for IDR management */
536
//   struct idr crtc_idr; /* use this idr for all IDs, fb, crtc, connector, modes - just makes life easier */
536
    struct idr crtc_idr; /* use this idr for all IDs, fb, crtc, connector, modes - just makes life easier */
537
	/* this is limited to one for now */
537
	/* this is limited to one for now */
538
	int num_fb;
538
	int num_fb;
539
//   struct list_head fb_list;
539
	struct list_head fb_list;
540
	int num_connector;
540
	int num_connector;
541
//   struct list_head connector_list;
541
	struct list_head connector_list;
542
	int num_encoder;
542
	int num_encoder;
543
//   struct list_head encoder_list;
543
	struct list_head encoder_list;
Line 544... Line 544...
544
 
544
 
545
	int num_crtc;
545
	int num_crtc;
Line 546... Line 546...
546
//   struct list_head crtc_list;
546
	struct list_head crtc_list;
Line 547... Line 547...
547
 
547
 
548
//   struct list_head property_list;
548
	struct list_head property_list;
Line 549... Line 549...
549
 
549
 
550
	/* in-kernel framebuffers - hung of filp_head in drm_framebuffer */
550
	/* in-kernel framebuffers - hung of filp_head in drm_framebuffer */
551
//   struct list_head fb_kernel_list;
551
	struct list_head fb_kernel_list;
552
 
552
 
Line 553... Line 553...
553
	int min_width, min_height;
553
	int min_width, min_height;
554
	int max_width, max_height;
554
	int max_width, max_height;
555
	struct drm_mode_config_funcs *funcs;
555
	struct drm_mode_config_funcs *funcs;
556
	resource_size_t fb_base;
556
	resource_size_t fb_base;
Line 557... Line 557...
557
 
557
 
558
	/* pointers to standard properties */
558
	/* pointers to standard properties */
Line 584... Line 584...
584
#define obj_to_mode(x) container_of(x, struct drm_display_mode, base)
584
#define obj_to_mode(x) container_of(x, struct drm_display_mode, base)
585
#define obj_to_fb(x) container_of(x, struct drm_framebuffer, base)
585
#define obj_to_fb(x) container_of(x, struct drm_framebuffer, base)
586
#define obj_to_property(x) container_of(x, struct drm_property, base)
586
#define obj_to_property(x) container_of(x, struct drm_property, base)
587
#define obj_to_blob(x) container_of(x, struct drm_property_blob, base)
587
#define obj_to_blob(x) container_of(x, struct drm_property_blob, base)
Line 588... Line -...
588
 
-
 
589
 
588
 
590
extern void drm_crtc_init(struct drm_device *dev,
589
extern void drm_crtc_init(struct drm_device *dev,
591
			  struct drm_crtc *crtc,
590
			  struct drm_crtc *crtc,
592
			  const struct drm_crtc_funcs *funcs);
591
			  const struct drm_crtc_funcs *funcs);
Line 610... Line 609...
610
extern char *drm_get_dpms_name(int val);
609
extern char *drm_get_dpms_name(int val);
611
extern char *drm_get_dvi_i_subconnector_name(int val);
610
extern char *drm_get_dvi_i_subconnector_name(int val);
612
extern char *drm_get_dvi_i_select_name(int val);
611
extern char *drm_get_dvi_i_select_name(int val);
613
extern char *drm_get_tv_subconnector_name(int val);
612
extern char *drm_get_tv_subconnector_name(int val);
614
extern char *drm_get_tv_select_name(int val);
613
extern char *drm_get_tv_select_name(int val);
-
 
614
 
-
 
615
 
-
 
616
 
615
extern void drm_fb_release(struct drm_file *file_priv);
617
//extern void drm_fb_release(struct drm_file *file_priv);
616
extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group);
618
//extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group);
617
//extern struct edid *drm_get_edid(struct drm_connector *connector,
619
//extern struct edid *drm_get_edid(struct drm_connector *connector,
618
//                struct i2c_adapter *adapter);
620
//                struct i2c_adapter *adapter);
619
//extern int drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
621
//extern int drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
620
//                unsigned char *buf, int len);
622
//                unsigned char *buf, int len);
621
//extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
623
//extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
Line 734... Line 736...
734
extern int drm_mode_gamma_get_ioctl(struct drm_device *dev,
736
extern int drm_mode_gamma_get_ioctl(struct drm_device *dev,
735
				    void *data, struct drm_file *file_priv);
737
				    void *data, struct drm_file *file_priv);
736
extern int drm_mode_gamma_set_ioctl(struct drm_device *dev,
738
extern int drm_mode_gamma_set_ioctl(struct drm_device *dev,
737
				    void *data, struct drm_file *file_priv);
739
				    void *data, struct drm_file *file_priv);
738
//extern bool drm_detect_hdmi_monitor(struct edid *edid);
740
//extern bool drm_detect_hdmi_monitor(struct edid *edid);
-
 
741
 
-
 
742
 
739
#endif /* __DRM_CRTC_H__ */
743
#endif /* __DRM_CRTC_H__ */