linux/drivers/media/platform/ti-vpe
Nikhil Devshatwar dc12b12435 [media] media: ti-vpe: vpdma: Add abort channel desc and cleanup APIs
Whenever VPDMA processes a data descriptor of a list, it processes it
and sets up the channel for the DMA transaction. List manager holds the
descriptor in the list until the DMA is complete. If sync_on_channel
descriptor, or another descriptor for the same channel is present in
the FIFO, list manager keeps them until the current channel is free.

When the capture stream is closed suddenly while there are pending
descriptors in the FIFO (streamON failed, application killed), it would
keep the VPDMA in a busy state. Any further list post would fail with
EBUSY.

To avoid this, drivers need to stop the current processing list and
cleanup all the resources VPDMA has taken and also clear the internal FSM
of list manager. The state machine is cleared by issuing channel specific
abort descriptor.

Therefore, the vpdma_list_cleanup accepts an array of channels for which
abort_channel descriptors should be posted. It is driver's responsibility
to post for all the channels or the channels which were used in the last
context.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-11-22 07:20:08 -02:00
..
cal_regs.h [media] media: ti-vpe: Add CAL v4l2 camera capture driver 2016-02-01 08:45:26 -02:00
cal.c [media] media: platform: ti-vpe: call of_node_put on non-null pointer 2016-11-18 14:23:33 -02:00
csc.c [media] ti-vpe: fix sparse warnings 2014-11-05 09:09:26 -02:00
csc.h [media] v4l: ti-vpe: Add helper to perform color conversion 2014-01-07 06:57:08 -02:00
Makefile [media] media: ti-vpe: vpdma: Make vpdma library into its own module 2016-11-22 06:24:25 -02:00
sc_coeff.h [media] v4l: ti-vpe: support loading of scaler coefficients 2014-01-07 06:54:48 -02:00
sc.c [media] ti-vpe: fix sparse warnings 2014-11-05 09:09:26 -02:00
sc.h [media] v4l: ti-vpe: enable basic scaler support 2014-01-07 06:55:35 -02:00
vpdma_priv.h [media] media: ti-vpe: vpdma: Add support for setting max width height 2016-11-22 07:10:49 -02:00
vpdma.c [media] media: ti-vpe: vpdma: Add abort channel desc and cleanup APIs 2016-11-22 07:20:08 -02:00
vpdma.h [media] media: ti-vpe: vpdma: Add abort channel desc and cleanup APIs 2016-11-22 07:20:08 -02:00
vpe_regs.h [media] v4l: ti-vpe: create a color space converter block library 2014-01-07 06:56:18 -02:00
vpe.c [media] media: ti-vpe: vpdma: Add support for setting max width height 2016-11-22 07:10:49 -02:00