mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/8] Reorder i.MX IPU display enable/disable sequence
@ 2014-04-14 21:53 Philipp Zabel
  2014-04-14 21:53 ` [PATCH v2 1/8] imx-drm: ipu-common: add ipu_map_irq to request non-IDMAC interrupts Philipp Zabel
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Philipp Zabel @ 2014-04-14 21:53 UTC (permalink / raw)
  To: devel, Russell King
  Cc: Greg Kroah-Hartman, dri-devel, linux-kernel, kernel, Philipp Zabel

Repeatedly enabling and disabling the display currently can lead to a state
in which the IPU doesn't produce a valid signal anymore because we disable
IPU submodules before they can finish their interaction.

This series reorders the enable/disable sequence so that we first wait for the
DC/DP to finish processing the current frame, then stop the DI and IDMAC, and
only then disable clocks to the submodules. Also from now on we really disable
the DC when it is not in use.

Changes since v1:
 - Fixed the DC_FC1 / DP_SF_END interrupt handling
 - Added the missing patch to disable the DC module

regards
Philipp

Philipp Zabel (8):
  imx-drm: ipu-common: add ipu_map_irq to request non-IDMAC interrupts
  imx-drm: ipu-common: Add helpers to check for a busy IDMAC channel and
    to busywait for an interrupt
  imx-drm: ipu-dmfc: Wait for FIFOs to run empty before disabling
  imx-drm: ipu-dc: Wait for DC_FC_1 / DP_SF_END interrupt
  imx-drm: ipu-dp: Split disabling the DP foreground channel from
    disabling the DP module
  imx-drm: imx-dp: When disabling the DP foreground channel, wait until
    the DP background channel is finished before disabling the IDMAC
    channel
  imx-drm: ipuv3-crtc: Change display enable/disable order
  imx-drm: ipu-dc: Disable DC module when not in use

 drivers/staging/imx-drm/ipu-v3/imx-ipu-v3.h |  5 ++
 drivers/staging/imx-drm/ipu-v3/ipu-common.c | 41 ++++++++++++--
 drivers/staging/imx-drm/ipu-v3/ipu-dc.c     | 85 +++++++++++++++++++++--------
 drivers/staging/imx-drm/ipu-v3/ipu-dmfc.c   | 25 ++++++++-
 drivers/staging/imx-drm/ipu-v3/ipu-dp.c     | 71 ++++++++++++++++--------
 drivers/staging/imx-drm/ipu-v3/ipu-prv.h    |  3 +
 drivers/staging/imx-drm/ipuv3-crtc.c        | 14 ++++-
 drivers/staging/imx-drm/ipuv3-plane.c       |  4 ++
 8 files changed, 191 insertions(+), 57 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-04-18 10:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-14 21:53 [PATCH v2 0/8] Reorder i.MX IPU display enable/disable sequence Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 1/8] imx-drm: ipu-common: add ipu_map_irq to request non-IDMAC interrupts Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 2/8] imx-drm: ipu-common: Add helpers to check for a busy IDMAC channel and to busywait for an interrupt Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 3/8] imx-drm: ipu-dmfc: Wait for FIFOs to run empty before disabling Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 4/8] imx-drm: ipu-dc: Wait for DC_FC_1 / DP_SF_END interrupt Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 5/8] imx-drm: ipu-dp: Split disabling the DP foreground channel from disabling the DP module Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 6/8] imx-drm: imx-dp: When disabling the DP foreground channel, wait until the DP background channel is finished before disabling the IDMAC channel Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 7/8] imx-drm: ipuv3-crtc: Change display enable/disable order Philipp Zabel
2014-04-14 21:53 ` [PATCH v2 8/8] imx-drm: ipu-dc: Disable DC module when not in use Philipp Zabel
2014-04-14 22:18 ` [PATCH v2 0/8] Reorder i.MX IPU display enable/disable sequence Russell King - ARM Linux
2014-04-18 10:13 ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®