On Mon, Jun 21, 2021 at 4:17 AM Marek Vasut <marex@xxxxxxx> wrote: > > There is some sort of corner case behavior of the controller, > which could rarely be triggered at least on i.MX6SX connected > to 800x480 DPI panel and i.MX8MM connected to DPI->DSI->LVDS > bridged 1920x1080 panel (and likely on other setups too), where > the image on the panel shifts to the right and wraps around. > This happens either when the controller is enabled on boot or > even later during run time. The condition does not correct > itself automatically, i.e. the display image remains shifted. > > It seems this problem is known and is due to sporadic underflows > of the LCDIF FIFO. While the LCDIF IP does have underflow/overflow > IRQs, neither of the IRQs trigger and neither IRQ status bit is > asserted when this condition occurs. > > All known revisions of the LCDIF IP have CTRL1 RECOVER_ON_UNDERFLOW > bit, which is described in the reference manual since i.MX23 as > " > Set this bit to enable the LCDIF block to recover in the next > field/frame if there was an underflow in the current field/frame. > " > Enable this bit to mitigate the sporadic underflows. > > Fixes: 45d59d704080 ("drm: Add new driver for MXSFB controller") > Signed-off-by: Marek Vasut <marex@xxxxxxx> > Cc: Daniel Abrecht <public@xxxxxxxxxxxxxxxx> > Cc: Emil Velikov <emil.l.velikov@xxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Cc: Stefan Agner <stefan@xxxxxxxx> > --- Reviewed-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>