drm/vc4: Use interrupts for frame end handling.

We still exec synchronously, but this gets rid of the busy wait.

Signed-off-by: Eric Anholt <eric@anholt.net>