Lines Matching refs:state

57 drm_atomic_helper_plane_changed(struct drm_atomic_state *state,  in drm_atomic_helper_plane_changed()  argument
63 if (plane->state->crtc) { in drm_atomic_helper_plane_changed()
64 crtc_state = state->crtc_states[drm_crtc_index(plane->state->crtc)]; in drm_atomic_helper_plane_changed()
74 state->crtc_states[drm_crtc_index(plane_state->crtc)]; in drm_atomic_helper_plane_changed()
93 if (connector->state->best_encoder != encoder) in get_current_crtc_for_encoder()
96 return connector->state->crtc; in get_current_crtc_for_encoder()
103 steal_encoder(struct drm_atomic_state *state, in steal_encoder() argument
107 struct drm_mode_config *config = &state->dev->mode_config; in steal_encoder()
123 crtc_state = drm_atomic_get_crtc_state(state, encoder_crtc); in steal_encoder()
130 if (connector->state->best_encoder != encoder) in steal_encoder()
137 connector_state = drm_atomic_get_connector_state(state, in steal_encoder()
152 update_connector_routing(struct drm_atomic_state *state, int conn_idx) in update_connector_routing() argument
162 connector = state->connectors[conn_idx]; in update_connector_routing()
163 connector_state = state->connector_states[conn_idx]; in update_connector_routing()
172 if (connector->state->crtc != connector_state->crtc) { in update_connector_routing()
173 if (connector->state->crtc) { in update_connector_routing()
174 idx = drm_crtc_index(connector->state->crtc); in update_connector_routing()
176 crtc_state = state->crtc_states[idx]; in update_connector_routing()
183 crtc_state = state->crtc_states[idx]; in update_connector_routing()
232 encoder_crtc = get_current_crtc_for_encoder(state->dev, in update_connector_routing()
236 ret = steal_encoder(state, new_encoder, encoder_crtc); in update_connector_routing()
251 crtc_state = state->crtc_states[idx]; in update_connector_routing()
265 mode_fixup(struct drm_atomic_state *state) in mode_fixup() argument
274 for_each_crtc_in_state(state, crtc, crtc_state, i) { in mode_fixup()
282 for_each_connector_in_state(state, connector, conn_state, i) { in mode_fixup()
292 state->crtc_states[drm_crtc_index(conn_state->crtc)]; in mode_fixup()
329 for_each_crtc_in_state(state, crtc, crtc_state, i) { in mode_fixup()
381 struct drm_atomic_state *state) in drm_atomic_helper_check_modeset() argument
389 for_each_crtc_in_state(state, crtc, crtc_state, i) { in drm_atomic_helper_check_modeset()
390 if (!drm_mode_equal(&crtc->state->mode, &crtc_state->mode)) { in drm_atomic_helper_check_modeset()
396 if (crtc->state->enable != crtc_state->enable) { in drm_atomic_helper_check_modeset()
413 for_each_connector_in_state(state, connector, connector_state, i) { in drm_atomic_helper_check_modeset()
419 ret = update_connector_routing(state, i); in drm_atomic_helper_check_modeset()
430 for_each_crtc_in_state(state, crtc, crtc_state, i) { in drm_atomic_helper_check_modeset()
438 if (crtc->state->active != crtc_state->active) { in drm_atomic_helper_check_modeset()
452 ret = drm_atomic_add_affected_connectors(state, crtc); in drm_atomic_helper_check_modeset()
456 ret = drm_atomic_add_affected_planes(state, crtc); in drm_atomic_helper_check_modeset()
460 num_connectors = drm_atomic_connectors_for_crtc(state, in drm_atomic_helper_check_modeset()
471 return mode_fixup(state); in drm_atomic_helper_check_modeset()
492 struct drm_atomic_state *state) in drm_atomic_helper_check_planes() argument
500 for_each_plane_in_state(state, plane, plane_state, i) { in drm_atomic_helper_check_planes()
505 drm_atomic_helper_plane_changed(state, plane_state, plane); in drm_atomic_helper_check_planes()
518 for_each_crtc_in_state(state, crtc, crtc_state, i) { in drm_atomic_helper_check_planes()
526 ret = funcs->atomic_check(crtc, state->crtc_states[i]); in drm_atomic_helper_check_planes()
559 struct drm_atomic_state *state) in drm_atomic_helper_check() argument
563 ret = drm_atomic_helper_check_modeset(dev, state); in drm_atomic_helper_check()
567 ret = drm_atomic_helper_check_planes(dev, state); in drm_atomic_helper_check()
597 !drm_atomic_crtc_needs_modeset(old_conn_state->crtc->state)) in disable_outputs()
620 if (connector->state->crtc && funcs->prepare) in disable_outputs()
634 if (!drm_atomic_crtc_needs_modeset(crtc->state)) in disable_outputs()
647 if (crtc->state->enable && funcs->prepare) in disable_outputs()
688 crtc = connector->state->crtc; in drm_atomic_helper_update_legacy_modeset_state()
690 (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { in drm_atomic_helper_update_legacy_modeset_state()
695 if (crtc && crtc->state->active) in drm_atomic_helper_update_legacy_modeset_state()
706 if (!connector->state->crtc) in drm_atomic_helper_update_legacy_modeset_state()
709 if (WARN_ON(!connector->state->best_encoder)) in drm_atomic_helper_update_legacy_modeset_state()
712 connector->encoder = connector->state->best_encoder; in drm_atomic_helper_update_legacy_modeset_state()
713 connector->encoder->crtc = connector->state->crtc; in drm_atomic_helper_update_legacy_modeset_state()
720 crtc->mode = crtc->state->mode; in drm_atomic_helper_update_legacy_modeset_state()
721 crtc->enabled = crtc->state->enable; in drm_atomic_helper_update_legacy_modeset_state()
724 primary->state->crtc == crtc) { in drm_atomic_helper_update_legacy_modeset_state()
725 crtc->x = primary->state->src_x >> 16; in drm_atomic_helper_update_legacy_modeset_state()
726 crtc->y = primary->state->src_y >> 16; in drm_atomic_helper_update_legacy_modeset_state()
729 if (crtc->state->enable) in drm_atomic_helper_update_legacy_modeset_state()
731 &crtc->state->adjusted_mode); in drm_atomic_helper_update_legacy_modeset_state()
748 if (!crtc->state->mode_changed) in crtc_set_mode()
753 if (crtc->state->enable && funcs->mode_set_nofb) { in crtc_set_mode()
767 if (!connector->state->best_encoder) in crtc_set_mode()
770 encoder = connector->state->best_encoder; in crtc_set_mode()
772 new_crtc_state = connector->state->crtc->state; in crtc_set_mode()
845 if (!drm_atomic_crtc_needs_modeset(crtc->state)) in drm_atomic_helper_commit_modeset_enables()
848 if (!crtc->state->active) in drm_atomic_helper_commit_modeset_enables()
853 if (crtc->state->enable) { in drm_atomic_helper_commit_modeset_enables()
868 if (!connector->state->best_encoder) in drm_atomic_helper_commit_modeset_enables()
871 if (!connector->state->crtc->state->active || in drm_atomic_helper_commit_modeset_enables()
872 !drm_atomic_crtc_needs_modeset(connector->state->crtc->state)) in drm_atomic_helper_commit_modeset_enables()
875 encoder = connector->state->best_encoder; in drm_atomic_helper_commit_modeset_enables()
898 struct drm_atomic_state *state) in wait_for_fences() argument
904 for_each_plane_in_state(state, plane, plane_state, i) { in wait_for_fences()
905 if (!plane->state->fence) in wait_for_fences()
908 WARN_ON(!plane->state->fb); in wait_for_fences()
910 fence_wait(plane->state->fence, false); in wait_for_fences()
911 fence_put(plane->state->fence); in wait_for_fences()
912 plane->state->fence = NULL; in wait_for_fences()
925 if (plane->state->crtc != crtc && in framebuffer_changed()
929 if (plane->state->fb != old_plane_state->fb) in framebuffer_changed()
961 if (!crtc->state->enable) in drm_atomic_helper_wait_for_vblanks()
1024 struct drm_atomic_state *state, in drm_atomic_helper_commit() argument
1032 ret = drm_atomic_helper_prepare_planes(dev, state); in drm_atomic_helper_commit()
1042 drm_atomic_helper_swap_state(dev, state); in drm_atomic_helper_commit()
1060 wait_for_fences(dev, state); in drm_atomic_helper_commit()
1062 drm_atomic_helper_commit_modeset_disables(dev, state); in drm_atomic_helper_commit()
1064 drm_atomic_helper_commit_planes(dev, state, false); in drm_atomic_helper_commit()
1066 drm_atomic_helper_commit_modeset_enables(dev, state); in drm_atomic_helper_commit()
1068 drm_atomic_helper_wait_for_vblanks(dev, state); in drm_atomic_helper_commit()
1070 drm_atomic_helper_cleanup_planes(dev, state); in drm_atomic_helper_commit()
1072 drm_atomic_state_free(state); in drm_atomic_helper_commit()
1129 struct drm_atomic_state *state) in drm_atomic_helper_prepare_planes() argument
1136 struct drm_plane *plane = state->planes[i]; in drm_atomic_helper_prepare_planes()
1137 struct drm_plane_state *plane_state = state->plane_states[i]; in drm_atomic_helper_prepare_planes()
1156 struct drm_plane *plane = state->planes[i]; in drm_atomic_helper_prepare_planes()
1157 struct drm_plane_state *plane_state = state->plane_states[i]; in drm_atomic_helper_prepare_planes()
1173 bool plane_crtc_active(struct drm_plane_state *state) in plane_crtc_active() argument
1175 return state->crtc && state->crtc->state->active; in plane_crtc_active()
1230 if (active_only && !crtc->state->active) in drm_atomic_helper_commit_planes()
1255 if (!disabling && !plane_crtc_active(plane->state)) in drm_atomic_helper_commit_planes()
1266 else if (plane->state->crtc || disabling) in drm_atomic_helper_commit_planes()
1278 if (active_only && !crtc->state->active) in drm_atomic_helper_commit_planes()
1308 struct drm_atomic_state *old_state = old_crtc_state->state; in drm_atomic_helper_commit_planes_on_crtc()
1313 plane_mask |= crtc->state->plane_mask; in drm_atomic_helper_commit_planes_on_crtc()
1329 WARN_ON(plane->state->crtc && plane->state->crtc != crtc); in drm_atomic_helper_commit_planes_on_crtc()
1334 else if (plane->state->crtc || in drm_atomic_helper_commit_planes_on_crtc()
1400 struct drm_atomic_state *state) in drm_atomic_helper_swap_state() argument
1405 struct drm_connector *connector = state->connectors[i]; in drm_atomic_helper_swap_state()
1410 connector->state->state = state; in drm_atomic_helper_swap_state()
1411 swap(state->connector_states[i], connector->state); in drm_atomic_helper_swap_state()
1412 connector->state->state = NULL; in drm_atomic_helper_swap_state()
1416 struct drm_crtc *crtc = state->crtcs[i]; in drm_atomic_helper_swap_state()
1421 crtc->state->state = state; in drm_atomic_helper_swap_state()
1422 swap(state->crtc_states[i], crtc->state); in drm_atomic_helper_swap_state()
1423 crtc->state->state = NULL; in drm_atomic_helper_swap_state()
1427 struct drm_plane *plane = state->planes[i]; in drm_atomic_helper_swap_state()
1432 plane->state->state = state; in drm_atomic_helper_swap_state()
1433 swap(state->plane_states[i], plane->state); in drm_atomic_helper_swap_state()
1434 plane->state->state = NULL; in drm_atomic_helper_swap_state()
1466 struct drm_atomic_state *state; in drm_atomic_helper_update_plane() local
1470 state = drm_atomic_state_alloc(plane->dev); in drm_atomic_helper_update_plane()
1471 if (!state) in drm_atomic_helper_update_plane()
1474 state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); in drm_atomic_helper_update_plane()
1476 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_update_plane()
1496 state->legacy_cursor_update = true; in drm_atomic_helper_update_plane()
1498 ret = drm_atomic_commit(state); in drm_atomic_helper_update_plane()
1508 drm_atomic_state_free(state); in drm_atomic_helper_update_plane()
1512 drm_atomic_state_clear(state); in drm_atomic_helper_update_plane()
1513 drm_atomic_legacy_backoff(state); in drm_atomic_helper_update_plane()
1537 struct drm_atomic_state *state; in drm_atomic_helper_disable_plane() local
1552 state = drm_atomic_state_alloc(plane->dev); in drm_atomic_helper_disable_plane()
1553 if (!state) in drm_atomic_helper_disable_plane()
1556 state->acquire_ctx = drm_modeset_legacy_acquire_ctx(plane->crtc); in drm_atomic_helper_disable_plane()
1558 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_disable_plane()
1565 plane_state->state->legacy_cursor_update = true; in drm_atomic_helper_disable_plane()
1571 ret = drm_atomic_commit(state); in drm_atomic_helper_disable_plane()
1581 drm_atomic_state_free(state); in drm_atomic_helper_disable_plane()
1585 drm_atomic_state_clear(state); in drm_atomic_helper_disable_plane()
1586 drm_atomic_legacy_backoff(state); in drm_atomic_helper_disable_plane()
1622 static int update_output_state(struct drm_atomic_state *state, in update_output_state() argument
1633 state->acquire_ctx); in update_output_state()
1639 conn_state = drm_atomic_get_connector_state(state, in update_output_state()
1645 for_each_crtc_in_state(state, crtc, crtc_state, i) { in update_output_state()
1646 ret = drm_atomic_add_affected_connectors(state, crtc); in update_output_state()
1652 for_each_connector_in_state(state, connector, conn_state, i) { in update_output_state()
1671 for_each_crtc_in_state(state, crtc, crtc_state, i) { in update_output_state()
1679 if (!drm_atomic_connectors_for_crtc(state, crtc)) { in update_output_state()
1703 struct drm_atomic_state *state; in drm_atomic_helper_set_config() local
1707 state = drm_atomic_state_alloc(crtc->dev); in drm_atomic_helper_set_config()
1708 if (!state) in drm_atomic_helper_set_config()
1711 state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); in drm_atomic_helper_set_config()
1713 ret = __drm_atomic_helper_set_config(set, state); in drm_atomic_helper_set_config()
1717 ret = drm_atomic_commit(state); in drm_atomic_helper_set_config()
1727 drm_atomic_state_free(state); in drm_atomic_helper_set_config()
1731 drm_atomic_state_clear(state); in drm_atomic_helper_set_config()
1732 drm_atomic_legacy_backoff(state); in drm_atomic_helper_set_config()
1747 struct drm_atomic_state *state) in __drm_atomic_helper_set_config() argument
1755 crtc_state = drm_atomic_get_crtc_state(state, crtc); in __drm_atomic_helper_set_config()
1759 primary_state = drm_atomic_get_plane_state(state, crtc->primary); in __drm_atomic_helper_set_config()
1813 ret = update_output_state(state, set); in __drm_atomic_helper_set_config()
1837 struct drm_atomic_state *state; in drm_atomic_helper_crtc_set_property() local
1841 state = drm_atomic_state_alloc(crtc->dev); in drm_atomic_helper_crtc_set_property()
1842 if (!state) in drm_atomic_helper_crtc_set_property()
1846 state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; in drm_atomic_helper_crtc_set_property()
1848 crtc_state = drm_atomic_get_crtc_state(state, crtc); in drm_atomic_helper_crtc_set_property()
1859 ret = drm_atomic_commit(state); in drm_atomic_helper_crtc_set_property()
1869 drm_atomic_state_free(state); in drm_atomic_helper_crtc_set_property()
1873 drm_atomic_state_clear(state); in drm_atomic_helper_crtc_set_property()
1874 drm_atomic_legacy_backoff(state); in drm_atomic_helper_crtc_set_property()
1897 struct drm_atomic_state *state; in drm_atomic_helper_plane_set_property() local
1901 state = drm_atomic_state_alloc(plane->dev); in drm_atomic_helper_plane_set_property()
1902 if (!state) in drm_atomic_helper_plane_set_property()
1906 state->acquire_ctx = plane->dev->mode_config.acquire_ctx; in drm_atomic_helper_plane_set_property()
1908 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_plane_set_property()
1919 ret = drm_atomic_commit(state); in drm_atomic_helper_plane_set_property()
1929 drm_atomic_state_free(state); in drm_atomic_helper_plane_set_property()
1933 drm_atomic_state_clear(state); in drm_atomic_helper_plane_set_property()
1934 drm_atomic_legacy_backoff(state); in drm_atomic_helper_plane_set_property()
1957 struct drm_atomic_state *state; in drm_atomic_helper_connector_set_property() local
1961 state = drm_atomic_state_alloc(connector->dev); in drm_atomic_helper_connector_set_property()
1962 if (!state) in drm_atomic_helper_connector_set_property()
1966 state->acquire_ctx = connector->dev->mode_config.acquire_ctx; in drm_atomic_helper_connector_set_property()
1968 connector_state = drm_atomic_get_connector_state(state, connector); in drm_atomic_helper_connector_set_property()
1979 ret = drm_atomic_commit(state); in drm_atomic_helper_connector_set_property()
1989 drm_atomic_state_free(state); in drm_atomic_helper_connector_set_property()
1993 drm_atomic_state_clear(state); in drm_atomic_helper_connector_set_property()
1994 drm_atomic_legacy_backoff(state); in drm_atomic_helper_connector_set_property()
2022 struct drm_atomic_state *state; in drm_atomic_helper_page_flip() local
2030 state = drm_atomic_state_alloc(plane->dev); in drm_atomic_helper_page_flip()
2031 if (!state) in drm_atomic_helper_page_flip()
2034 state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); in drm_atomic_helper_page_flip()
2036 crtc_state = drm_atomic_get_crtc_state(state, crtc); in drm_atomic_helper_page_flip()
2043 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_page_flip()
2054 ret = drm_atomic_async_commit(state); in drm_atomic_helper_page_flip()
2064 drm_atomic_state_free(state); in drm_atomic_helper_page_flip()
2068 drm_atomic_state_clear(state); in drm_atomic_helper_page_flip()
2069 drm_atomic_legacy_backoff(state); in drm_atomic_helper_page_flip()
2099 struct drm_atomic_state *state; in drm_atomic_helper_connector_dpms() local
2111 crtc = connector->state->crtc; in drm_atomic_helper_connector_dpms()
2116 state = drm_atomic_state_alloc(connector->dev); in drm_atomic_helper_connector_dpms()
2117 if (!state) in drm_atomic_helper_connector_dpms()
2120 state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); in drm_atomic_helper_connector_dpms()
2122 crtc_state = drm_atomic_get_crtc_state(state, crtc); in drm_atomic_helper_connector_dpms()
2131 if (tmp_connector->state->crtc != crtc) in drm_atomic_helper_connector_dpms()
2141 ret = drm_atomic_commit(state); in drm_atomic_helper_connector_dpms()
2152 drm_atomic_state_free(state); in drm_atomic_helper_connector_dpms()
2156 drm_atomic_state_clear(state); in drm_atomic_helper_connector_dpms()
2157 drm_atomic_legacy_backoff(state); in drm_atomic_helper_connector_dpms()
2187 if (crtc->state && crtc->state->mode_blob) in drm_atomic_helper_crtc_reset()
2188 drm_property_unreference_blob(crtc->state->mode_blob); in drm_atomic_helper_crtc_reset()
2189 kfree(crtc->state); in drm_atomic_helper_crtc_reset()
2190 crtc->state = kzalloc(sizeof(*crtc->state), GFP_KERNEL); in drm_atomic_helper_crtc_reset()
2192 if (crtc->state) in drm_atomic_helper_crtc_reset()
2193 crtc->state->crtc = crtc; in drm_atomic_helper_crtc_reset()
2206 struct drm_crtc_state *state) in __drm_atomic_helper_crtc_duplicate_state() argument
2208 memcpy(state, crtc->state, sizeof(*state)); in __drm_atomic_helper_crtc_duplicate_state()
2210 if (state->mode_blob) in __drm_atomic_helper_crtc_duplicate_state()
2211 drm_property_reference_blob(state->mode_blob); in __drm_atomic_helper_crtc_duplicate_state()
2212 state->mode_changed = false; in __drm_atomic_helper_crtc_duplicate_state()
2213 state->active_changed = false; in __drm_atomic_helper_crtc_duplicate_state()
2214 state->planes_changed = false; in __drm_atomic_helper_crtc_duplicate_state()
2215 state->connectors_changed = false; in __drm_atomic_helper_crtc_duplicate_state()
2216 state->event = NULL; in __drm_atomic_helper_crtc_duplicate_state()
2230 struct drm_crtc_state *state; in drm_atomic_helper_crtc_duplicate_state() local
2232 if (WARN_ON(!crtc->state)) in drm_atomic_helper_crtc_duplicate_state()
2235 state = kmalloc(sizeof(*state), GFP_KERNEL); in drm_atomic_helper_crtc_duplicate_state()
2236 if (state) in drm_atomic_helper_crtc_duplicate_state()
2237 __drm_atomic_helper_crtc_duplicate_state(crtc, state); in drm_atomic_helper_crtc_duplicate_state()
2239 return state; in drm_atomic_helper_crtc_duplicate_state()
2253 struct drm_crtc_state *state) in __drm_atomic_helper_crtc_destroy_state() argument
2255 if (state->mode_blob) in __drm_atomic_helper_crtc_destroy_state()
2256 drm_property_unreference_blob(state->mode_blob); in __drm_atomic_helper_crtc_destroy_state()
2269 struct drm_crtc_state *state) in drm_atomic_helper_crtc_destroy_state() argument
2271 __drm_atomic_helper_crtc_destroy_state(crtc, state); in drm_atomic_helper_crtc_destroy_state()
2272 kfree(state); in drm_atomic_helper_crtc_destroy_state()
2285 if (plane->state && plane->state->fb) in drm_atomic_helper_plane_reset()
2286 drm_framebuffer_unreference(plane->state->fb); in drm_atomic_helper_plane_reset()
2288 kfree(plane->state); in drm_atomic_helper_plane_reset()
2289 plane->state = kzalloc(sizeof(*plane->state), GFP_KERNEL); in drm_atomic_helper_plane_reset()
2291 if (plane->state) in drm_atomic_helper_plane_reset()
2292 plane->state->plane = plane; in drm_atomic_helper_plane_reset()
2305 struct drm_plane_state *state) in __drm_atomic_helper_plane_duplicate_state() argument
2307 memcpy(state, plane->state, sizeof(*state)); in __drm_atomic_helper_plane_duplicate_state()
2309 if (state->fb) in __drm_atomic_helper_plane_duplicate_state()
2310 drm_framebuffer_reference(state->fb); in __drm_atomic_helper_plane_duplicate_state()
2324 struct drm_plane_state *state; in drm_atomic_helper_plane_duplicate_state() local
2326 if (WARN_ON(!plane->state)) in drm_atomic_helper_plane_duplicate_state()
2329 state = kmalloc(sizeof(*state), GFP_KERNEL); in drm_atomic_helper_plane_duplicate_state()
2330 if (state) in drm_atomic_helper_plane_duplicate_state()
2331 __drm_atomic_helper_plane_duplicate_state(plane, state); in drm_atomic_helper_plane_duplicate_state()
2333 return state; in drm_atomic_helper_plane_duplicate_state()
2347 struct drm_plane_state *state) in __drm_atomic_helper_plane_destroy_state() argument
2349 if (state->fb) in __drm_atomic_helper_plane_destroy_state()
2350 drm_framebuffer_unreference(state->fb); in __drm_atomic_helper_plane_destroy_state()
2363 struct drm_plane_state *state) in drm_atomic_helper_plane_destroy_state() argument
2365 __drm_atomic_helper_plane_destroy_state(plane, state); in drm_atomic_helper_plane_destroy_state()
2366 kfree(state); in drm_atomic_helper_plane_destroy_state()
2380 kfree(connector->state); in drm_atomic_helper_connector_reset()
2381 connector->state = kzalloc(sizeof(*connector->state), GFP_KERNEL); in drm_atomic_helper_connector_reset()
2383 if (connector->state) in drm_atomic_helper_connector_reset()
2384 connector->state->connector = connector; in drm_atomic_helper_connector_reset()
2398 struct drm_connector_state *state) in __drm_atomic_helper_connector_duplicate_state() argument
2400 memcpy(state, connector->state, sizeof(*state)); in __drm_atomic_helper_connector_duplicate_state()
2414 struct drm_connector_state *state; in drm_atomic_helper_connector_duplicate_state() local
2416 if (WARN_ON(!connector->state)) in drm_atomic_helper_connector_duplicate_state()
2419 state = kmalloc(sizeof(*state), GFP_KERNEL); in drm_atomic_helper_connector_duplicate_state()
2420 if (state) in drm_atomic_helper_connector_duplicate_state()
2421 __drm_atomic_helper_connector_duplicate_state(connector, state); in drm_atomic_helper_connector_duplicate_state()
2423 return state; in drm_atomic_helper_connector_duplicate_state()
2450 struct drm_atomic_state *state; in drm_atomic_helper_duplicate_state() local
2456 state = drm_atomic_state_alloc(dev); in drm_atomic_helper_duplicate_state()
2457 if (!state) in drm_atomic_helper_duplicate_state()
2460 state->acquire_ctx = ctx; in drm_atomic_helper_duplicate_state()
2465 crtc_state = drm_atomic_get_crtc_state(state, crtc); in drm_atomic_helper_duplicate_state()
2475 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_duplicate_state()
2485 conn_state = drm_atomic_get_connector_state(state, conn); in drm_atomic_helper_duplicate_state()
2493 state->acquire_ctx = NULL; in drm_atomic_helper_duplicate_state()
2497 drm_atomic_state_free(state); in drm_atomic_helper_duplicate_state()
2498 state = ERR_PTR(err); in drm_atomic_helper_duplicate_state()
2501 return state; in drm_atomic_helper_duplicate_state()
2516 struct drm_connector_state *state) in __drm_atomic_helper_connector_destroy_state() argument
2535 struct drm_connector_state *state) in drm_atomic_helper_connector_destroy_state() argument
2537 __drm_atomic_helper_connector_destroy_state(connector, state); in drm_atomic_helper_connector_destroy_state()
2538 kfree(state); in drm_atomic_helper_connector_destroy_state()