zynqmp: drivers use platform_isr instead of hil_isr
authorSam Sortais <sam.sortais@xilinx.com>
Mon, 29 Feb 2016 05:37:45 +0000 (21:37 -0800)
committerSam Sortais <sam.sortais@xilinx.com>
Sat, 5 Mar 2016 02:32:02 +0000 (18:32 -0800)
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
lib/include/openamp/machine/machine_common.h
lib/remoteproc/drivers/zynq_remoteproc_a9.c
lib/remoteproc/drivers/zynqmp_remoteproc_a53.c
lib/system/generic/machine/zynq7/machine_system.c
lib/system/generic/machine/zynqmp_r5/machine_system.c

index 1e7a4b20b32848e32818895c52cf179b811ef10d..ed285e02bec39258f7f9d3bf7e68bcbce01921fc 100755 (executable)
@@ -43,5 +43,6 @@ void platform_map_mem_region(unsigned int va, unsigned int pa,
                             unsigned int size, unsigned int flags);
 unsigned long platform_vatopa(void *addr);
 void *platform_patova(unsigned long addr);
+void platform_isr(int vect_id, void * data);
 
 #endif                         /* _MACHINE_COMMON_H */
index e7e11d74f64d66c3d243bb15d0fa769d0558618d..aab8f9f6b820f91bb4a5092d60fbb6abe2651171 100644 (file)
@@ -172,7 +172,7 @@ static void _shutdown_cpu(int cpu_id)
        lock_slcr();
 }
 
-static void platform_isr(int vect_id, void *data)
-{
-       hil_isr(((struct proc_vring *)data));
-}
+
+
+
+
index e3475301db72cca4496b37dd14b00bffde548022..83a9c7e4062dc00d77838a1b1d0ae2dbdbac7a90 100644 (file)
@@ -89,7 +89,7 @@ void _ipi_handler(int vect_id, void *data)
            (unsigned int)HIL_MEM_READ32(ipi_base_addr + IPI_ISR_OFFSET);
        if (ipi_intr_status & chn_ipi_info->ipi_chn_mask) {
                platform_dcache_all_flush();
-               hil_isr(vring_hw);
+               platform_isr(vect_id, data);
                HIL_MEM_WRITE32((ipi_base_addr + IPI_ISR_OFFSET),
                                chn_ipi_info->ipi_chn_mask);
        }
index 0af963d6a5f36eb165d6a6838e6ee6bb8019ffd6..74795128dd1ab5ad26c9c3c76c3ac2d8e29dc8df 100755 (executable)
@@ -33,6 +33,7 @@
 #include "baremetal.h"
 #include "machine_system.h"
 #include "openamp/env.h"
+#include "openamp/hil.h"
 
 static inline unsigned int get_cpu_id_arm(void)
 {
@@ -208,3 +209,10 @@ void *platform_patova(unsigned long addr)
 
 }
 
+void platform_isr(int vect_id, void * data)
+{
+    (void)vect_id;
+    hil_isr(((struct proc_vring *)data));
+}
+
+
index 552c4d74c63f5af2db1ba729157598a4c8cfae1f..4a8e1fa62ebc6fb1e11e7ed21a8ba85af98346a3 100755 (executable)
@@ -36,6 +36,7 @@
 #include "machine.h"
 #include "machine_system.h"
 #include "openamp/env.h"
+#include "openamp/hil.h"
 
 #define CORTEXR5_CPSR_INTERRUPTS_BITS (XREG_CPSR_IRQ_ENABLE | XREG_CPSR_FIQ_ENABLE)
 
@@ -162,6 +163,12 @@ void disable_global_interrupts()
 
 }
 
+void platform_isr(int vect_id, void * data)
+{
+    (void)vect_id;
+    hil_isr(((struct proc_vring *)data));
+}
+
 /*==================================================================*/
 /* The function definitions below are provided to prevent the build */
 /* warnings for missing I/O function stubs in case of unhosted libs */