diff options
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r-- | include/drm/drm_crtc.h | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index d59bb7d93657..73e45600f95d 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -294,20 +294,16 @@ struct drm_plane; | |||
294 | 294 | ||
295 | /** | 295 | /** |
296 | * drm_crtc_funcs - control CRTCs for a given device | 296 | * drm_crtc_funcs - control CRTCs for a given device |
297 | * @reset: reset CRTC after state has been invalidate (e.g. resume) | ||
298 | * @dpms: control display power levels | ||
299 | * @save: save CRTC state | 297 | * @save: save CRTC state |
300 | * @resore: restore CRTC state | 298 | * @restore: restore CRTC state |
301 | * @lock: lock the CRTC | 299 | * @reset: reset CRTC after state has been invalidate (e.g. resume) |
302 | * @unlock: unlock the CRTC | 300 | * @cursor_set: setup the cursor |
303 | * @shadow_allocate: allocate shadow pixmap | 301 | * @cursor_move: move the cursor |
304 | * @shadow_create: create shadow pixmap for rotation support | ||
305 | * @shadow_destroy: free shadow pixmap | ||
306 | * @mode_fixup: fixup proposed mode | ||
307 | * @mode_set: set the desired mode on the CRTC | ||
308 | * @gamma_set: specify color ramp for CRTC | 302 | * @gamma_set: specify color ramp for CRTC |
309 | * @destroy: deinit and free object | 303 | * @destroy: deinit and free object |
310 | * @set_property: called when a property is changed | 304 | * @set_property: called when a property is changed |
305 | * @set_config: apply a new CRTC configuration | ||
306 | * @page_flip: initiate a page flip | ||
311 | * | 307 | * |
312 | * The drm_crtc_funcs structure is the central CRTC management structure | 308 | * The drm_crtc_funcs structure is the central CRTC management structure |
313 | * in the DRM. Each CRTC controls one or more connectors (note that the name | 309 | * in the DRM. Each CRTC controls one or more connectors (note that the name |
@@ -420,11 +416,8 @@ struct drm_crtc { | |||
420 | * @save: save connector state | 416 | * @save: save connector state |
421 | * @restore: restore connector state | 417 | * @restore: restore connector state |
422 | * @reset: reset connector after state has been invalidate (e.g. resume) | 418 | * @reset: reset connector after state has been invalidate (e.g. resume) |
423 | * @mode_valid: is this mode valid on the given connector? | ||
424 | * @mode_fixup: try to fixup proposed mode for this connector | ||
425 | * @mode_set: set this mode | ||
426 | * @detect: is this connector active? | 419 | * @detect: is this connector active? |
427 | * @get_modes: get mode list for this connector | 420 | * @fill_modes: fill mode list for this connector |
428 | * @set_property: property for this connector may need update | 421 | * @set_property: property for this connector may need update |
429 | * @destroy: make object go away | 422 | * @destroy: make object go away |
430 | * @force: notify the driver the connector is forced on | 423 | * @force: notify the driver the connector is forced on |
@@ -608,6 +601,7 @@ struct drm_connector { | |||
608 | * @update_plane: update the plane configuration | 601 | * @update_plane: update the plane configuration |
609 | * @disable_plane: shut down the plane | 602 | * @disable_plane: shut down the plane |
610 | * @destroy: clean up plane resources | 603 | * @destroy: clean up plane resources |
604 | * @set_property: called when a property is changed | ||
611 | */ | 605 | */ |
612 | struct drm_plane_funcs { | 606 | struct drm_plane_funcs { |
613 | int (*update_plane)(struct drm_plane *plane, | 607 | int (*update_plane)(struct drm_plane *plane, |
@@ -618,6 +612,9 @@ struct drm_plane_funcs { | |||
618 | uint32_t src_w, uint32_t src_h); | 612 | uint32_t src_w, uint32_t src_h); |
619 | int (*disable_plane)(struct drm_plane *plane); | 613 | int (*disable_plane)(struct drm_plane *plane); |
620 | void (*destroy)(struct drm_plane *plane); | 614 | void (*destroy)(struct drm_plane *plane); |
615 | |||
616 | int (*set_property)(struct drm_plane *plane, | ||
617 | struct drm_property *property, uint64_t val); | ||
621 | }; | 618 | }; |
622 | 619 | ||
623 | /** | 620 | /** |
@@ -635,6 +632,7 @@ struct drm_plane_funcs { | |||
635 | * @enabled: enabled flag | 632 | * @enabled: enabled flag |
636 | * @funcs: helper functions | 633 | * @funcs: helper functions |
637 | * @helper_private: storage for drver layer | 634 | * @helper_private: storage for drver layer |
635 | * @properties: property tracking for this plane | ||
638 | */ | 636 | */ |
639 | struct drm_plane { | 637 | struct drm_plane { |
640 | struct drm_device *dev; | 638 | struct drm_device *dev; |
@@ -657,6 +655,8 @@ struct drm_plane { | |||
657 | 655 | ||
658 | const struct drm_plane_funcs *funcs; | 656 | const struct drm_plane_funcs *funcs; |
659 | void *helper_private; | 657 | void *helper_private; |
658 | |||
659 | struct drm_object_properties properties; | ||
660 | }; | 660 | }; |
661 | 661 | ||
662 | /** | 662 | /** |
@@ -774,7 +774,7 @@ struct drm_mode_config { | |||
774 | 774 | ||
775 | int min_width, min_height; | 775 | int min_width, min_height; |
776 | int max_width, max_height; | 776 | int max_width, max_height; |
777 | struct drm_mode_config_funcs *funcs; | 777 | const struct drm_mode_config_funcs *funcs; |
778 | resource_size_t fb_base; | 778 | resource_size_t fb_base; |
779 | 779 | ||
780 | /* output poll support */ | 780 | /* output poll support */ |
@@ -940,6 +940,10 @@ extern struct drm_property *drm_property_create_enum(struct drm_device *dev, int | |||
940 | const char *name, | 940 | const char *name, |
941 | const struct drm_prop_enum_list *props, | 941 | const struct drm_prop_enum_list *props, |
942 | int num_values); | 942 | int num_values); |
943 | struct drm_property *drm_property_create_bitmask(struct drm_device *dev, | ||
944 | int flags, const char *name, | ||
945 | const struct drm_prop_enum_list *props, | ||
946 | int num_values); | ||
943 | struct drm_property *drm_property_create_range(struct drm_device *dev, int flags, | 947 | struct drm_property *drm_property_create_range(struct drm_device *dev, int flags, |
944 | const char *name, | 948 | const char *name, |
945 | uint64_t min, uint64_t max); | 949 | uint64_t min, uint64_t max); |