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@xxxxxxxxxxxxxxx> Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > --- > 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel