Hi, > -----Original Message----- > From: Tomi Valkeinen [mailto:tomi.valkeinen@xxxxxxxxx] > Sent: Thursday, June 17, 2010 2:22 PM > To: Taneja, Archit > Cc: linux-omap@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] OMAP: DSS2: DSI: disable manager on framedone timeout > > Hi, > > On Thu, 2010-06-17 at 10:29 +0200, ext Archit Taneja wrote: > > In the case of a dsi framedone timeout, we should set the LCD_EN > > bit to 0 and reset the dsi tx fifo so that the next panel update > > call goes through cleanly. > > > > With the new way of handling framedone interrupts, since everything > > is handled in irq context, the only reason a framedone timeout occurs > > is because of some hardware issue. > > > > The reset of LCD_EN and flush of TX_FIFO won't interfere with a frame > > in progress. > > Does this work? There is the errata: 1.29. DSI: Tx FIFO flush is not > supported. I've actually removed the dsi_reset_tx_fifo() function in my > work tree, as I though the only way to recover is to reset the whole DSI > block. > > Tomi > The errata is there, but things still seem to be okay, the crucial thing is disabling LCD_EN, this will at least prepare DISPC for the next frame. I think that if a framedone timeout occurs, it is DISPC which is at fault since it generates the framedone interrupt. It is quite likely that DSI is in a ok state. I agree it is risky to flush DSI TX fifo since it is in the errata, but we should still disable LCD_EN here because no one else disables it. Thanks, Archit -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html