drm/vmwgfx: Stabilize the command buffer submission code
authorThomas Hellstrom <thellstrom@vmware.com>
Wed, 21 Oct 2015 19:31:49 +0000 (21:31 +0200)
committerThomas Hellstrom <thellstrom@vmware.com>
Wed, 21 Oct 2015 19:31:49 +0000 (21:31 +0200)
commit09dc1387c9c06cdaf55bc99b35238bd2ec0aed4b
tree58442a83eb12933095397bc3c9905866abb3a31a
parented7d78b2da32198ca4c70172e3b63c6b3e2c570b
drm/vmwgfx: Stabilize the command buffer submission code

This commit addresses some stability problems with the command buffer
submission code recently introduced:

1) Make the vmw_cmdbuf_man_process() function handle reruns internally to
avoid losing interrupts if the caller forgets to rerun on -EAGAIN.
2) Handle default command buffer allocations using inline command buffers.
This avoids rare allocation deadlocks.
3) In case of command buffer errors we might lose fence submissions.
Therefore send a new fence after each command buffer error. This will help
avoid lengthy fence waits.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c