aboutsummaryrefslogtreecommitdiff
path: root/driver_library/src/ethosu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'driver_library/src/ethosu.cpp')
-rw-r--r--driver_library/src/ethosu.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/driver_library/src/ethosu.cpp b/driver_library/src/ethosu.cpp
index 3c7dc31..7aec696 100644
--- a/driver_library/src/ethosu.cpp
+++ b/driver_library/src/ethosu.cpp
@@ -333,12 +333,13 @@ int Buffer::getFd() const {
* Network
****************************************************************************/
-Network::Network(const Device &device, shared_ptr<Buffer> &buffer) : fd(-1), buffer(buffer) {
+Network::Network(const Device &device, const unsigned char *networkData, size_t networkSize) : fd(-1) {
// Create buffer handle
ethosu_uapi_network_create uapi;
- uapi.type = ETHOSU_UAPI_NETWORK_BUFFER;
- uapi.fd = buffer->getFd();
- fd = device.ioctl(ETHOSU_IOCTL_NETWORK_CREATE, static_cast<void *>(&uapi));
+ uapi.type = ETHOSU_UAPI_NETWORK_USER_BUFFER;
+ uapi.network.data_ptr = reinterpret_cast<uintptr_t>(networkData);
+ uapi.network.size = networkSize;
+ fd = device.ioctl(ETHOSU_IOCTL_NETWORK_CREATE, static_cast<void *>(&uapi));
try {
collectNetworkInfo();
} catch (std::exception &e) {
@@ -348,7 +349,7 @@ Network::Network(const Device &device, shared_ptr<Buffer> &buffer) : fd(-1), buf
throw;
}
- Log(Severity::Info) << "Network(" << &device << ", " << &*buffer << "), this=" << this << ", fd=" << fd << endl;
+ Log(Severity::Info) << "Network(" << &device << "), this=" << this << ", fd=" << fd << endl;
}
Network::Network(const Device &device, const unsigned index) : fd(-1) {
@@ -391,10 +392,6 @@ int Network::ioctl(unsigned long cmd, void *data) {
return eioctl(fd, cmd, data);
}
-shared_ptr<Buffer> Network::getBuffer() {
- return buffer;
-}
-
const std::vector<size_t> &Network::getIfmDims() const {
return ifmDims;
}