• Douglas Anderson's avatar
    platform/chrome: cros_ec_spi: Request the SPI thread be realtime · ac5bdfdc
    Douglas Anderson authored
    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: default avatarDouglas Anderson <dianders@chromium.org>
    Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
    Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
    ac5bdfdc
cros_ec_spi.c 21.3 KB