2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/drivers/gpu/ipu-v3
Philipp Zabel eb8c88808c drm/imx: add deferred plane disabling
The DP (display processor) channel disable code tried to busy wait for
the DP sync flow end interrupt status bit when disabling the partial
plane without a full modeset. That never worked reliably, and it was
disabled completely by the recent "gpu: ipu-v3: remove IRQ dance on DC
channel disable" patch, causing ipu_wait_interrupt to always time out
after 50 ms, which in turn would trigger a timeout in
drm_atomic_helper_wait_for_vblanks.

This patch changes ipu_plane_atomic_disable to only queue a DP channel
register update at the next frame boundary and set a flag, which can be
done without any waiting whatsoever. The imx_drm_atomic_commit_tail then
calls a new ipu_plane_disable_deferred function that does the actual
IDMAC teardown of the planes that are flagged for deferred disabling,
after waiting for the vblank.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
2017-03-15 15:42:29 +01:00
..
ipu-common.c gpu: ipu-v3: add unsynchronised DP channel disabling 2017-03-15 15:28:27 +01:00
ipu-cpmem.c gpu: ipu-cpmem: add bayer formats to ipu_cpmem_set_image 2017-03-15 15:28:27 +01:00
ipu-csi.c gpu: ipu-v3: export ipu_csi_set_downsize 2017-02-17 08:04:27 +01:00
ipu-dc.c gpu: ipu-v3: remove IRQ dance on DC channel disable 2017-03-15 15:28:27 +01: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: Add ipu_rot_mode_is_irt() 2016-09-19 08:30:14 +02:00
ipu-image-convert.c gpu: ipu-v3: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) 2016-10-17 08:21:53 +02:00
ipu-prv.h gpu: ipu-v3: add unsynchronised DP channel disabling 2017-03-15 15:28:27 +01:00
ipu-smfc.c IPUv3 fixes for v3.18 2014-10-07 14:31:14 +10:00
ipu-vdi.c gpu: ipu-v3: Add Video Deinterlacer unit 2016-08-29 16:30:11 +02:00
Kconfig gpu: Remove depends on RESET_CONTROLLER when not a provider 2016-10-19 09:26:15 +02:00
Makefile gpu: ipu-v3: Add queued image conversion support 2016-09-19 08:30:27 +02:00