linux/drivers/gpu/ipu-v3
Steve Longerbeam 819bec35c8 gpu: ipu-v3: image-convert: Prevent race between run and unprepare
Prevent possible race by parallel threads between ipu_image_convert_run()
and ipu_image_convert_unprepare(). This involves setting ctx->aborting
to true unconditionally so that no new job runs can be queued during
unprepare, and holding the ctx->aborting flag until the context is freed.

Note that the "normal" ipu_image_convert_abort() case (e.g. not during
context unprepare) should clear the ctx->aborting flag after aborting
any active run and clearing the context's pending queue. This is because
it should be possible to continue to use the conversion context and queue
more runs after an abort.

Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-11-05 14:40:06 +01:00
..
ipu-common.c drm/imx: ipu-v3 plane offset and IPU id fixes 2018-08-10 11:37:35 +10:00
ipu-cpmem.c gpu: ipu-v3: Add chroma plane offset overrides to ipu_cpmem_set_image() 2018-11-05 14:40:06 +01:00
ipu-csi.c media: v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY 2018-10-04 16:06:15 -04:00
ipu-dc.c gpu: ipu-v3: ipu-dc: Remove unused 'di' variable 2017-10-04 12:18:56 +02:00
ipu-di.c gpu: ipu-di: silence videomode logspam 2016-11-09 10:41:14 +01:00
ipu-dmfc.c gpu: ipu-v3: Do not wait for DMFC FIFO to clear when disabling DMFC channel 2016-08-29 12:45:05 +02:00
ipu-dp.c drm/imx: add deferred plane disabling 2017-03-15 15:42:29 +01:00
ipu-ic.c gpu: ipu-v3: ipu-ic: allow to manually set resize coefficients 2018-11-05 14:40:06 +01:00
ipu-image-convert.c gpu: ipu-v3: image-convert: Prevent race between run and unprepare 2018-11-05 14:40:06 +01:00
ipu-pre.c driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER 2018-07-09 12:14:31 +02:00
ipu-prg.c driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER 2018-07-09 12:14:31 +02:00
ipu-prv.h gpu: ipu-v3: pre: add tiled prefetch support 2017-12-19 12:49:11 +01:00
ipu-smfc.c IPUv3 fixes for v3.18 2014-10-07 14:31:14 +10:00
ipu-vdi.c gpu: ipu-v3: vdic: include AUTO field order bit in ipu_vdi_set_field_order 2017-06-08 08:57:20 +02:00
Kconfig gpu: ipu-v3: allow to build with COMPILE_TEST 2017-12-19 12:49:11 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00