linux/drivers/media/platform/exynos-gsc
Shaik Ameer Basha d9315160ed [media] exynos-gsc: Handle ctx job finish when aborted
When the current context is running,
1] If release() or streamoff() is called on the current context,
   it waits until the job is aborted or finished.
2] If the job is finished, driver will call the v4l2_m2m_job_finish().
3] If the job is aborted inside device_run callback, then driver
   has to inform the v4l2 mem2mem framework about the same by calling
   v4l2_m2m_job_finish() with VB2_BUF_STATE_ERROR.

The current code doesn't call v4l2_m2m_job_finish() in the case, where
the job is aborted from the device_run callback. This scenerio is
producing a hang as the other queued contexts are not getting scheduled.

By adding the ABORT state, driver can understand the current job
is aborted and not finished. By checking this flag, driver can call
v4l2_m2m_job_finish() with VB2_BUF_STATE_ERROR.

Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Avnd Kiran <avnd.kiran@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-28 15:21:58 -02:00
..
Makefile [media] exynos-gsc: Add missing Makefile 2012-09-15 15:09:34 -03:00
gsc-core.c [media] exynos-gsc: Register v4l2 device 2013-09-03 09:24:21 -03:00
gsc-core.h [media] exynos-gsc: Handle ctx job finish when aborted 2013-10-28 15:21:58 -02:00
gsc-m2m.c [media] exynos-gsc: Handle ctx job finish when aborted 2013-10-28 15:21:58 -02:00
gsc-regs.c [media] exynos: remove unnecessary header inclusions 2013-04-04 19:52:41 -03:00
gsc-regs.h [media] exynos-gsc: Fix settings for input and output image RGB type 2012-11-26 18:43:14 -02:00