remoteproc: zynqmp_a53: notify vdev when IPI received
authorWendy Liang <jliang@xilinx.com>
Wed, 25 Jan 2017 23:10:05 +0000 (15:10 -0800)
committerWendy Liang <jliang@xilinx.com>
Fri, 3 Feb 2017 21:41:24 +0000 (13:41 -0800)
If IPI is received, also notify vdev.

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

index c36840fadf179a74de29c1be45e985a1a4fd3c03..56f6c22d7b6d4fb00650a66f019c6ad947a5344d 100644 (file)
@@ -161,17 +161,17 @@ static void _shutdown_cpu(struct hil_proc *proc)
 
 static int _poll(struct hil_proc *proc, int nonblock)
 {
 
 static int _poll(struct hil_proc *proc, int nonblock)
 {
-       struct proc_vring *vring;
+       struct proc_vdev *vdev;
        struct ipi_info *ipi;
        unsigned int flags;
 
        struct ipi_info *ipi;
        unsigned int flags;
 
-       vring = &proc->vdev.vring_info[1];
-       ipi = (struct ipi_info *)(vring->intr_info.data);
+       vdev = &proc->vdev;
+       ipi = (struct ipi_info *)(vdev->intr_info.data);
        while(1) {
                flags = metal_irq_save_disable();
                if (!(atomic_flag_test_and_set(&ipi->sync))) {
                        metal_irq_restore_enable(flags);
        while(1) {
                flags = metal_irq_save_disable();
                if (!(atomic_flag_test_and_set(&ipi->sync))) {
                        metal_irq_restore_enable(flags);
-                       virtqueue_notification(vring->vq);
+                       hil_notified(proc, (uint32_t)(-1));
                        return 0;
                }
                if (nonblock) {
                        return 0;
                }
                if (nonblock) {