• Andy Shevchenko's avatar
    spi: dw: revisit FIFO size detection again · 9d239d35
    Andy Shevchenko authored
    The commit d297933c (spi: dw: Fix detecting FIFO depth) tries to fix the
    logic of the FIFO detection based on the description on the comments. However,
    there is a slight difference between numbers in TX Level and TX FIFO size.
    
    So, by specification the FIFO size would be in a range 2-256 bytes. From TX
    Level prospective it means we can set threshold in the range 0-(FIFO size - 1)
    bytes. Hence there are currently two issues:
      a) FIFO size 2 bytes is actually skipped since TX Level is 1 bit and could be
         either 0 or 1 byte;
      b) FIFO size is incorrectly decreased by 1 which already done by meaning of
         TX Level register.
    
    This patch fixes it eventually right.
    
    Fixes: d297933c (spi: dw: Fix detecting FIFO depth)
    Reviewed-by: default avatarAxel Lin <axel.lin@ingics.com>
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    9d239d35
spi-dw.c 18.2 KB