summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2020-03-16 15:52:24 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-03-17 11:36:44 +0000
commit7faf6f1790dddf9f3acf6ddd95f7bbc1b4a755d0 (patch)
tree75950e8b8daa11ca88407ba4e10dd99cd6e05c6a
parent9c85bcd8f5f9f775e8305e580cf5fbc5b7ba2c28 (diff)
downloadfocaccia-qemu-7faf6f1790dddf9f3acf6ddd95f7bbc1b4a755d0.tar.gz
focaccia-qemu-7faf6f1790dddf9f3acf6ddd95f7bbc1b4a755d0.zip
aspeed/smc: Fix number of dummy cycles for FAST_READ_4 command
The Linux kernel recently started using FAST_READ_4 commands.
This results in flash read failures. At the same time, the m25p80
emulation is seen to read 8 more bytes than expected. Adjusting the
expected number of dummy cycles to match FAST_READ fixes the problem.

Fixes: f95c4bffdc4c ("aspeed/smc: snoop SPI transfers to fake dummy cycles")
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/ssi/aspeed_smc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c
index 32be2a02b0..9d5c696d5a 100644
--- a/hw/ssi/aspeed_smc.c
+++ b/hw/ssi/aspeed_smc.c
@@ -788,11 +788,11 @@ static int aspeed_smc_num_dummies(uint8_t command)
     case FAST_READ:
     case DOR:
     case QOR:
+    case FAST_READ_4:
     case DOR_4:
     case QOR_4:
         return 1;
     case DIOR:
-    case FAST_READ_4:
     case DIOR_4:
         return 2;
     case QIOR: