linux-uconsole/drivers/gpu/ipu-v3
Steve Longerbeam a6eccfac83 gpu: ipu-v3: image-convert: Prevent race between run and unprepare
[ Upstream commit 819bec35c8 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-02-12 19:46:57 +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 drm/imx: ipu-v3 plane offset and IPU id fixes 2018-08-10 11:37:35 +10:00
ipu-csi.c gpu: ipu-v3: csi: support RGB565 on parallel bus 2018-07-16 16:56:37 +02: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: allow to build with COMPILE_TEST 2017-12-19 12:49:11 +01:00
ipu-image-convert.c gpu: ipu-v3: image-convert: Prevent race between run and unprepare 2019-02-12 19:46:57 +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