• Rasmus Villemoes's avatar
    spi: spi-fsl-spi: allow changing bits_per_word while CS is still active · a798a708
    Rasmus Villemoes authored
    Commit c9bfcb31 (spi_mpc83xx: much improved driver) introduced
    logic to ensure bits_per_word and speed_hz stay the same for a series
    of spi_transfers with CS active, arguing that
    
        The current driver may cause glitches on SPI CLK line since one
        must disable the SPI controller before changing any HW settings.
    
    This sounds quite reasonable. So this is a quite naive attempt at
    relaxing this sanity checking to only ensure that speed_hz is
    constant - in the faint hope that if we do not causes changes to the
    clock-related fields of the SPMODE register (DIV16 and PM), those
    glitches won't appear.
    
    The purpose of this change is to allow automatically optimizing large
    transfers to use 32 bits-per-word; taking one interrupt for every byte
    is extremely slow.
    Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    a798a708
spi-fsl-spi.c 23.3 KB