Message ID | 20200203180904.2727-3-linux@roeck-us.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] m25p80: Convert to support tracing | expand |
On 2/3/20 7:09 PM, Guenter Roeck wrote: > 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. Which machine are you using for these tests ? the AST2500 evb using the w25q256 flash model ? Any how, it looks correct. Reviewed-by: Cédric Le Goater <clg@kaod.org> Fixes: f95c4bffdc4c ("aspeed/smc: snoop SPI transfers to fake dummy cycles") I think commit ef06ca3946e2 ("xilinx_spips: Add support for RX discard and RX drain") needs a similar fix. Adding Francisco. Thanks, C. > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > --- > hw/ssi/aspeed_smc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c > index f0c7bbbad3..61e8fa57d3 100644 > --- a/hw/ssi/aspeed_smc.c > +++ b/hw/ssi/aspeed_smc.c > @@ -762,11 +762,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: >
On 2/3/20 11:45 PM, Cédric Le Goater wrote: > On 2/3/20 7:09 PM, Guenter Roeck wrote: >> 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. > > Which machine are you using for these tests ? the AST2500 evb using > the w25q256 flash model ? > Correct. Guenter > Any how, it looks correct. > > Reviewed-by: Cédric Le Goater <clg@kaod.org> > Fixes: f95c4bffdc4c ("aspeed/smc: snoop SPI transfers to fake dummy cycles") > > I think commit ef06ca3946e2 ("xilinx_spips: Add support for RX discard > and RX drain") needs a similar fix. Adding Francisco. > > Thanks, > > C. > > >> Signed-off-by: Guenter Roeck <linux@roeck-us.net> >> --- >> hw/ssi/aspeed_smc.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c >> index f0c7bbbad3..61e8fa57d3 100644 >> --- a/hw/ssi/aspeed_smc.c >> +++ b/hw/ssi/aspeed_smc.c >> @@ -762,11 +762,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: >> >
Hi Cédric, On [2020 Feb 04] Tue 08:45:11, Cédric Le Goater wrote: > On 2/3/20 7:09 PM, Guenter Roeck wrote: > > 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. > > Which machine are you using for these tests ? the AST2500 evb using > the w25q256 flash model ? > > Any how, it looks correct. > > Reviewed-by: Cédric Le Goater <clg@kaod.org> > Fixes: f95c4bffdc4c ("aspeed/smc: snoop SPI transfers to fake dummy cycles") > > I think commit ef06ca3946e2 ("xilinx_spips: Add support for RX discard > and RX drain") needs a similar fix. Adding Francisco. Yes, I agree that a similar fix is needed in the xilinx_spips aswell, I just provided a patch. Thank you for the notification! Best regards, Francisco Iglesias > > Thanks, > > C. > > > > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > > --- > > hw/ssi/aspeed_smc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c > > index f0c7bbbad3..61e8fa57d3 100644 > > --- a/hw/ssi/aspeed_smc.c > > +++ b/hw/ssi/aspeed_smc.c > > @@ -762,11 +762,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: > > >
diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index f0c7bbbad3..61e8fa57d3 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -762,11 +762,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:
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. Signed-off-by: Guenter Roeck <linux@roeck-us.net> --- hw/ssi/aspeed_smc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)