linux/drivers/media/platform
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
..
am437x [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
atmel [media] atmel-isc: fix error return code in atmel_isc_probe() 2016-11-22 05:40:52 -02:00
blackfin [media] blackfin: check devm_pinctrl_get() for errors 2016-11-18 14:22:27 -02:00
coda [media] coda: fix the error path in coda_probe() 2016-10-24 18:34:45 -02:00
davinci [media] DaVinci-VPFE-Capture: Replace a memcpy() call by an assignment in vpfe_enum_input() 2016-11-16 15:25:06 -02:00
exynos4-is [media] exynos4-is: fimc: Roundup imagesize to row size for tiled formats 2016-11-16 16:24:53 -02:00
exynos-gsc [media] exynos-gsc: Add support for Exynos5433 specific version 2016-11-16 16:37:24 -02:00
marvell-ccic [media] marvell-ccic: don't break long lines 2016-10-21 09:30:46 -02:00
mtk-mdp [media] mtk-mdp: allocate video_device dynamically 2016-11-22 05:42:29 -02:00
mtk-vcodec [media] mtk-vcodec: add index check in decoder vidioc_qbuf 2016-11-16 15:27:43 -02:00
mtk-vpu [media] VPU: mediatek: Fix return value in case of error 2016-10-24 18:11:57 -02:00
omap Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
omap3isp [media] v4l: omap3isp: Use dma_request_chan_by_mask() to request the DMA channel 2016-11-16 16:14:20 -02:00
rcar-vin [media] rcar-vin: add R-Car gen2 fallback compatibility string 2016-09-22 12:52:55 -03:00
s3c-camif [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
s5p-g2d [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
s5p-jpeg [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
s5p-mfc [media] s5p-mfc: Fix clock management in s5p_mfc_release() function 2016-11-16 16:40:39 -02:00
soc_camera [media] soc-camera/rcar-vin: remove obsolete driver 2016-09-19 16:29:54 -03:00
sti [media] c8sectpfe: fix error return code in c8sectpfe_probe() 2016-11-21 11:41:43 -02:00
ti-vpe [media] media: ti-vpe: vpdma: Add abort channel desc and cleanup APIs 2016-11-22 07:20:08 -02:00
vivid [media] vivid: fix HDMI VSDB block in the EDID 2016-11-22 05:41:15 -02:00
vsp1 [media] v4l: vsp1: Fix module autoload for OF registration 2016-11-16 13:16:23 -02:00
xilinx [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
arv.c
fsl-viu.c [media] fsl-viu: drop format names 2015-08-11 06:59:09 -03:00
Kconfig [media] media: ti-vpe: vpdma: Make vpdma library into its own module 2016-11-22 06:24:25 -02:00
m2m-deinterlace.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
Makefile [media] v4l: Add Renesas R-Car FDP1 Driver 2016-11-16 16:21:54 -02:00
mx2_emmaprp.c [media] platform: don't break long lines 2016-10-21 10:06:32 -02:00
pxa_camera.c [media] media: platform: pxa_camera: add missing sensor power on 2016-10-24 18:08:12 -02:00
rcar_fdp1.c [media] v4l: Add Renesas R-Car FDP1 Driver 2016-11-16 16:21:54 -02:00
rcar_jpu.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
rcar-fcp.c [media] v4l: rcar-fcp: Fix module autoload for OF registration 2016-11-16 13:17:07 -02:00
sh_veu.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
sh_vou.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
via-camera.c [media] platform: don't break long lines 2016-10-21 10:06:32 -02:00
via-camera.h
vim2m.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00