dma: xilinx: vdma: Replace pr_debug() with dev_err()

Replace the two pr_debug() calls with dev_err() calls, as they indicate
an error condition.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
dma: xilinx: vdma: Clean up interrupt handler

Read the status register once only, and only acknowledge interrupts that
have been detected.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
dma: xilinx: vdma: Handle unrecoverable errors in interrupt handler

Make sure unrecoverable errors are properly flagged with an appropriate
error message.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
dma: xilinx: vdma: Poll the status register when starting/stopping

After setting or clearing the run/stop bit in the control register, the
DMA engine run status is reflected by the halted bit in the status
register. Fix the driver to poll the halted bit instead of polling the
run/stop bit.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
dma: xilinx: vdma: Clear error flag when resetting the DMA engine

Resetting the DMA engine clears the hardware error conditions. Clear the
software error flag as well.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[HACK] xilinx video tpg: Reset the TPG at streamoff time

Stopping the TPG without resetting it confuses the VDMA and results in
VDMA errors the next time the stream is started. Reset the TPG when
stopping the stream for now.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>