• Andy Shevchenko's avatar
    spi: dw: make sure SPI controller is enabled · 45746e82
    Andy Shevchenko authored
    The error handling is partially broken since the controller is disabled on
    error and is not re-enabled until condition occurs, i.e. mode (poll, PIO/DMA),
    chip (cs_change), or speed (clk_div) is changed. In the result of these changes
    we will have a predictable state of the SPi controller independently on how
    successfull was a previous transfer.
    
    The patch disables interrupts and re-enables the SPI controller wherever it
    needs to be done. Thus most of the time the SPI controller is kept enabled. The
    runtime PM, when it will be implemented, must take care of the controller
    disabling and re-enabling.
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    45746e82
spi-dw.c 17.9 KB