]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ipc/ipcdev.git/blobdiff - packages/ti/ipc/ipcmgr/IpcMgr.c
ipc: Remove compiler warnings
[ipc/ipcdev.git] / packages / ti / ipc / ipcmgr / IpcMgr.c
index f34a2e3fffd97c4095e2f568a02b1654fbfebac0..a7567d1685d895961c9138ba2e92c6451442fb98 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013, Texas Instruments Incorporated
+ * Copyright (c) 2012-2015 Texas Instruments Incorporated - http://www.ti.com
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,6 +29,7 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
 /*
  *  ======== IpcMgr.c ========
  *  Various IPC stack backplane startup fxns.
 #include <ti/ipc/MultiProc.h>
 #include <ti/ipc/namesrv/NameServerRemoteRpmsg.h>
 #include <ti/ipc/transports/TransportRpmsgSetup.h>
-#include <ti/ipc/rpmsg/_MessageQCopy.h>
+#include <ti/ipc/rpmsg/_RPMessage.h>
+
+#ifdef IpcMgr_USEDEH
+#include <ti/deh/Watchdog.h>
+#ifdef IpcMgr_DSP
+#include <ti/sysbios/family/c64p/Exception.h>
+#elif IpcMgr_IPU
+#include <ti/sysbios/family/arm/m3/Hwi.h>
+#endif
+#endif
+
+#include "IpcMgr.h"
+
 
 /*
  *  ======== IpcMgr_rpmsgStartup ========
- *  Initialize the RPMSG module.  This calls VirtQueue_startup().
+ *  Initialize the RPMSG module. This calls VirtQueue_startup().
  *
  *  Use for stacks built on RPMessage only.
  */
-Void IpcMgr_rpmsgStartup()
+Void IpcMgr_rpmsgStartup(Void)
 {
-    Assert_isTrue(MultiProc_self() != MultiProc_getId("HOST"), NULL);
-    MessageQCopy_init(MultiProc_getId("HOST"));
+    Assert_isTrue(MultiProc_self() != MultiProc_getId("HOST"), 0);
+    RPMessage_init(MultiProc_getId("HOST"));
+
+#ifdef IpcMgr_USEDEH
+    /*
+     * When using DEH, initialize the Watchdog timers if not already done
+     * (i.e. late-attach)
+     */
+#ifdef IpcMgr_DSP
+    Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler);
+#elif IpcMgr_IPU
+    Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I);
+#endif
+#endif
 }
 
 /*
  *  ======== IpcMgr_ipcStartup ========
  *  Initialize MessageQ Transport stack built over RPMSG.
- *  This ends up calling MessageQCopy_init().
+ *  This ends up calling RPMessage_init().
  *
  *  Use for stacks built on MessageQ/TransportRpmsg only.
  */
-Void IpcMgr_ipcStartup()
+Void IpcMgr_ipcStartup(Void)
 {
     UInt procId = MultiProc_getId("HOST");
     Int status;
@@ -71,9 +96,21 @@ Void IpcMgr_ipcStartup()
     status = TransportRpmsgSetup_attach(procId, 0);
     Assert_isTrue(status >= 0, NULL);
 
-    /* Sets up to comminicate with host's NameServer: */
+    /* Sets up to communicate with host's NameServer: */
     status = NameServerRemoteRpmsg_attach(procId, 0);
     Assert_isTrue(status >= 0, NULL);
+
+#ifdef IpcMgr_USEDEH
+    /*
+     * When using DEH, initialize the Watchdog timers if not already done
+     * (i.e. late-attach)
+     */
+#ifdef IpcMgr_DSP
+    Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler);
+#elif IpcMgr_IPU
+    Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I);
+#endif
+#endif
 }
 
 /*