Hi Steve,
On 01/22/2019 12:35 AM, Steve Longerbeam wrote:
> 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.
Please let me know when you are satisfied with this patch series and I
can make a pull request for this.
Thanks!
Hans
>
> 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: [email protected]
> - 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(-)
>