]> git.baikalelectronics.ru Git - kernel.git/commit
platform/chrome: cros_ec_spi: Request the SPI thread be realtime
authorDouglas Anderson <dianders@chromium.org>
Wed, 15 May 2019 16:48:13 +0000 (09:48 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Fri, 24 May 2019 09:35:30 +0000 (11:35 +0200)
commitabe118bd53f6d06df7023a7699f37a6ebc812250
tree925aa3022314271642bfd1fdd44939c566b2b5f1
parent65d0b51c53fbeedd346593e3e6b363161f80065f
platform/chrome: cros_ec_spi: Request the SPI thread be realtime

All currently known ECs in the wild are very sensitive to timing.
Specifically the ECs are known to drop a transfer if more than 8 ms
passes from the assertion of the chip select until the transfer
finishes.

Let's use the new feature introduced in the patch (spi: Allow SPI
devices to request the pumping thread be realtime") to request the SPI
pumping thread be realtime.  This means that if we get shunted off to
the SPI thread for whatever reason we won't get downgraded to low
priority.

NOTES:
- We still need to keep ourselves as high priority since the SPI core
  doesn't guarantee that all transfers end up on the pumping thread
  (in fact, it tries pretty hard to do them in the calling context).
- If future Chrome OS ECs ever fix themselves to be less sensitive
  then we could consider adding a property (or compatible string) to
  not set this property.  For now we need it across the board.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
drivers/platform/chrome/cros_ec_spi.c