Skip to content
Snippets Groups Projects
  1. Jun 16, 2023
    • Sebastian Andrzej Siewior's avatar
      wishbone: Let write callback talk to slave directly and process MSI. · f6b8c321
      Sebastian Andrzej Siewior authored and Stefan Rauch's avatar Stefan Rauch committed
      
      After handle_write_cfg(, WBA_ERR, ) the function wakes a worker which
      will talk to the hardware and process the MSI. This worker can be
      delayed if the system is busy leading to latency spikes during the
      communication.
      
      The detour via the worker can be avoided and the request can be
      completed within the write request. Doing it within handle_write_cfg()
      could be possible because wishbone_process_msi() is using its own buffer
      for communication and only the locking is in the way.
      It looks safer and simpler to simply wait until all locks are released
      and process the MSI afterwards if needed.
      This also mimics the previous workflow except that there is less delay
      now.
      
      Don't schedule the worker from handle_write_cfg() but process the MSI
      request directly from the write callback if needed.
      
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Reviewed-by: default avatarKurt Kanzenbach <kurt@linutronix.de>
      f6b8c321
    • Sebastian Andrzej Siewior's avatar
      pcie-wb: Use threaded interrupts and avoid the kworker. · 9ba271b6
      Sebastian Andrzej Siewior authored and Stefan Rauch's avatar Stefan Rauch committed
      
      The interrupt service routine schedules a worker in order to perform the
      main task including signaling userspace. This can lead to increased
      latency since the worke is not sychronized with the interrupt handler
      and be invoked "later" depending on the load on the system.
      
      This can be avoided by using a threaded interrupt and invoking the work
      directly in the threaded interrupt. There are still other places which
      invoke wishbone_slave_ready() (and use the worker) in order to judge if
      this is sane to do or not.
      
      Use threaded interrupts and perform the work in the threaded interrupt.
      
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Reviewed-by: default avatarKurt Kanzenbach <kurt@linutronix.de>
      9ba271b6
  2. Mar 17, 2022
  3. Nov 03, 2021
  4. Nov 01, 2021
    • Benoit Rat's avatar
      sdbfs: relicense lib to LGPL v2.1 · df49a798
      Benoit Rat authored
      The userspace and kernel binaries are kept as GPL v2 but the library has
      been relicensed as LGPL v2.1 in order to allow it to be linked to
      proprietary software.
      
      The permission to relicense the files has been approved by CERN in 2018
      and then in 2021 (and also by its main author).
      df49a798
  5. Nov 06, 2020
  6. Sep 15, 2020
  7. Mar 16, 2020
  8. Feb 21, 2020
  9. Aug 09, 2019
  10. Mar 05, 2019
  11. Feb 25, 2019
  12. Jun 08, 2018
  13. Mar 12, 2018
  14. Jan 15, 2018
  15. Feb 09, 2017
  16. Aug 01, 2016
  17. Jul 28, 2016
  18. Jul 27, 2016
  19. Jul 18, 2016
  20. Apr 29, 2016
  21. Apr 28, 2016
  22. Apr 27, 2016
  23. Apr 26, 2016
  24. Apr 22, 2016
  25. Apr 21, 2016