aboutsummaryrefslogtreecommitdiff
path: root/applications/message_process/include/message_process.hpp
diff options
context:
space:
mode:
authorJonny Svärd <jonny.svaerd@arm.com>2020-10-06 14:18:28 +0200
committerJonny Svärd <jonny.svaerd@arm.com>2020-10-09 14:23:21 +0200
commit44398c86f932b96911dd1558e2b66726943fcf46 (patch)
treec2ff3e24735c511f07dd902ebb7430602bec17d9 /applications/message_process/include/message_process.hpp
parentdc28b13e8bf4e5e7a788f289739e6301494c43a1 (diff)
downloadethos-u-core-software-44398c86f932b96911dd1558e2b66726943fcf46.tar.gz
Add a Mailbox interface
Change-Id: If68e70709c496849cb781af5f7288fa3f7ddcdb5
Diffstat (limited to 'applications/message_process/include/message_process.hpp')
-rw-r--r--applications/message_process/include/message_process.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/applications/message_process/include/message_process.hpp b/applications/message_process/include/message_process.hpp
index e820b60..b3c1bdd 100644
--- a/applications/message_process/include/message_process.hpp
+++ b/applications/message_process/include/message_process.hpp
@@ -21,6 +21,7 @@
#include <ethosu_core_interface.h>
#include <inference_process.hpp>
+#include <mailbox.hpp>
#include <cstddef>
#include <cstdio>
@@ -82,10 +83,12 @@ private:
class MessageProcess {
public:
- MessageProcess(ethosu_core_queue &in, ethosu_core_queue &out, InferenceProcess::InferenceProcess &inferenceProcess);
+ MessageProcess(ethosu_core_queue &in,
+ ethosu_core_queue &out,
+ Mailbox::Mailbox &mbox,
+ InferenceProcess::InferenceProcess &inferenceProcess);
void run();
- void handleIrq();
bool handleMessage();
void sendPong();
void sendInferenceRsp(uint64_t userArg, std::vector<InferenceProcess::DataPtr> &ofm, bool failed);
@@ -93,7 +96,10 @@ public:
private:
QueueImpl queueIn;
QueueImpl queueOut;
+ Mailbox::Mailbox &mailbox;
InferenceProcess::InferenceProcess &inferenceProcess;
+ void handleIrq();
+ static void mailboxCallback(void *userArg);
};
} // namespace MessageProcess