[media] blackfin: add error frame support
Mark current frame as error frame when ppi error interrupt report fifo error. Member next_frm in struct bcap_device can be optimized out. Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
1e2043779d
commit
d78a488221
@@ -59,19 +59,30 @@ static irqreturn_t ppi_irq_err(int irq, void *dev_id)
|
||||
* others are W1C
|
||||
*/
|
||||
status = bfin_read16(®->status);
|
||||
if (status & 0x3000)
|
||||
ppi->err = true;
|
||||
bfin_write16(®->status, 0xff00);
|
||||
break;
|
||||
}
|
||||
case PPI_TYPE_EPPI:
|
||||
{
|
||||
struct bfin_eppi_regs *reg = info->base;
|
||||
unsigned short status;
|
||||
|
||||
status = bfin_read16(®->status);
|
||||
if (status & 0x2)
|
||||
ppi->err = true;
|
||||
bfin_write16(®->status, 0xffff);
|
||||
break;
|
||||
}
|
||||
case PPI_TYPE_EPPI3:
|
||||
{
|
||||
struct bfin_eppi3_regs *reg = info->base;
|
||||
unsigned long stat;
|
||||
|
||||
stat = bfin_read32(®->stat);
|
||||
if (stat & 0x2)
|
||||
ppi->err = true;
|
||||
bfin_write32(®->stat, 0xc0ff);
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user