Commit 4c5b7f3a authored by Rob Clark's avatar Rob Clark Committed by Daniel Vetter
parent 00c96726
...@@ -984,7 +984,17 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev, ...@@ -984,7 +984,17 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
} }
EXPORT_SYMBOL(drm_atomic_helper_commit_modeset_enables); 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_atomic_state *state)
{ {
struct drm_plane *plane; struct drm_plane *plane;
...@@ -1002,6 +1012,7 @@ static void wait_for_fences(struct drm_device *dev, ...@@ -1002,6 +1012,7 @@ static void wait_for_fences(struct drm_device *dev,
plane->state->fence = NULL; plane->state->fence = NULL;
} }
} }
EXPORT_SYMBOL(drm_atomic_helper_wait_for_fences);
/** /**
* drm_atomic_helper_framebuffer_changed - check if framebuffer has changed * drm_atomic_helper_framebuffer_changed - check if framebuffer has changed
...@@ -1163,7 +1174,7 @@ int drm_atomic_helper_commit(struct drm_device *dev, ...@@ -1163,7 +1174,7 @@ int drm_atomic_helper_commit(struct drm_device *dev,
* current layout. * current layout.
*/ */
wait_for_fences(dev, state); drm_atomic_helper_wait_for_fences(dev, state);
drm_atomic_helper_commit_modeset_disables(dev, state); drm_atomic_helper_commit_modeset_disables(dev, state);
......
...@@ -42,6 +42,8 @@ int drm_atomic_helper_commit(struct drm_device *dev, ...@@ -42,6 +42,8 @@ int drm_atomic_helper_commit(struct drm_device *dev,
struct drm_atomic_state *state, struct drm_atomic_state *state,
bool async); 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, bool drm_atomic_helper_framebuffer_changed(struct drm_device *dev,
struct drm_atomic_state *old_state, struct drm_atomic_state *old_state,
struct drm_crtc *crtc); struct drm_crtc *crtc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment