Op 08-06-16 om 14:19 schreef Daniel Vetter:
Simply split intel_atomic_commit in half and place the new nonblocking commit helpers at the right spots.
NOTE: There's still trouble with obj->frontbuffer bits getting mangled when pipelining atomic commits.
v2:
- Remove the check for nonblocking which returned -EINVAL.
- Do wait for requests in the worker thread before committing hw state.
v3: Move hw_done after the optimize_wm/post_plane_update step, plus add FIXME comment how to fix that up again properly.
v4: Update FIXME for intel_atomic_commit - more stuff works now.
This is not a good idea for now, there are still some places in modeset that rely on being run synchronously. Lockdep will be unhappy and some WARN_ONs will trigger.
I think that you should first only allow nonblocking page flips, and return -EBUSY if intel_state->modeset is set.
~Maarten