Age | Commit message (Collapse) | Author |
|
To support cross-compilation of the driver library Swig C wrapper for
the Python API, the CMake file must pass on the C and CXX flags that
have been setup by the build environment so that the correct flags,
include paths etc are used when building the wrapper.
Change-Id: I6288016056c5a4eeef1162ea2a9afb1e3ab4b86a
|
|
The ETHOS_U_DRIVER_LIB environment variable in the Python API CMake file
specifies that the driver library archive will be found in a lib
subdirectory in the build directory. This is incorrect as the archive
will be put directly into the driver library directory and the CMake
file has been updated accordingly.
Change-Id: Ie296f89f7669d69f193d96d994ad8e1918e3d1eb
|
|
The CMake file for the Python API, currently fails to copy the license
file to the build directory because it incorrectly assumes that the file
is in the Python API folder.
The license file that should be used is in the top of the repository and
the CMake file has been updated accordingly.
Change-Id: Ia0131cc27abdf28d355c69a556229691901971e5
|
|
Change-Id: I64151321ac4a020045de5802beb29fe0013a5c3f
|
|
Add aarch64-none-linux-gnu toolchain file
Change-Id: I04742a8e0478f31087ea9c0d5a7d62c7e07bf4f4
|
|
Change-Id: Id5349a7668ff7ce4d23730d98aa9bd5032a1ece2
|
|
Change-Id: I3d7926cb16b613f588ef33944546df394193160e
|
|
The Ethos-U kernel driver has been converted into a rpmsg driver and
the ethosu_core_interface.h has been replaced by ethsou_core_rpmsg.h.
Change-Id: If6db8c20cd88e950545eed561ed95c067157d061
|
|
When the Ethos-U kernel driver is probed it creates a /dev/ethosu<nr>
device node, which user space use ioctl to communicate with. When
the driver is removed the Ethos-U resources must live on until all
open file handles have been closed.
The rpmsg device can be removed for a number of reasons, for example
if the firmware is stopped or the remoteproc driver is removed. To
allow the remove to complete without waiting for all file handles to
close, a new 'struct device' is created by the kernel driver. This
device will be used to memory allocations and will live on until the
last file handle has been closed.
Change-Id: I790d8219960f25fe64f58c11a865eb65c7b08974
|
|
The 'struct ethosu_device' has been passed as argument to classes.
This creates a circular dependency dependency and it gives all
classes full visibility to all resources in the device struct. This
patch removes the circular dependency.
Using device_lock() and device_unlock() to for synchronization.
Change-Id: I8322e6530c72d7bd67f48f411b4f14b612be2706
|
|
The Ethos-U kernel driver has been converted from a
platform driver with a custom firmware interface into a
rpmsg driver.
Change-Id: I9ae449f5e79eb02924e6630611d0893e5fec86be
|
|
Removing watchdog and firmware reset as a preparations for the
migrations to rpmsg.
Change-Id: Ic1053e3f4301ecadbde8c59dbaed437625a0a5ea
|
|
Tie in mbox and reset driver and add support for virtio carveouts.
Also move the reserved mem for device mem to the remoteproc node.
Change-Id: I7e8878d32ae7c02d5b43198e45652e77f8ff79ca
|
|
Change-Id: If27999db4f18355b571b67e5e5d663a703c3f6a3
|
|
Change-Id: Id70e249448cea13cb9273d68c91080342d5c5973
|
|
Change-Id: I1ab89146bf897c4c35180ab09f08064511f573f8
|
|
Change-Id: I69d0acf67327424809397f5fcf236b99bc980d71
|
|
Python `ethosu_driver` could be built as part of Arm Ethos-U Linux
driver library CMake flow.
See driver_library/python/README.md for more details.
Change-Id: I177a890add5c13df9a839f4f43621f972afe5ab1
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Change-Id: Ib21a9692e0a8f78cf584ab6ee3fadc0568822e88
|
|
These tests are run with a special custom firmware
Change-Id: I0dfcae1fbaa1287d4b52fd8f6c802bebb5248d3b
|
|
Change-Id: I303f1424eb46576847312672f7ed5ac03c05aee1
|
|
That platform has been replaced by Corstone-1000
Change-Id: I2dd6e190cbbc84c02f101bd6214c802585d8ca25
|
|
Add logging class for driver library. Log severity can be configured
using an environment variable.
Add information to prints in kernel space.
Change-Id: I19a1078869733746726515a6cafb79110314066d
|
|
Once the inference file descriptor has been created the inference
release must be handled by the file descriptor release callback.
Change-Id: Ic514983e85821ea3893e11c5c682610f67d1ae31
|
|
Reduce queue capacity by one byte, else it will not be possible to
distinguish between an empty and full queue.
Change-Id: Ia243a7175833826dc816d536cc79ac5a252f3e3a
|
|
The error code from the core side was not correctly propagated to
user space.
Change-Id: I40e502f8dc3a77de064f441beeb62603d013e318
|
|
The padding is important to separate the read- and write indices by
at least one cache line, to prevent cache clean and invalidation to
corrupt data for the remote CPU.
Change-Id: I1d50ac6c63ef4cb3e11b0c293aefaac34ac8eb1f
|
|
Add reset controller driver for external system.
The driver is instantiated for each subsystem reset needed to control.
Change-Id: I481e56124de30b807858ca3f5fe8f78fc18502ce
|
|
ETHOSU_IOCTL_CAPABILITIES_REQ is a read ioctl with a parameter.
Change-Id: Ife20d4de86351053600e6c6ba174dc40896f0aef
|
|
Avoid to use pointers to kernel memory as identify messages, prior this
change, if memory is reused that can lead to unexpected conflicts.
Remove ref counting from capabilities and network_info since memory is
freed in only one place.
Finally, extract the capabilities code in its own files.
Change-Id: I9ab7257f3ab85fa3347be65b3739e0daf9b5a441
|
|
Change-Id: Ic5d98c108593a16034c7dbc18043bbee13c31833
|
|
Avoid undefined behaviour from calling dma_alloc_coherent with
requested size=0 as reported by UBSAN.
Change-Id: I1732759464f1d88259edeea099b1729f4ae6b86f
|
|
strscpy copies max destination size -1 chars and ensures NULL
termination. It also return an error if the destination buffer is too
small.
Change-Id: I88e9e5020b2b26ca50c12ae845dad070855a8bde
|
|
If an inference fails to be cancelled and it is still in a pending
state, reset the whole firmware. Indeed the assumption is that
something is at fault on the firmware side and it is not progressing.
Change-Id: I2f568b2167d86cda3cb96a5e83551b018f5fc55d
|
|
Send cancel inference messages to the ethosu subsystem to abort
inference execution there. Also mark inference as aborted in the
linux driver stack itself, so pending inference messages are not
resent when resetting the firmware.
Change-Id: I244c2b119fd7995d14e3859815abf2a00c7f0583
|
|
Change-Id: I62e13df69c712ed4cf70766429b4cb13fc9c9dcb
|
|
The .da_to_va has different signatures for different kernel versions.
Add kernel version checks to pick the correct one.
Change-Id: Ie25c496aa646119526867c91f244f9ad195860cd
|
|
Add scripts for gathering coverage data on target, and analyzing
coverage info on host.
Change-Id: I3bb2d0ec3757ce077638a8780779daa84cd48686
|
|
Also always rethrow exceptions not swallow them
Change-Id: I7a4b1e408858aa0d0128ca7bd6d6a7715662f9fb
|
|
There is not real need for the linux_driver_stack to know about tflite
and flatbuffers. A better approach is to just pass the buffer to the
firmware to be processes, i.e., either parsed or executed.
This solves issues when linux_driver_stack and firmware are not in
sync with the same library versions.
Change-Id: I9b2a12e69f37f61b1ac594433a15883fb1c67b9c
|
|
Reset the firmware if it becomes unresponsive. Use ping to send
keep alive requests.
Only monitor ping and inference request messages. The other messages
pass no resources to the firmware and can be cancelled without
resetting the firmware.
Change-Id: Ifbcc370f02d79a64f25598f11376a1dc84a7a066
|
|
Implement kernel watchdog that detects when firmware becomes
unresponsive.
Change-Id: I5c5b58a56a2ce629e1fd7cabae83b61823239ea6
|
|
Add UAPI and core message that allows user space space to fetch
information about network models built into the firmware.
Change-Id: Ic92529bce3edd0a5499e691a566bd065da2a72ad
|
|
Support referencing a network model by index that has been built into
the firmware binary.
Change-Id: Idd5294376ea82503dfeafe1203dcc0694d296dfe
|
|
Change-Id: Iaf878efcbe42d7a658a76db868806114df9e4b27
|
|
Change-Id: Ia470d230b4bce152f88ab735e0a2ad2cdba80226
|
|
JIRA: MLBEDSW-5531
Change-Id: Ib4b6b6b0ee3995bb01029d561c4cf7eed981a303
|
|
Change-Id: I965a6f4c42fca1b3b4493e7eef3cbb75e236fe3a
|
|
Change-Id: Ic4605a22547ab797c638bfddd9719c69d495da75
|
|
incompatible pointer type
Change-Id: I50396299f4d9878bb0b43ea5acd06951e4df698e
|