Lines Matching defs:old_state

1094 crtc_needs_disable(struct drm_crtc_state *old_state,
1102 return drm_atomic_crtc_effectively_active(old_state);
1109 if (old_state->self_refresh_active &&
1110 old_state->crtc != new_state->crtc)
1119 return old_state->active ||
1120 (old_state->self_refresh_active && !new_state->active) ||
1125 disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
1133 for_each_oldnew_connector_in_state(old_state, connector, old_conn_state, new_conn_state, i) {
1145 old_crtc_state = drm_atomic_get_old_crtc_state(old_state, old_conn_state->crtc);
1149 old_state,
1176 drm_atomic_bridge_chain_disable(bridge, old_state);
1181 funcs->atomic_disable(encoder, old_state);
1190 drm_atomic_bridge_chain_post_disable(bridge, old_state);
1193 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
1214 funcs->atomic_disable(crtc, old_state);
1242 * @old_state: atomic state object with old state structures
1258 struct drm_atomic_state *old_state)
1267 for_each_oldnew_connector_in_state(old_state, connector, old_conn_state, new_conn_state, i) {
1288 for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
1300 for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i) {
1308 drm_atomic_get_new_plane_state(old_state, primary);
1340 crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
1348 for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i) {
1364 for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
1404 * @old_state: atomic state object with old state structures
1416 struct drm_atomic_state *old_state)
1418 disable_outputs(dev, old_state);
1420 drm_atomic_helper_update_legacy_modeset_state(dev, old_state);
1421 drm_atomic_helper_calc_timestamping_constants(old_state);
1423 crtc_set_mode(dev, old_state);
1428 struct drm_atomic_state *old_state)
1434 for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
1443 funcs->atomic_commit(connector, old_state);
1451 * @old_state: atomic state object with old state structures
1463 struct drm_atomic_state *old_state)
1472 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
1488 funcs->atomic_enable(crtc, old_state);
1494 for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
1517 drm_atomic_bridge_chain_pre_enable(bridge, old_state);
1521 funcs->atomic_enable(encoder, old_state);
1528 drm_atomic_bridge_chain_enable(bridge, old_state);
1531 drm_atomic_helper_commit_writebacks(dev, old_state);
1633 * @old_state: atomic state object with old state structures
1647 struct drm_atomic_state *old_state)
1658 if (old_state->legacy_cursor_update)
1661 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
1670 old_state->crtcs[i].last_vblank_count = drm_crtc_vblank_count(crtc);
1673 for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) {
1678 old_state->crtcs[i].last_vblank_count !=
1693 * @old_state: atomic state object with old state structures
1706 struct drm_atomic_state *old_state)
1712 struct drm_crtc_commit *commit = old_state->crtcs[i].commit;
1715 crtc = old_state->crtcs[i].ptr;
1726 if (old_state->fake_commit)
1727 complete_all(&old_state->fake_commit->flip_done);
1733 * @old_state: atomic state object with old state structures
1744 void drm_atomic_helper_commit_tail(struct drm_atomic_state *old_state)
1746 struct drm_device *dev = old_state->dev;
1748 drm_atomic_helper_commit_modeset_disables(dev, old_state);
1750 drm_atomic_helper_commit_planes(dev, old_state, 0);
1752 drm_atomic_helper_commit_modeset_enables(dev, old_state);
1754 drm_atomic_helper_fake_vblank(old_state);
1756 drm_atomic_helper_commit_hw_done(old_state);
1758 drm_atomic_helper_wait_for_vblanks(dev, old_state);
1760 drm_atomic_helper_cleanup_planes(dev, old_state);
1766 * @old_state: new modeset state to be committed
1774 void drm_atomic_helper_commit_tail_rpm(struct drm_atomic_state *old_state)
1776 struct drm_device *dev = old_state->dev;
1778 drm_atomic_helper_commit_modeset_disables(dev, old_state);
1780 drm_atomic_helper_commit_modeset_enables(dev, old_state);
1782 drm_atomic_helper_commit_planes(dev, old_state,
1785 drm_atomic_helper_fake_vblank(old_state);
1787 drm_atomic_helper_commit_hw_done(old_state);
1789 drm_atomic_helper_wait_for_vblanks(dev, old_state);
1791 drm_atomic_helper_cleanup_planes(dev, old_state);
1795 static void commit_tail(struct drm_atomic_state *old_state)
1797 struct drm_device *dev = old_state->dev;
1819 drm_atomic_helper_wait_for_fences(dev, old_state, false);
1821 drm_atomic_helper_wait_for_dependencies(old_state);
1828 for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i)
1833 funcs->atomic_commit_tail(old_state);
1835 drm_atomic_helper_commit_tail(old_state);
1839 drm_self_refresh_helper_update_avg_times(old_state,
1843 drm_atomic_helper_commit_cleanup_done(old_state);
1845 drm_atomic_state_put(old_state);
2389 * @old_state: atomic state object with old state structures
2392 * @old_state to both be committed to the hardware (as signalled by
2399 void drm_atomic_helper_wait_for_dependencies(struct drm_atomic_state *old_state)
2410 for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) {
2418 for_each_old_connector_in_state(old_state, conn, old_conn_state, i) {
2426 for_each_old_plane_in_state(old_state, plane, old_plane_state, i) {
2438 * @old_state: atomic state object with old state structures
2454 void drm_atomic_helper_fake_vblank(struct drm_atomic_state *old_state)
2460 for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i) {
2466 spin_lock_irqsave(&old_state->dev->event_lock, flags);
2472 spin_unlock_irqrestore(&old_state->dev->event_lock, flags);
2479 * @old_state: atomic state object with old state structures
2492 void drm_atomic_helper_commit_hw_done(struct drm_atomic_state *old_state)
2499 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
2519 if (old_state->fake_commit) {
2520 complete_all(&old_state->fake_commit->hw_done);
2521 complete_all(&old_state->fake_commit->flip_done);
2528 * @old_state: atomic state object with old state structures
2530 * This signals completion of the atomic update @old_state, including any
2537 void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *old_state)
2544 for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) {
2557 if (old_state->fake_commit) {
2558 complete_all(&old_state->fake_commit->cleanup_done);
2559 WARN_ON(!try_wait_for_completion(&old_state->fake_commit->hw_done));
2697 * @old_state: atomic state object with old state structures
2705 * It still requires the global state object @old_state to know which planes and
2736 struct drm_atomic_state *old_state,
2747 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
2758 funcs->atomic_begin(crtc, old_state);
2761 for_each_oldnew_plane_in_state(old_state, plane, old_plane_state, new_plane_state, i) {
2799 funcs->atomic_disable(plane, old_state);
2801 funcs->atomic_update(plane, old_state);
2805 funcs->atomic_enable(plane, old_state);
2810 for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
2821 funcs->atomic_flush(crtc, old_state);
2828 for_each_old_plane_in_state(old_state, plane, old_plane_state, i) {
2859 struct drm_atomic_state *old_state = old_crtc_state->state;
2861 drm_atomic_get_new_crtc_state(old_state, crtc);
2870 crtc_funcs->atomic_begin(crtc, old_state);
2874 drm_atomic_get_old_plane_state(old_state, plane);
2876 drm_atomic_get_new_plane_state(old_state, plane);
2891 plane_funcs->atomic_disable(plane, old_state);
2893 plane_funcs->atomic_update(plane, old_state);
2897 plane_funcs->atomic_enable(plane, old_state);
2903 crtc_funcs->atomic_flush(crtc, old_state);
2955 * @old_state: atomic state object with old state structures
2958 * configuration. Hence the old configuration must be perserved in @old_state to
2966 struct drm_atomic_state *old_state)
2972 for_each_old_plane_in_state(old_state, plane, old_plane_state, i) {
3571 state->planes[i].old_state = plane->state;
3574 state->crtcs[i].old_state = crtc->state;
3577 state->connectors[i].old_state = connector->state;