OSDN Git Service

hw/ssi/imx_spi: Removed unnecessary cast of rx data received from slave
authorEden Mikitas <e.mikitas@gmail.com>
Tue, 2 Jun 2020 12:44:34 +0000 (13:44 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 5 Jun 2020 16:23:08 +0000 (17:23 +0100)
When inserting the value retrieved (rx) from the spi slave, rx is pushed to
rx_fifo after being cast to uint8_t. rx_fifo is a fifo32, and the rx
register the driver uses is also 32 bit. This zeroes the 24 most
significant bits of rx. This proved problematic with devices that expect to
use the whole 32 bits of the rx register.

Signed-off-by: Eden Mikitas <e.mikitas@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/ssi/imx_spi.c

index 6fef5c7..43b2f14 100644 (file)
@@ -206,7 +206,7 @@ static void imx_spi_flush_txfifo(IMXSPIState *s)
         if (fifo32_is_full(&s->rx_fifo)) {
             s->regs[ECSPI_STATREG] |= ECSPI_STATREG_RO;
         } else {
-            fifo32_push(&s->rx_fifo, (uint8_t)rx);
+            fifo32_push(&s->rx_fifo, rx);
         }
 
         if (s->burst_length <= 0) {