spi: mediatek: Don't modify spi_transfer when transfer.
authorPeter Shih <pihsun@chromium.org>
Mon, 10 Sep 2018 03:54:21 +0000 (11:54 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 18 Sep 2018 16:28:06 +0000 (09:28 -0700)
commit00bca73bfca4fb0ab089b94cad0fc83d8b49c25f
tree2fd826f462b1cc4165a366ae66143b1228ae7080
parent0fd85869c2a9c8723a98bc1f56a876e8383649f4
spi: mediatek: Don't modify spi_transfer when transfer.

Mediatek SPI driver modifies some fields (tx_buf, rx_buf, len, tx_dma,
rx_dma) of the spi_transfer* passed in when doing transfer_one and in
interrupt handler. This is somewhat unexpected, and there are some
caller (e.g. Cr50 spi driver) that reuse the spi_transfer for multiple
messages. Add a field to record how many bytes have been transferred,
and calculate the right len / buffer based on it instead.

Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org>
Change-Id: I23e218cd964f16c0b2b26127d4a5ca6529867673
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mt65xx.c