linux/drivers/gpu/ipu-v3
Lucas Stach d5316cdd15 gpu: ipu-v3: pre: don't use fixed timeout when waiting for safe window
The timeout when waiting for the PRE safe window is rather short, as
normally we would only need to wait a few dozen usecs for the problematic
scanline region to pass and we don't want to spin too long in case
something goes wrong. This however mixes badly with preemption, as we
can easily get scheduled away from the CPU for a longer time than our
timeout, in which case we would hit a spurious timeout and wrongly skip
the PRE update.

Instead of disabling preemption across the wait loop, potentially
impacting the overall system latency, use a wait loop with a fixed
max number of iterations, so time spent away from the CPU is not
accounted against the timeout budget.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20240517104549.3648939-3-l.stach@pengutronix.de
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240517104549.3648939-3-l.stach@pengutronix.de
2024-06-26 17:43:54 +02:00
..
ipu-common.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
ipu-cpmem.c gpu: ipu-v3: Fix i.MX IPU-v3 offset calculations for (semi)planar U/V formats 2021-08-16 15:05:22 +02:00
ipu-csi.c media: v4l2-mediabus: Use structures to describe bus configuration 2022-02-17 09:51:23 +01:00
ipu-dc.c drm/imx: make static read-only array channel_offsets const 2022-04-04 09:34:20 +02:00
ipu-di.c gpu: ipu-v3: Fix dev_dbg frequency output 2022-04-04 09:37:42 +02:00
ipu-dmfc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ipu-dp.c gpu: ipu-v3: Add Rec.709 limited range support to DP 2021-05-10 17:20:29 +02:00
ipu-ic-csc.c gpu: ipu-v3: ipu-ic-csc: Add support for Rec.709 encoding 2019-06-14 15:33:02 +02:00
ipu-ic.c gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions 2019-06-14 15:31:45 +02:00
ipu-image-convert.c drm/i915: Move abs_diff() to math.h 2023-08-18 10:18:59 -07:00
ipu-pre.c gpu: ipu-v3: pre: don't use fixed timeout when waiting for safe window 2024-06-26 17:43:54 +02:00
ipu-prg.c gpu: ipu-v3: pre: add dynamic buffer layout reconfiguration 2024-06-26 17:43:54 +02:00
ipu-prv.h gpu: ipu-v3: pre: add dynamic buffer layout reconfiguration 2024-06-26 17:43:54 +02:00
ipu-smfc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
ipu-vdi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Kconfig drm: Drop ARCH_MULTIPLATFORM from dependencies 2023-03-14 12:57:22 +01:00
Makefile gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions 2019-06-14 15:31:45 +02:00