spi: Create a helper to derive adaptive timeouts
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 22 Jun 2023 09:06:32 +0000 (11:06 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 22 Jun 2023 14:03:18 +0000 (15:03 +0100)
commitd8e4ebf87018736c0c29e2eb4afe3915156483cd
tree30908475d53e3628c426a06a18c805fd7050970c
parente6afe03351ac81fbc4f2b93bf3b356f7b662939d
spi: Create a helper to derive adaptive timeouts

Big transfers might take a bit of time, too constraining timeouts might
lead to false positives. In order to simplify the drivers work and with
the goal of factorizing code in mind, let's add a helper that can be
used by any spi controller driver to derive a relevant per-transfer
timeout value.

The logic is simple: we know how much time it would take to transfer a
byte, we can easily derive the total theoretical amount of time involved
for each transfer. We multiply it by two to have a bit of margin and
enforce a minimum of 500ms.

Suggested-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/Message-Id:
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/spi/spi.h