Rev 5270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | struct drm_atomic_state * __must_check |
33 | struct drm_atomic_state * __must_check |
34 | drm_atomic_state_alloc(struct drm_device *dev); |
34 | drm_atomic_state_alloc(struct drm_device *dev); |
35 | void drm_atomic_state_clear(struct drm_atomic_state *state); |
35 | void drm_atomic_state_clear(struct drm_atomic_state *state); |
36 | void drm_atomic_state_free(struct drm_atomic_state *state); |
36 | void drm_atomic_state_free(struct drm_atomic_state *state); |
Line -... | Line 37... | ||
- | 37 | ||
- | 38 | int __must_check |
|
- | 39 | drm_atomic_state_init(struct drm_device *dev, struct drm_atomic_state *state); |
|
- | 40 | void drm_atomic_state_default_clear(struct drm_atomic_state *state); |
|
- | 41 | void drm_atomic_state_default_release(struct drm_atomic_state *state); |
|
37 | 42 | ||
38 | struct drm_crtc_state * __must_check |
43 | struct drm_crtc_state * __must_check |
39 | drm_atomic_get_crtc_state(struct drm_atomic_state *state, |
44 | drm_atomic_get_crtc_state(struct drm_atomic_state *state, |
- | 45 | struct drm_crtc *crtc); |
|
- | 46 | int drm_atomic_crtc_set_property(struct drm_crtc *crtc, |
|
- | 47 | struct drm_crtc_state *state, struct drm_property *property, |
|
40 | struct drm_crtc *crtc); |
48 | uint64_t val); |
41 | struct drm_plane_state * __must_check |
49 | struct drm_plane_state * __must_check |
42 | drm_atomic_get_plane_state(struct drm_atomic_state *state, |
50 | drm_atomic_get_plane_state(struct drm_atomic_state *state, |
- | 51 | struct drm_plane *plane); |
|
- | 52 | int drm_atomic_plane_set_property(struct drm_plane *plane, |
|
- | 53 | struct drm_plane_state *state, struct drm_property *property, |
|
43 | struct drm_plane *plane); |
54 | uint64_t val); |
44 | struct drm_connector_state * __must_check |
55 | struct drm_connector_state * __must_check |
45 | drm_atomic_get_connector_state(struct drm_atomic_state *state, |
56 | drm_atomic_get_connector_state(struct drm_atomic_state *state, |
- | 57 | struct drm_connector *connector); |
|
- | 58 | int drm_atomic_connector_set_property(struct drm_connector *connector, |
|
- | 59 | struct drm_connector_state *state, struct drm_property *property, |
|
- | 60 | uint64_t val); |
|
- | 61 | ||
- | 62 | /** |
|
- | 63 | * drm_atomic_get_existing_crtc_state - get crtc state, if it exists |
|
- | 64 | * @state: global atomic state object |
|
- | 65 | * @crtc: crtc to grab |
|
- | 66 | * |
|
- | 67 | * This function returns the crtc state for the given crtc, or NULL |
|
- | 68 | * if the crtc is not part of the global atomic state. |
|
- | 69 | */ |
|
- | 70 | static inline struct drm_crtc_state * |
|
- | 71 | drm_atomic_get_existing_crtc_state(struct drm_atomic_state *state, |
|
- | 72 | struct drm_crtc *crtc) |
|
- | 73 | { |
|
- | 74 | return state->crtc_states[drm_crtc_index(crtc)]; |
|
- | 75 | } |
|
- | 76 | ||
- | 77 | /** |
|
- | 78 | * drm_atomic_get_existing_plane_state - get plane state, if it exists |
|
- | 79 | * @state: global atomic state object |
|
- | 80 | * @plane: plane to grab |
|
- | 81 | * |
|
- | 82 | * This function returns the plane state for the given plane, or NULL |
|
- | 83 | * if the plane is not part of the global atomic state. |
|
- | 84 | */ |
|
- | 85 | static inline struct drm_plane_state * |
|
- | 86 | drm_atomic_get_existing_plane_state(struct drm_atomic_state *state, |
|
- | 87 | struct drm_plane *plane) |
|
- | 88 | { |
|
- | 89 | return state->plane_states[drm_plane_index(plane)]; |
|
- | 90 | } |
|
- | 91 | ||
- | 92 | /** |
|
- | 93 | * drm_atomic_get_existing_connector_state - get connector state, if it exists |
|
- | 94 | * @state: global atomic state object |
|
- | 95 | * @connector: connector to grab |
|
- | 96 | * |
|
- | 97 | * This function returns the connector state for the given connector, |
|
- | 98 | * or NULL if the connector is not part of the global atomic state. |
|
- | 99 | */ |
|
- | 100 | static inline struct drm_connector_state * |
|
- | 101 | drm_atomic_get_existing_connector_state(struct drm_atomic_state *state, |
|
- | 102 | struct drm_connector *connector) |
|
- | 103 | { |
|
Line -... | Line 104... | ||
- | 104 | int index = drm_connector_index(connector); |
|
- | 105 | ||
- | 106 | if (index >= state->num_connector) |
|
- | 107 | return NULL; |
|
- | 108 | ||
- | 109 | return state->connector_states[index]; |
|
- | 110 | } |
|
- | 111 | ||
- | 112 | int __must_check |
|
- | 113 | drm_atomic_set_mode_for_crtc(struct drm_crtc_state *state, |
|
- | 114 | struct drm_display_mode *mode); |
|
- | 115 | int __must_check |
|
46 | struct drm_connector *connector); |
116 | drm_atomic_set_mode_prop_for_crtc(struct drm_crtc_state *state, |
47 | 117 | struct drm_property_blob *blob); |
|
48 | int __must_check |
118 | int __must_check |
49 | drm_atomic_set_crtc_for_plane(struct drm_atomic_state *state, |
119 | drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state, |
50 | struct drm_plane *plane, struct drm_crtc *crtc); |
120 | struct drm_crtc *crtc); |
51 | void drm_atomic_set_fb_for_plane(struct drm_plane_state *plane_state, |
121 | void drm_atomic_set_fb_for_plane(struct drm_plane_state *plane_state, |
52 | struct drm_framebuffer *fb); |
122 | struct drm_framebuffer *fb); |
53 | int __must_check |
123 | int __must_check |
54 | drm_atomic_set_crtc_for_connector(struct drm_connector_state *conn_state, |
124 | drm_atomic_set_crtc_for_connector(struct drm_connector_state *conn_state, |
55 | struct drm_crtc *crtc); |
125 | struct drm_crtc *crtc); |
56 | int __must_check |
126 | int __must_check |
- | 127 | drm_atomic_add_affected_connectors(struct drm_atomic_state *state, |
|
- | 128 | struct drm_crtc *crtc); |
|
- | 129 | int __must_check |
|
- | 130 | drm_atomic_add_affected_planes(struct drm_atomic_state *state, |
|
57 | drm_atomic_add_affected_connectors(struct drm_atomic_state *state, |
131 | struct drm_crtc *crtc); |
58 | struct drm_crtc *crtc); |
132 | |
59 | int |
133 | int |
Line 60... | Line 134... | ||
60 | drm_atomic_connectors_for_crtc(struct drm_atomic_state *state, |
134 | drm_atomic_connectors_for_crtc(struct drm_atomic_state *state, |
Line -... | Line 135... | ||
- | 135 | struct drm_crtc *crtc); |
|
- | 136 | ||
- | 137 | void drm_atomic_legacy_backoff(struct drm_atomic_state *state); |
|
61 | struct drm_crtc *crtc); |
138 | |
62 | 139 | void |
|
63 | void drm_atomic_legacy_backoff(struct drm_atomic_state *state); |
140 | drm_atomic_clean_old_fb(struct drm_device *dev, unsigned plane_mask, int ret); |
Line -... | Line 141... | ||
- | 141 | ||
- | 142 | int __must_check drm_atomic_check_only(struct drm_atomic_state *state); |
|
- | 143 | int __must_check drm_atomic_commit(struct drm_atomic_state *state); |
|
- | 144 | int __must_check drm_atomic_async_commit(struct drm_atomic_state *state); |
|
- | 145 | ||
- | 146 | #define for_each_connector_in_state(state, connector, connector_state, __i) \ |
|
- | 147 | for ((__i) = 0; \ |
|
- | 148 | (__i) < (state)->num_connector && \ |
|
- | 149 | ((connector) = (state)->connectors[__i], \ |
|
- | 150 | (connector_state) = (state)->connector_states[__i], 1); \ |
|
- | 151 | (__i)++) \ |
|
- | 152 | if (connector) |
|
- | 153 | ||
- | 154 | #define for_each_crtc_in_state(state, crtc, crtc_state, __i) \ |
|
- | 155 | for ((__i) = 0; \ |
|
- | 156 | (__i) < (state)->dev->mode_config.num_crtc && \ |
|
- | 157 | ((crtc) = (state)->crtcs[__i], \ |
|
- | 158 | (crtc_state) = (state)->crtc_states[__i], 1); \ |
|
- | 159 | (__i)++) \ |
|
- | 160 | if (crtc_state) |
|
- | 161 | ||
- | 162 | #define for_each_plane_in_state(state, plane, plane_state, __i) \ |
|
- | 163 | for ((__i) = 0; \ |
|
- | 164 | (__i) < (state)->dev->mode_config.num_total_plane && \ |
|
- | 165 | ((plane) = (state)->planes[__i], \ |
|
- | 166 | (plane_state) = (state)->plane_states[__i], 1); \ |
|
- | 167 | (__i)++) \ |
|
- | 168 | if (plane_state) |
|
- | 169 | static inline bool |
|
- | 170 | drm_atomic_crtc_needs_modeset(struct drm_crtc_state *state) |
|
- | 171 | { |
|
64 | 172 | return state->mode_changed || state->active_changed || |