Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c5b7f3a authored by Rob Clark's avatar Rob Clark Committed by Daniel Vetter
Browse files
parent 00c96726
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -984,7 +984,17 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
}
EXPORT_SYMBOL(drm_atomic_helper_commit_modeset_enables);

static void wait_for_fences(struct drm_device *dev,
/**
 * drm_atomic_helper_wait_for_fences - wait for fences stashed in plane state
 * @dev: DRM device
 * @state: atomic state object with old state structures
 *
 * For implicit sync, driver should fish the exclusive fence out from the
 * incoming fb's and stash it in the drm_plane_state.  This is called after
 * drm_atomic_helper_swap_state() so it uses the current plane state (and
 * just uses the atomic state to find the changed planes)
 */
void drm_atomic_helper_wait_for_fences(struct drm_device *dev,
			    struct drm_atomic_state *state)
{
	struct drm_plane *plane;
@@ -1002,6 +1012,7 @@ static void wait_for_fences(struct drm_device *dev,
		plane->state->fence = NULL;
	}
}
EXPORT_SYMBOL(drm_atomic_helper_wait_for_fences);

/**
 * drm_atomic_helper_framebuffer_changed - check if framebuffer has changed
@@ -1163,7 +1174,7 @@ int drm_atomic_helper_commit(struct drm_device *dev,
	 * current layout.
	 */

	wait_for_fences(dev, state);
	drm_atomic_helper_wait_for_fences(dev, state);

	drm_atomic_helper_commit_modeset_disables(dev, state);

+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ int drm_atomic_helper_commit(struct drm_device *dev,
			     struct drm_atomic_state *state,
			     bool async);

void drm_atomic_helper_wait_for_fences(struct drm_device *dev,
					struct drm_atomic_state *state);
bool drm_atomic_helper_framebuffer_changed(struct drm_device *dev,
					   struct drm_atomic_state *old_state,
					   struct drm_crtc *crtc);