aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-19Add sentinel entry to dt array22.05-rc322.05-rc222.05Per Åstrand
Change-Id: Ic5d98c108593a16034c7dbc18043bbee13c31833
2022-05-18Check size of buffer before allocatingPer Åstrand
Avoid undefined behaviour from calling dma_alloc_coherent with requested size=0 as reported by UBSAN. Change-Id: I1732759464f1d88259edeea099b1729f4ae6b86f
2022-05-18Replace usage of forbidden strncpy with strscpyDavide Grohmann
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
2022-05-09Reset firmware when inference cancellation fails22.05-rc1Davide Grohmann
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
2022-05-05Add support for inference cancellationDavide Grohmann
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
2022-05-02Add support for rejected inference responsesDavide Grohmann
Change-Id: I62e13df69c712ed4cf70766429b4cb13fc9c9dcb
2022-04-27Adapt remoteproc module for more kernel versionsPer Åstrand
The .da_to_va has different signatures for different kernel versions. Add kernel version checks to pick the correct one. Change-Id: Ie25c496aa646119526867c91f244f9ad195860cd
2022-04-26CoverageKristofer Jonsson
Add scripts for gathering coverage data on target, and analyzing coverage info on host. Change-Id: I3bb2d0ec3757ce077638a8780779daa84cd48686
2022-04-26Fix: always close fd when destructing buffersDavide Grohmann
Also always rethrow exceptions not swallow them Change-Id: I7a4b1e408858aa0d0128ca7bd6d6a7715662f9fb
2022-04-12Drop tflite and flatbuffer dependenciesDavide Grohmann
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
2022-04-04Reset firmwareKristofer Jonsson
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
2022-03-23Kernel watchdog timeoutKristofer Jonsson
Implement kernel watchdog that detects when firmware becomes unresponsive. Change-Id: I5c5b58a56a2ce629e1fd7cabae83b61823239ea6
2022-03-14Network infoKristofer Jonsson
Add UAPI and core message that allows user space space to fetch information about network models built into the firmware. Change-Id: Ic92529bce3edd0a5499e691a566bd065da2a72ad
2022-03-10Firmware resident modelKristofer Jonsson
Support referencing a network model by index that has been built into the firmware binary. Change-Id: Idd5294376ea82503dfeafe1203dcc0694d296dfe
2022-01-17Updating tflite schema22.02-rc322.02-rc222.02-rc122.02Kristofer Jonsson
Change-Id: Iaf878efcbe42d7a658a76db868806114df9e4b27
2021-12-17Support up to 8 PMU countersJonny Svärd
Change-Id: Ia470d230b4bce152f88ab735e0a2ad2cdba80226
2021-12-16Corstone700 Kernel modules build fix.Lior Dekel
JIRA: MLBEDSW-5531 Change-Id: Ib4b6b6b0ee3995bb01029d561c4cf7eed981a303
2021-12-14const:ify userspace driver libraryPer Åstrand
Change-Id: I965a6f4c42fca1b3b4493e7eef3cbb75e236fe3a
2021-11-23Add support for int32 in inference_runner21.11Henrik Hoglind
Change-Id: Ic4605a22547ab797c638bfddd9719c69d495da75
2021-11-23linux_driver_stack: ethosu_remoteproc.c:122:14: error: initialization from ↵Nir Ekhauz
incompatible pointer type Change-Id: I50396299f4d9878bb0b43ea5acd06951e4df698e
2021-11-15Verify that dma buffer fits in the mapped range21.11-rc321.11-rc2Per Åstrand
Change-Id: I1ad92264eb5dae672faf3f5b08a6f987148f629e
2021-11-15Fix: do not leak file descriptors on errorsDavide Grohmann
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
2021-11-11Documentation updates21.11-rc1Kristofer Jonsson
Adding note about that a configured Linux kernel source tree is required to build the kernel drivers. Change-Id: I3a4c7fd20e24731864b768051f2ce1f5714b5535
2021-11-02Add support for ID 0x20112 of FPGA reset ctrlPer Åstrand
Change-Id: I5a87686aa2b4ebf7d9d6202a6c4852d34be5f9e4
2021-11-01Increase message timeoutPer Åstrand
Bump the hardcoded timeout value to allow for userspaces process to be scheduled and receive the response from the capabilities request. Change-Id: Ia2c8a0554870cf8470a2bb40bf8ed450c10f8446
2021-10-28Add utility to print firmware logKristofer Jonsson
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
2021-10-27Improve granularity of wait call in Inference classDavide Grohmann
It now accepts a timeout expressed in nanoseconds. Change-Id: I77fb89c33dc117f846b86494883548ef3241f0ab
2021-10-20Fix: e-functions should throw an exception on errorDavide Grohmann
Change-Id: I99d77bf528ea7c6b7d444c24f6f7b712b281b181
2021-10-18Use minor number for device nodeKristofer Jonsson
Allocate a range of minor numbers and use the minor number as index when creating the /dev/ethosu<nr> device node. Change-Id: I76c2a3995ff5087e42a4e95945eb884a4bfb58f6
2021-09-30Add Juno FPGA reset kernel modulePer Åstrand
Change-Id: I93708d609d77484770bd4cea9c4a7cf86361c5ea
2021-09-09Add section about multi subsystem to README.mdKristofer Jonsson
Change-Id: Ia972102713b4e7178e3c5d26862c9bfda751130a
2021-09-06Correct timescale of sleep for stubPer Åstrand
Change-Id: Idc818453362bd3cd4d1c35e1e2d1a9f0ccd7a0a6
2021-08-26Update amba_driver.remove to comply with v5.1221.08-rc321.08Anton Moberg
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
2021-08-23Add weak linkage attributes for stubbing21.08-rc2Per Åstrand
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
2021-08-17Increase capabilities timeout to 100 msHenrik Hoglind
Change-Id: I2a5e5ca78bc80117938b706fc31767a8d668b931
2021-08-13Do not expose device specific hw config in capabilities21.08-rc1Davide Grohmann
Change-Id: Ia90e2d74c3e071c6e3de381cfada9a5a155d7529
2021-08-12Fix: do not attempt to read data from mailbox when length is 0Davide Grohmann
Also add a call to send a ping message in the inference_runner example app. Change-Id: Ia2b4abf5fec8285c320ec0f28df167ff2ea13d82
2021-06-21Use remoteproc for controlling Ethos-U cpuPer Åstrand
Implement a remoteproc driver for controlling firmware loading and powering up and down of the CPU on a Ethos-U subsystem. Change-Id: I075d24c780b306aa8152c4a9e24a31df29574f9e
2021-06-21Implement reset handler for remoteprocPer Åstrand
Use the reset controller driver mechanism to control the Ethos-U subsystem remoteproc driver. Change-Id: If180d5b922f8b1cd245af7f922911c17ecd313a3
2021-06-10Add support for handling capabilities requestsDavide Grohmann
Change-Id: Id5aa197312c88b0c448dc085d8477ed67da24724
2021-06-10Adding documentationKristofer Jonsson
Adding documentation, component- and sequence diagrams how the driver library and kernel driver work. Change-Id: I4e71b5e1f5d926386efe8f103a0f4fbc8636a494
2021-04-12Add nullptr checks21.05-rc321.05-rc221.05Jonny Svärd
Change-Id: Ie76db24dec03a6b45c64070d89a83805397d2f1f
2021-03-31Update license headersAnton Moberg
Update all license headers to the correct years. Change-Id: Ie1aee82af91c744a3cdb949044334ade0d834c16
2021-03-25Add support for float32 in inference_runnerHenrik Hoglind
Change-Id: I1c618be058863a3a2457a849e70b22851aa91b3a
2021-02-23Trademark information and missing license files21.02Kristofer Jonsson
Updating readme files with trademark information. Adding missing license files and security information. Change-Id: If916cfe60e17913e1f147c3e3abadca20cd68784
2021-02-15Use namespace for ethosu kernel headersPer Åstrand
Change-Id: I2866d2e7b25af49c3f8e4ed75dc60177e9b38143
2021-02-09arm_mhu_v2 driver bugfix21.02-rc221.02-rc1Jonny Svärd
rx_base is uninitialized when given as argument to iounmap(), fix the error handling. Change-Id: Ia828a2b3eee49dddf197012fd98200199de995fd
2021-01-26Improve mailbox message handlingJonny Svärd
Introduce a 32b magic for each message. Verify the magic for all incoming messages. Add reset function - in case of protocol error, effectively reset/empty the incoming queue. Add an error message type and message Add version request/response Verify payload length of responses (when applicable) Change-Id: I8aadd4012024492533d52e2cdb38630fce5c36e2
2020-12-10Fix args order to PMU log messageJonny Svärd
Change-Id: Iaf6f26e12fdd4a6d8e975a304a7836b26222f270
2020-11-2616 bit network support20.11Kristofer Jonsson
Change-Id: I65cd027dea115d2f50f302ebe997d6d2525e0d7e