remoteproc: driver: zynq: mark notified when enabling interrupt
authorWendy Liang <jliang@xilinx.com>
Mon, 6 Feb 2017 19:53:10 +0000 (11:53 -0800)
committerWendy Liang <jliang@xilinx.com>
Mon, 6 Feb 2017 19:53:10 +0000 (11:53 -0800)
This patch is a workaround.

The master may already send the notify before the remote boots.
The Zynq platform should be able not get notified by the interrupt
before it is enabled.

Signed-off-by: Wendy Liang <jliang@xilinx.com>
lib/remoteproc/drivers/zynq_remoteproc_a9.c

index 7a873d882748c5d682e0dcdca6e9fb599cfb2b1a..d24afc233dd0b4344a3365bd57c7e8f1c0961647 100644 (file)
@@ -138,6 +138,10 @@ static int _enable_interrupt(struct proc_intr *intr)
        /* Enable the interrupts */
        metal_irq_enable(intr->vect_id);
 
        /* Enable the interrupts */
        metal_irq_enable(intr->vect_id);
 
+       /* FIXME: This is a workaround for Zynq. As Linux is possible
+        * to have already generate the soft IRQ
+        */
+       atomic_flag_clear((atomic_uint *)&(intr->data));
        return 0;
 }
 
        return 0;
 }