[PATCH v3 0/4] Fix DP busy wait and defer disabling overlay plane

Philipp Zabel p.zabel at pengutronix.de
Tue Feb 28 14:18:33 UTC 2017


Hi,

third try. This time I've removed the drm_atomic_helper_wait_for_vblanks
call from imx_drm_commit_tail unless there are planes to be disabled.
Also the drm_atomic_helper_cleanup_planes call is removed, as that is
a no-op for CMA framebuffer based drivers.

This series fixes an issue with the IPU DC/DP/IDMAC disable sequence. The
interrupt waiting code didn't work as expected, sometimes causing busy waits
longer than the timeout in drm_atomic_helper_wait_for_vblanks, which would
cause crashes similar to the reported "imxdrm issue on SABRE Lite" [1].

[1] http://www.spinics.net/lists/dri-devel/msg132485.html

I could only reproduce the error when the overlay plane was involved, using
weston with the atomic modeset patchset to trigger it, so I'm not sure if this
fixes the issue above, too.

regards
Philipp

Lucas Stach (1):
  gpu: ipu-v3: remove IRQ dance on DC channel disable

Philipp Zabel (3):
  gpu: ipu-v3: add unsynchronised DP channel disabling
  drm/imx: don't wait for vblank and stop calling cleanup_planes in
    commit_tail
  drm/imx: add deferred plane disabling

 drivers/gpu/drm/imx/imx-drm-core.c | 20 +++++++++++--
 drivers/gpu/drm/imx/ipuv3-crtc.c   | 22 +++++++++++++-
 drivers/gpu/drm/imx/ipuv3-plane.c  | 25 +++++++++++-----
 drivers/gpu/drm/imx/ipuv3-plane.h  |  5 ++++
 drivers/gpu/ipu-v3/ipu-common.c    |  8 +++--
 drivers/gpu/ipu-v3/ipu-dc.c        | 61 +++-----------------------------------
 drivers/gpu/ipu-v3/ipu-dp.c        | 15 ++++------
 drivers/gpu/ipu-v3/ipu-prv.h       |  7 ++++-
 include/video/imx-ipu-v3.h         |  2 +-
 9 files changed, 83 insertions(+), 82 deletions(-)

-- 
2.11.0



More information about the dri-devel mailing list