Skip to content
  1. Feb 15, 2023
  2. Feb 14, 2023
  3. Feb 08, 2023
    • Kristofer Jonsson's avatar
      Removing core interface · 7a260455
      Kristofer Jonsson authored
      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
      23.02-rc1
      7a260455
  4. Feb 02, 2023
    • Kristofer Jonsson's avatar
      Create device for Ethos-U kernel driver · 074ef905
      Kristofer Jonsson authored
      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
      074ef905
    • Kristofer Jonsson's avatar
      Break circulare dependency on struct ethosu_device · ec47704a
      Kristofer Jonsson authored
      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
      ec47704a
    • Kristofer Jonsson's avatar
      Converting Ethos-U driver to rpmsg · d779a08a
      Kristofer Jonsson authored
      The Ethos-U kernel driver has been converted from a
      platform driver with a custom firmware interface into a
      rpmsg driver.
      
      Change-Id: I9ae449f5e79eb02924e6630611d0893e5fec86be
      d779a08a
    • Kristofer Jonsson's avatar
      Removing watchdog and reset · b42bc0b9
      Kristofer Jonsson authored
      Removing watchdog and firmware reset as a preparations for the
      migrations to rpmsg.
      
      Change-Id: Ic1053e3f4301ecadbde8c59dbaed437625a0a5ea
      b42bc0b9
    • Kristofer Jonsson's avatar
      Add rpmsg capabilities to remoteproc · a70bfde6
      Kristofer Jonsson authored
      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
      a70bfde6
  5. Jan 16, 2023
  6. Dec 19, 2022
  7. Nov 04, 2022
  8. Oct 25, 2022
  9. Sep 08, 2022
  10. Aug 29, 2022
  11. Aug 25, 2022
  12. Jun 30, 2022
    • Kristofer Jonsson's avatar
      Improved logging · 53fd03d0
      Kristofer Jonsson authored
      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
      3 tags
      53fd03d0
    • Kristofer Jonsson's avatar
      Fix bug in inference release · 2d69b8b5
      Kristofer Jonsson authored
      Once the inference file descriptor has been created the inference
      release must be handled by the file descriptor release callback.
      
      Change-Id: Ic514983e85821ea3893e11c5c682610f67d1ae31
      2d69b8b5
  13. Jun 29, 2022
    • Kristofer Jonsson's avatar
      Bug fix for queue capacity calculation · e2a58155
      Kristofer Jonsson authored
      Reduce queue capacity by one byte, else it will not be possible to
      distinguish between an empty and full queue.
      
      Change-Id: Ia243a7175833826dc816d536cc79ac5a252f3e3a
      e2a58155
    • Kristofer Jonsson's avatar
      Return network info error code · e3e26434
      Kristofer Jonsson authored
      The error code from the core side was not correctly propagated to
      user space.
      
      Change-Id: I40e502f8dc3a77de064f441beeb62603d013e318
      e3e26434
    • Kristofer Jonsson's avatar
      Add missing padding to core interface · 3706043e
      Kristofer Jonsson authored
      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
      3706043e
  14. Jun 01, 2022
  15. May 24, 2022
  16. May 23, 2022
    • Davide Grohmann's avatar
      Use ids for identifying messages sent to EthosU firmware · 32660f9f
      Davide Grohmann authored
      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
      32660f9f
  17. May 19, 2022
  18. May 18, 2022
  19. May 09, 2022
    • Davide Grohmann's avatar
      Reset firmware when inference cancellation fails · 8b1fe55b
      Davide Grohmann authored
      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
      22.05-rc1
      8b1fe55b
  20. May 05, 2022
    • Davide Grohmann's avatar
      Add support for inference cancellation · 7e8f5087
      Davide Grohmann authored
      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
      7e8f5087
  21. May 02, 2022
  22. Apr 27, 2022
  23. Apr 26, 2022
  24. Apr 12, 2022
    • Davide Grohmann's avatar
      Drop tflite and flatbuffer dependencies · 80f8ddf0
      Davide Grohmann authored
      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
      80f8ddf0
  25. Apr 04, 2022
    • Kristofer Jonsson's avatar
      Reset firmware · 442fefb7
      Kristofer Jonsson authored
      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
      442fefb7
  26. Mar 23, 2022
    • Kristofer Jonsson's avatar
      Kernel watchdog timeout · f5b98c96
      Kristofer Jonsson authored
      Implement kernel watchdog that detects when firmware becomes
      unresponsive.
      
      Change-Id: I5c5b58a56a2ce629e1fd7cabae83b61823239ea6
      f5b98c96
  27. Mar 14, 2022
    • Kristofer Jonsson's avatar
      Network info · 3c6a260a
      Kristofer Jonsson authored
      Add UAPI and core message that allows user space space to fetch
      information about network models built into the firmware.
      
      Change-Id: Ic92529bce3edd0a5499e691a566bd065da2a72ad
      3c6a260a
  28. Mar 10, 2022
    • Kristofer Jonsson's avatar
      Firmware resident model · 35de9e63
      Kristofer Jonsson authored
      Support referencing a network model by index that has been built into
      the firmware binary.
      
      Change-Id: Idd5294376ea82503dfeafe1203dcc0694d296dfe
      35de9e63
  29. Jan 17, 2022
Loading