1. 26 Feb, 2024 1 commit
    • Théo Lebrun's avatar
      spi: spi-mem: add statistics support to ->exec_op() calls · e63aef9c
      Théo Lebrun authored
      Current behavior is that spi-mem operations do not increment statistics,
      neither per-controller nor per-device, if ->exec_op() is used. For
      operations that do NOT use ->exec_op(), stats are increased as the
      usual spi_sync() is called.
      
      The newly implemented spi_mem_add_op_stats() function is strongly
      inspired by spi_statistics_add_transfer_stats(); locking logic and
      l2len computation comes from there.
      
      Statistics that are being filled: bytes{,_rx,_tx}, messages, transfers,
      errors, timedout, transfer_bytes_histo_*.
      
      Note about messages & transfers counters: in the fallback to spi_sync()
      case, there are from 1 to 4 transfers per message. We only register one
      big transfer in the ->exec_op() case as that is closer to reality.
      
      This patch is NOT touching:
       - spi_async, spi_sync, spi_sync_immediate: those counters describe
         precise function calls, incrementing them would be lying. I believe
         comparing the messages counter to spi_async+spi_sync is a good way
         to detect ->exec_op() calls, but I might be missing edge cases
         knowledge.
       - transfers_split_maxsize: splitting cannot happen if ->exec_op() is
         provided.
      Reviewed-by: default avatarDhruva Gole <d-gole@ti.com>
      Signed-off-by: default avatarThéo Lebrun <theo.lebrun@bootlin.com>
      Reviewed-by: default avatarTudor Ambarus <tudor.ambarus@linaro.org>
      Link: https://msgid.link/r/20240216-spi-mem-stats-v2-1-9256dfe4887d@bootlin.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e63aef9c
  2. 21 Feb, 2024 3 commits
  3. 19 Feb, 2024 1 commit
  4. 15 Feb, 2024 2 commits
  5. 13 Feb, 2024 1 commit
  6. 09 Feb, 2024 1 commit
  7. 08 Feb, 2024 31 commits