Rev 1117 | 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__ */-> |