提交 92dc20d8 编写于 作者: A Andrey Vostrikov 提交者: Mark Brown

spi: spi-fsl-dspi: Fix cs_change handling in message transfer

There are use cases when chip select should be triggered between transfers
in single SPI message. Current implementation does this only on last
transfer in message ignoring cs_change value provided in current transfer.
Signed-off-by: NAndrey Vostrikov <andrey.vostrikov@cogentembedded.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 f55532a0
...@@ -385,8 +385,8 @@ static int dspi_transfer_one_message(struct spi_master *master, ...@@ -385,8 +385,8 @@ static int dspi_transfer_one_message(struct spi_master *master,
dspi->cur_chip = spi_get_ctldata(spi); dspi->cur_chip = spi_get_ctldata(spi);
dspi->cs = spi->chip_select; dspi->cs = spi->chip_select;
dspi->cs_change = 0; dspi->cs_change = 0;
if (dspi->cur_transfer->transfer_list.next if (list_is_last(&dspi->cur_transfer->transfer_list,
== &dspi->cur_msg->transfers) &dspi->cur_msg->transfers) || transfer->cs_change)
dspi->cs_change = 1; dspi->cs_change = 1;
dspi->void_write_data = dspi->cur_chip->void_write_data; dspi->void_write_data = dspi->cur_chip->void_write_data;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册