All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam@gmail.com>
To: linux-media@vger.kernel.org
Cc: Gael PORTAY <gael.portay@collabora.com>,
	Peter Seiderer <ps.report@gmx.net>,
	Steve Longerbeam <slongerbeam@gmail.com>
Subject: [PATCH v4 0/3] media: imx: Stop stream before disabling IDMA channels
Date: Mon, 21 Jan 2019 15:35:49 -0800	[thread overview]
Message-ID: <20190121233552.20001-1-slongerbeam@gmail.com> (raw)

Repeatedly sending a stream off immediately followed by stream on can
eventually cause a complete system hard lockup on the SabreAuto when
streaming from the ADV7180:

while true; do v4l2-ctl  -d4 --stream-mmap --stream-count=3; done

Eventually this either causes the system lockup or EOF timeouts at all
subsequent stream on, until a system reset.

The lockup occurs when disabling the IDMA channels at stream off. Stopping
the video data stream entering the IDMA channel before disabling the
channel itself appears to be a reliable fix for the hard lockup.

In the CSI subdevice, this can be done by disabling the CSI before
disabling the CSI IDMA channel, instead of after. In the IC-PRPENVVF
subdevice, this can be done by stopping upstream before disabling the
PRPENC/VF IDMA channel.

History:
v4:
- Disabling SMFC will have no effect if both CSI's are streaming. So
  go back to disabling CSI before channel as in v2, but split up
  csi_idmac_stop such that ipu_csi_disable can still be called within
  csi_stop.

v3:
- Switch to disabling the SMFC before the channel, instead of the CSI
  before the channel.

v2:
- Whitespace fixes
- Add Fixes: and Cc: stable@vger.kernel.org
- No functional changes.


Steve Longerbeam (3):
  media: imx: csi: Disable CSI immediately after last EOF
  media: imx: csi: Stop upstream before disabling IDMA channel
  media: imx: prpencvf: Stop upstream before disabling IDMA channel

 drivers/staging/media/imx/imx-ic-prpencvf.c | 26 ++++++++-----
 drivers/staging/media/imx/imx-media-csi.c   | 42 +++++++++++++--------
 2 files changed, 44 insertions(+), 24 deletions(-)

-- 
2.17.1


             reply	other threads:[~2019-01-21 23:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-21 23:35 Steve Longerbeam [this message]
2019-01-21 23:35 ` [PATCH v4 1/3] media: imx: csi: Disable CSI immediately after last EOF Steve Longerbeam
2019-01-21 23:35 ` [PATCH v4 2/3] media: imx: csi: Stop upstream before disabling IDMA channel Steve Longerbeam
2019-01-21 23:35 ` [PATCH v4 3/3] media: imx: prpencvf: " Steve Longerbeam
2019-01-22  7:34 ` [PATCH v4 0/3] media: imx: Stop stream before disabling IDMA channels Hans Verkuil
2019-01-27 22:41   ` Steve Longerbeam
2019-01-22 14:45 ` Gaël PORTAY

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190121233552.20001-1-slongerbeam@gmail.com \
    --to=slongerbeam@gmail.com \
    --cc=gael.portay@collabora.com \
    --cc=linux-media@vger.kernel.org \
    --cc=ps.report@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.