Dear Sir,
Our project use both dpi+hdmi output, and the dpi patch is of course come from TI.
When this message comes during our PowerKey On/Off test ( 7s on, 7s off, then continue, System is switching between suspend/resume ), the system looks like hangs, but in fact, it was busy on those continuous error messages.
This error message come from drivers/video/omap2/dss/dispc.c
static void dispc_error_worker(struct work_struct *work)
{
...
if ((!mgr) || !mgr->device) {
* DSSERR("mgr or device is NULL\n");
break;
}
...
After my tracing, It seems that IRQ 57 was trigger but some flags are un-handled. My debug log shows the following info:
} error! Irq57_Dispc: IrqErrMask=0x0012D640, Unhandle=0x00008000
The refer register for un-handled flags are DISPC_IRQSTATUS (0x58001018), The Bit-15 is SYNCLOSTTV_IRQ which is used by HDMI.
The HDMI will go ON/OFF during our testing of 7s ON/7s OFF, which is request by our customer; When this error occurs, it will keep launching the dispc_error_worker() and never stop.
I have try to disable the status on Irq_Handler as below, but is was no use:
static irqreturn_t omap_dispc_irq_handler(int irq, void *arg)
{
.....
* dispc_write_reg(DISPC_IRQSTATUS, 0xFFFFFFFF);
* dispc_read_reg(DISPC_IRQSTATUS);
spin_unlock(&dispc.irq_lock);
return IRQ_HANDLED;
}
Should I handle those flags? but How? Is there anybody could help me?
May God bless you.
Kenny Tsai @ 2014/04/01