diff options
author | Cédric Le Goater <clg@kaod.org> | 2019-04-17 15:39:40 +0200 |
---|---|---|
committer | Andrew Jeffery <andrew@aj.id.au> | 2019-04-18 11:11:20 +0930 |
commit | cb8980080ccb7879c5a8ef0e3efa783c9288d907 (patch) | |
tree | d3d1fb2fd0d5ffe8e05a2f69adae9ec5067d6adf | |
parent | 0006809fb4170784c680d95226d8c8f9ae0379fc (diff) | |
download | blackbird-obmc-linux-cb8980080ccb7879c5a8ef0e3efa783c9288d907.tar.gz blackbird-obmc-linux-cb8980080ccb7879c5a8ef0e3efa783c9288d907.zip |
mtd: spi-nor: aspeed: use memcpy_fromio() to capture the optimization buffer
aspeed_smc_read_from_ahb() only reads the first word which is not what
we want. We want to capture a CALIBRATE_BUF_SIZE size window of the
flash contents to optimize the read.
OpenBMC-Staging-Count: 1
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
-rw-r--r-- | drivers/mtd/spi-nor/aspeed-smc.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/mtd/spi-nor/aspeed-smc.c b/drivers/mtd/spi-nor/aspeed-smc.c index 1437732fdea1..7e289ecb1c99 100644 --- a/drivers/mtd/spi-nor/aspeed-smc.c +++ b/drivers/mtd/spi-nor/aspeed-smc.c @@ -796,8 +796,7 @@ static bool aspeed_smc_check_reads(struct aspeed_smc_chip *chip, int i; for (i = 0; i < 10; i++) { - aspeed_smc_read_from_ahb(test_buf, chip->ahb_base, - CALIBRATE_BUF_SIZE); + memcpy_fromio(test_buf, chip->ahb_base, CALIBRATE_BUF_SIZE); if (memcmp(test_buf, golden_buf, CALIBRATE_BUF_SIZE) != 0) return false; } @@ -921,8 +920,7 @@ static int aspeed_smc_optimize_read(struct aspeed_smc_chip *chip, writel(chip->ctl_val[smc_read], chip->ctl); - aspeed_smc_read_from_ahb(golden_buf, chip->ahb_base, - CALIBRATE_BUF_SIZE); + memcpy_fromio(golden_buf, chip->ahb_base, CALIBRATE_BUF_SIZE); /* Establish our read mode with freq field set to 0 (HCLK/16) */ chip->ctl_val[smc_read] = save_read_val & 0xfffff0ff; |