From: Wendy Liang Date: Thu, 4 Aug 2016 18:51:28 +0000 (-0700) Subject: Apps: remoteproc slave: use hil_poll() X-Git-Tag: v2016.10~62 X-Git-Url: https://git.ti.com/gitweb?p=processor-sdk%2Fopen-amp.git;a=commitdiff_plain;h=e5f800cd5bae4c396503dda1bad4963c571ae033 Apps: remoteproc slave: use hil_poll() Use hil_poll() to wait for remoteproc to be signaled. Signed-off-by: Wendy Liang --- diff --git a/apps/echo_test/echo_testd.c b/apps/echo_test/echo_testd.c index 29371a3..53dd802 100644 --- a/apps/echo_test/echo_testd.c +++ b/apps/echo_test/echo_testd.c @@ -58,10 +58,13 @@ int main() return -1; } - while (1) { - __asm__("\ - wfi\n\t"); - }; + do { + hil_poll(proc->proc, 0); + } while (!app_rp_chnl); + + while(app_rp_chnl) { + hil_poll(proc->proc, 0); + } return 0; } @@ -75,6 +78,8 @@ static void rpmsg_channel_created(struct rpmsg_channel *rp_chnl) static void rpmsg_channel_deleted(struct rpmsg_channel *rp_chnl) { + app_rp_chnl = NULL; + rp_ept = NULL; } static void rpmsg_read_cb(struct rpmsg_channel *rp_chnl, void *data, int len, diff --git a/apps/func_test_suite/func_test_suite.c b/apps/func_test_suite/func_test_suite.c index 73f22ba..f30af91 100644 --- a/apps/func_test_suite/func_test_suite.c +++ b/apps/func_test_suite/func_test_suite.c @@ -121,7 +121,7 @@ int main() break; } - sleep(); + hil_poll(proc, 0); } cleanup_system(); diff --git a/apps/matrix_multiply/matrix_multiplyd.c b/apps/matrix_multiply/matrix_multiplyd.c index e253d66..2d94b2a 100644 --- a/apps/matrix_multiply/matrix_multiplyd.c +++ b/apps/matrix_multiply/matrix_multiplyd.c @@ -72,8 +72,12 @@ int main() return -1; } - while (1) { - __asm__("wfi\n\t"); + do { + hil_poll(proc->proc, 0); + } while (!app_rp_chnl); + + while(app_rp_chnl) { + hil_poll(proc->proc, 0); } return 0; @@ -89,6 +93,8 @@ static void rpmsg_channel_created(struct rpmsg_channel *rp_chnl) static void rpmsg_channel_deleted(struct rpmsg_channel *rp_chnl) { rpmsg_destroy_ept(rp_ept); + rp_ept = NULL; + app_rp_chnl = NULL; } static void rpmsg_read_cb(struct rpmsg_channel *rp_chnl, void *data, int len, diff --git a/apps/rpc_demo/rpc_demo.c b/apps/rpc_demo/rpc_demo.c index 611067d..289982e 100755 --- a/apps/rpc_demo/rpc_demo.c +++ b/apps/rpc_demo/rpc_demo.c @@ -78,8 +78,7 @@ int main() } while (!chnl_cb_flag) { - __asm__("\ - wfi\n\t"); + hil_poll(proc->proc, 0); } chnl_cb_flag = 0; @@ -171,9 +170,8 @@ int main() printf ("\r\nRemote> Firmware's rpmsg-openamp-demo-channel going down! \r\n"); - while (1) { - __asm__("\ - wfi\n\t"); + while (app_rp_chnl) { + hil_poll(proc->proc, 0); } return 0; @@ -187,6 +185,7 @@ static void rpmsg_channel_created(struct rpmsg_channel *rp_chnl) static void rpmsg_channel_deleted(struct rpmsg_channel *rp_chnl) { + app_rp_chnl = NULL; } static void rpmsg_read_cb(struct rpmsg_channel *rp_chnl, void *data, int len,