Age | Commit message (Collapse) | Author |
|
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
|
|
Change-Id: I1ad92264eb5dae672faf3f5b08a6f987148f629e
|
|
When bailing out on errors in the constructors of Buffers or Networks,
the open file descriptor should be closed since the descructor will
never be called.
Change-Id: I8e1954e9efd65b594cc9544e18d0bfbe0730f156
|
|
Adding note about that a configured Linux kernel source tree is
required to build the kernel drivers.
Change-Id: I3a4c7fd20e24731864b768051f2ce1f5714b5535
|
|
Change-Id: I5a87686aa2b4ebf7d9d6202a6c4852d34be5f9e4
|
|
Bump the hardcoded timeout value to allow for userspaces process to
be scheduled and receive the response from the capabilities request.
Change-Id: Ia2c8a0554870cf8470a2bb40bf8ed450c10f8446
|
|
By default the logd will try to fetch the address of the print buffer
from the device tree entry, assuming there is a device tree entry
named 'print_queue'.
Change-Id: Ic4750fe793f450152ba537820adc794731aaacaf
|
|
It now accepts a timeout expressed in nanoseconds.
Change-Id: I77fb89c33dc117f846b86494883548ef3241f0ab
|
|
Change-Id: I99d77bf528ea7c6b7d444c24f6f7b712b281b181
|
|
Allocate a range of minor numbers and use the minor number as index
when creating the /dev/ethosu<nr> device node.
Change-Id: I76c2a3995ff5087e42a4e95945eb884a4bfb58f6
|
|
Change-Id: I93708d609d77484770bd4cea9c4a7cf86361c5ea
|
|
Change-Id: Ia972102713b4e7178e3c5d26862c9bfda751130a
|
|
Change-Id: Idc818453362bd3cd4d1c35e1e2d1a9f0ccd7a0a6
|
|
As of kernel version v5.12 the amba_driver.remove is expected to be of
'static void' rather than the previous 'static int'. This patch updates
the mhu files to comply with kernel version v5.12.
Change-Id: Iec4d7927e0db2c8008049b743ca890647a2fa9ff
|
|
Add weak linkage attribute to underlying kernel module and filedescriptors
to be able to replace with stub methods together with an example stub
implementation.
Change-Id: I766c51fceede7df16c599bd9f1874e31c264776d
|
|
Change-Id: I2a5e5ca78bc80117938b706fc31767a8d668b931
|
|
Change-Id: Ia90e2d74c3e071c6e3de381cfada9a5a155d7529
|
|
Also add a call to send a ping message in the inference_runner example
app.
Change-Id: Ia2b4abf5fec8285c320ec0f28df167ff2ea13d82
|
|
Implement a remoteproc driver for controlling firmware loading and
powering up and down of the CPU on a Ethos-U subsystem.
Change-Id: I075d24c780b306aa8152c4a9e24a31df29574f9e
|
|
Use the reset controller driver mechanism to control the Ethos-U
subsystem remoteproc driver.
Change-Id: If180d5b922f8b1cd245af7f922911c17ecd313a3
|
|
Change-Id: Id5aa197312c88b0c448dc085d8477ed67da24724
|
|
Adding documentation, component- and sequence diagrams how the driver
library and kernel driver work.
Change-Id: I4e71b5e1f5d926386efe8f103a0f4fbc8636a494
|
|
Change-Id: Ie76db24dec03a6b45c64070d89a83805397d2f1f
|