[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200730152925.GA1474381@ravnborg.org>
Date: Thu, 30 Jul 2020 17:29:25 +0200
From: Sam Ravnborg <sam@...nborg.org>
To: Paul Cercueil <paul@...pouillou.net>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
od@...c.me, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/3] drm/ingenic: ipu: Remove YUV422 from supported
formats on JZ4725B
Hi Paul
On Thu, Jul 30, 2020 at 04:48:29PM +0200, Paul Cercueil wrote:
> When configuring the IPU for packed YUV 4:2:2, depending on the scaling
> ratios given by the source and destination resolutions, it is possible
> to crash the IPU block, to the point where a software reset of the IP
> does not fix it. This can happen anytime, in the first few frames, or
> after dozens of minutes. The same crash also happens when the IPU is
> fully controlled by the LCD controller (in that case no HW register is
> written at any moment after startup), which points towards a hardware
> bug.
>
> Thanksfully multiplanar YUV is not affected.
>
> Until this bug is fixed or worked around, address this issue by removing
> support for YUV 4:2:2 on the IPU of the JZ4725B.
>
> v2: Update commit message (remove the "crash beyond repair" bit)
>
> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
Reviewed-by: Sam Ravnborg <sam@...nborg.org>
> ---
> drivers/gpu/drm/ingenic/ingenic-ipu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/ingenic/ingenic-ipu.c b/drivers/gpu/drm/ingenic/ingenic-ipu.c
> index 7eae56fa92ea..7dd2a6ae4994 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-ipu.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-ipu.c
> @@ -795,10 +795,16 @@ static int ingenic_ipu_remove(struct platform_device *pdev)
> }
>
> static const u32 jz4725b_ipu_formats[] = {
> + /*
> + * While officially supported, packed YUV 4:2:2 formats can cause
> + * random hardware crashes on JZ4725B under certain circumstances.
> + * It seems to happen with some specific resize ratios.
> + * Until a proper workaround or fix is found, disable these formats.
> DRM_FORMAT_YUYV,
> DRM_FORMAT_YVYU,
> DRM_FORMAT_UYVY,
> DRM_FORMAT_VYUY,
> + */
> DRM_FORMAT_YUV411,
> DRM_FORMAT_YUV420,
> DRM_FORMAT_YUV422,
> --
> 2.27.0
Powered by blists - more mailing lists