OSDN Git Service

aspeed/smc: Fix number of dummy cycles for FAST_READ_4 command
authorGuenter Roeck <linux@roeck-us.net>
Mon, 16 Mar 2020 15:52:24 +0000 (15:52 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 17 Mar 2020 11:36:44 +0000 (11:36 +0000)
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>
hw/ssi/aspeed_smc.c

index 32be2a0..9d5c696 100644 (file)
@@ -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: