drm/vmwgfx: Fix a command submission hang regression
authorThomas Hellstrom <thellstrom@vmware.com>
Tue, 29 Sep 2015 14:49:56 +0000 (07:49 -0700)
committerThomas Hellstrom <thellstrom@vmware.com>
Wed, 30 Sep 2015 12:50:37 +0000 (05:50 -0700)
commit575f9c8604e0b4c7b36fb41fc5fd280a3c336906
tree85b38142baf77db885d232c3c6e24bb79f9ab5d1
parent30c64664f110f76064e364cb5dd385edc3751ba5
drm/vmwgfx: Fix a command submission hang regression

When we're out of command buffer space, we turn on the command buffer
processed irq without re-checking for finished command buffers afterwards.
This might lead to a missed irq and the command submission process waiting
forever for space.

Fix this by rerunning the command buffer submission handler whenever we're
out of command space. This ensures both that we don't needlessly turn on
the irq, and that if we decide to turn on the irq, we recheck for finished
command buffers before going to sleep.

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