|
@@ -1114,13 +1114,13 @@ EXPORT_SYMBOL(drm_atomic_helper_wait_for_vblanks);
|
|
|
* drm_atomic_helper_commit - commit validated state object
|
|
|
* @dev: DRM device
|
|
|
* @state: the driver state object
|
|
|
- * @async: asynchronous commit
|
|
|
+ * @nonblocking: whether nonblocking behavior is requested.
|
|
|
*
|
|
|
* This function commits a with drm_atomic_helper_check() pre-validated state
|
|
|
* object. This can still fail when e.g. the framebuffer reservation fails. For
|
|
|
- * now this doesn't implement asynchronous commits.
|
|
|
+ * now this doesn't implement nonblocking commits.
|
|
|
*
|
|
|
- * Note that right now this function does not support async commits, and hence
|
|
|
+ * Note that right now this function does not support nonblocking commits, hence
|
|
|
* driver writers must implement their own version for now. Also note that the
|
|
|
* default ordering of how the various stages are called is to match the legacy
|
|
|
* modeset helper library closest. One peculiarity of that is that it doesn't
|
|
@@ -1141,11 +1141,11 @@ EXPORT_SYMBOL(drm_atomic_helper_wait_for_vblanks);
|
|
|
*/
|
|
|
int drm_atomic_helper_commit(struct drm_device *dev,
|
|
|
struct drm_atomic_state *state,
|
|
|
- bool async)
|
|
|
+ bool nonblock)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
- if (async)
|
|
|
+ if (nonblock)
|
|
|
return -EBUSY;
|
|
|
|
|
|
ret = drm_atomic_helper_prepare_planes(dev, state);
|
|
@@ -1195,20 +1195,20 @@ int drm_atomic_helper_commit(struct drm_device *dev,
|
|
|
EXPORT_SYMBOL(drm_atomic_helper_commit);
|
|
|
|
|
|
/**
|
|
|
- * DOC: implementing async commit
|
|
|
+ * DOC: implementing nonblocking commit
|
|
|
*
|
|
|
- * For now the atomic helpers don't support async commit directly. If there is
|
|
|
- * real need it could be added though, using the dma-buf fence infrastructure
|
|
|
- * for generic synchronization with outstanding rendering.
|
|
|
+ * For now the atomic helpers don't support nonblocking commit directly. If
|
|
|
+ * there is real need it could be added though, using the dma-buf fence
|
|
|
+ * infrastructure for generic synchronization with outstanding rendering.
|
|
|
*
|
|
|
- * For now drivers have to implement async commit themselves, with the following
|
|
|
- * sequence being the recommended one:
|
|
|
+ * For now drivers have to implement nonblocking commit themselves, with the
|
|
|
+ * following sequence being the recommended one:
|
|
|
*
|
|
|
* 1. Run drm_atomic_helper_prepare_planes() first. This is the only function
|
|
|
* which commit needs to call which can fail, so we want to run it first and
|
|
|
* synchronously.
|
|
|
*
|
|
|
- * 2. Synchronize with any outstanding asynchronous commit worker threads which
|
|
|
+ * 2. Synchronize with any outstanding nonblocking commit worker threads which
|
|
|
* might be affected the new state update. This can be done by either cancelling
|
|
|
* or flushing the work items, depending upon whether the driver can deal with
|
|
|
* cancelled updates. Note that it is important to ensure that the framebuffer
|
|
@@ -1222,9 +1222,9 @@ EXPORT_SYMBOL(drm_atomic_helper_commit);
|
|
|
* 3. The software state is updated synchronously with
|
|
|
* drm_atomic_helper_swap_state(). Doing this under the protection of all modeset
|
|
|
* locks means concurrent callers never see inconsistent state. And doing this
|
|
|
- * while it's guaranteed that no relevant async worker runs means that async
|
|
|
- * workers do not need grab any locks. Actually they must not grab locks, for
|
|
|
- * otherwise the work flushing will deadlock.
|
|
|
+ * while it's guaranteed that no relevant nonblocking worker runs means that
|
|
|
+ * nonblocking workers do not need grab any locks. Actually they must not grab
|
|
|
+ * locks, for otherwise the work flushing will deadlock.
|
|
|
*
|
|
|
* 4. Schedule a work item to do all subsequent steps, using the split-out
|
|
|
* commit helpers: a) pre-plane commit b) plane commit c) post-plane commit and
|