From: Eden Mikitas <e.mikitas@gmail.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
qemu-trivial@nongnu.org,
Alistair Francis <alistair@alistair23.me>,
Jean-Christophe Dubois <jcd@tribudubois.net>,
"open list:i.MX31 kzm" <qemu-arm@nongnu.org>,
Peter Chubb <peter.chubb@nicta.com.au>,
Eden Mikitas <e.mikitas@gmail.com>
Subject: [PATCH] ssi/imx_spi: Removed unnecessary cast and fixed condition in while statement
Date: Wed, 20 May 2020 17:32:55 +0300 [thread overview]
Message-ID: <20200520143255.27235-1-e.mikitas@gmail.com> (raw)
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.
I tested this change by running `make check` and by booting linux on
sabrelite (which uses an spi flash device).
Signed-off-by: Eden Mikitas <e.mikitas@gmail.com>
---
hw/ssi/imx_spi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/ssi/imx_spi.c b/hw/ssi/imx_spi.c
index 2dd9a631e1..43b2f14dd2 100644
--- a/hw/ssi/imx_spi.c
+++ b/hw/ssi/imx_spi.c
@@ -182,7 +182,7 @@ static void imx_spi_flush_txfifo(IMXSPIState *s)
rx = 0;
- while (tx_burst) {
+ while (tx_burst > 0) {
uint8_t byte = tx & 0xff;
DPRINTF("writing 0x%02x\n", (uint32_t)byte);
@@ -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) {
--
2.17.1
next reply other threads:[~2020-05-20 14:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-20 14:32 Eden Mikitas [this message]
2020-05-21 16:41 ` [PATCH] ssi/imx_spi: Removed unnecessary cast and fixed condition in while statement Peter Maydell
2020-05-21 18:49 ` Eden Mikitas
2020-05-21 18:56 ` Peter Maydell
2020-05-22 11:50 ` [PATCH 0/2] hw/ssi/imx_spi: 2 Fixes to flush txfifo function in imx_spi Eden Mikitas
2020-05-22 11:50 ` [PATCH 1/2] hw/ssi/imx_spi: changed while statement to prevent underflow Eden Mikitas
2020-05-22 15:34 ` Alistair Francis
2020-05-22 11:50 ` [PATCH 2/2] hw/ssi/imx_spi: Removed unnecessary cast of rx data received from slave Eden Mikitas
2020-05-22 15:36 ` Alistair Francis
2020-05-29 13:03 ` [PATCH 0/2] hw/ssi/imx_spi: 2 Fixes to flush txfifo function in imx_spi Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200520143255.27235-1-e.mikitas@gmail.com \
--to=e.mikitas@gmail.com \
--cc=alistair@alistair23.me \
--cc=jcd@tribudubois.net \
--cc=peter.chubb@nicta.com.au \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).