diff options
author | Rob Clark <robdclark@gmail.com> | 2014-12-18 16:01:47 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-12-18 16:22:46 -0500 |
commit | ac9c925616028f1f03f631f229bca49b3a92ce9a (patch) | |
tree | 057234e8e4c26509ad5c638a1d0b7ef5f0838eaa /include/drm/drm_crtc.h | |
parent | 40ecc694e114a06b9ed77e3e94641b0f5490693c (diff) |
drm: add atomic_get_property
Since we won't be using the obj->properties->values[] array to shadow
property values for atomic drivers, we are going to need a vfunc for
getting prop values. Add that along w/ mandatory wrapper fxns.
v2: more comments and copypasta comment typo fix
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r-- | include/drm/drm_crtc.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 7f158963ef87..e1f34694fcff 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -312,6 +312,8 @@ struct drm_crtc_state { | |||
312 | * @atomic_destroy_state: destroy an atomic state for this CRTC | 312 | * @atomic_destroy_state: destroy an atomic state for this CRTC |
313 | * @atomic_set_property: set a property on an atomic state for this CRTC | 313 | * @atomic_set_property: set a property on an atomic state for this CRTC |
314 | * (do not call directly, use drm_atomic_crtc_set_property()) | 314 | * (do not call directly, use drm_atomic_crtc_set_property()) |
315 | * @atomic_get_property: get a property on an atomic state for this CRTC | ||
316 | * (do not call directly, use drm_atomic_crtc_get_property()) | ||
315 | * | 317 | * |
316 | * The drm_crtc_funcs structure is the central CRTC management structure | 318 | * The drm_crtc_funcs structure is the central CRTC management structure |
317 | * in the DRM. Each CRTC controls one or more connectors (note that the name | 319 | * in the DRM. Each CRTC controls one or more connectors (note that the name |
@@ -371,6 +373,10 @@ struct drm_crtc_funcs { | |||
371 | struct drm_crtc_state *state, | 373 | struct drm_crtc_state *state, |
372 | struct drm_property *property, | 374 | struct drm_property *property, |
373 | uint64_t val); | 375 | uint64_t val); |
376 | int (*atomic_get_property)(struct drm_crtc *crtc, | ||
377 | const struct drm_crtc_state *state, | ||
378 | struct drm_property *property, | ||
379 | uint64_t *val); | ||
374 | }; | 380 | }; |
375 | 381 | ||
376 | /** | 382 | /** |
@@ -499,6 +505,8 @@ struct drm_connector_state { | |||
499 | * @atomic_destroy_state: destroy an atomic state for this connector | 505 | * @atomic_destroy_state: destroy an atomic state for this connector |
500 | * @atomic_set_property: set a property on an atomic state for this connector | 506 | * @atomic_set_property: set a property on an atomic state for this connector |
501 | * (do not call directly, use drm_atomic_connector_set_property()) | 507 | * (do not call directly, use drm_atomic_connector_set_property()) |
508 | * @atomic_get_property: get a property on an atomic state for this connector | ||
509 | * (do not call directly, use drm_atomic_connector_get_property()) | ||
502 | * | 510 | * |
503 | * Each CRTC may have one or more connectors attached to it. The functions | 511 | * Each CRTC may have one or more connectors attached to it. The functions |
504 | * below allow the core DRM code to control connectors, enumerate available modes, | 512 | * below allow the core DRM code to control connectors, enumerate available modes, |
@@ -532,6 +540,10 @@ struct drm_connector_funcs { | |||
532 | struct drm_connector_state *state, | 540 | struct drm_connector_state *state, |
533 | struct drm_property *property, | 541 | struct drm_property *property, |
534 | uint64_t val); | 542 | uint64_t val); |
543 | int (*atomic_get_property)(struct drm_connector *connector, | ||
544 | const struct drm_connector_state *state, | ||
545 | struct drm_property *property, | ||
546 | uint64_t *val); | ||
535 | }; | 547 | }; |
536 | 548 | ||
537 | /** | 549 | /** |
@@ -763,6 +775,8 @@ struct drm_plane_state { | |||
763 | * @atomic_destroy_state: destroy an atomic state for this plane | 775 | * @atomic_destroy_state: destroy an atomic state for this plane |
764 | * @atomic_set_property: set a property on an atomic state for this plane | 776 | * @atomic_set_property: set a property on an atomic state for this plane |
765 | * (do not call directly, use drm_atomic_plane_set_property()) | 777 | * (do not call directly, use drm_atomic_plane_set_property()) |
778 | * @atomic_get_property: get a property on an atomic state for this plane | ||
779 | * (do not call directly, use drm_atomic_plane_get_property()) | ||
766 | */ | 780 | */ |
767 | struct drm_plane_funcs { | 781 | struct drm_plane_funcs { |
768 | int (*update_plane)(struct drm_plane *plane, | 782 | int (*update_plane)(struct drm_plane *plane, |
@@ -786,6 +800,10 @@ struct drm_plane_funcs { | |||
786 | struct drm_plane_state *state, | 800 | struct drm_plane_state *state, |
787 | struct drm_property *property, | 801 | struct drm_property *property, |
788 | uint64_t val); | 802 | uint64_t val); |
803 | int (*atomic_get_property)(struct drm_plane *plane, | ||
804 | const struct drm_plane_state *state, | ||
805 | struct drm_property *property, | ||
806 | uint64_t *val); | ||
789 | }; | 807 | }; |
790 | 808 | ||
791 | enum drm_plane_type { | 809 | enum drm_plane_type { |