From cb8980080ccb7879c5a8ef0e3efa783c9288d907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Wed, 17 Apr 2019 15:39:40 +0200 Subject: mtd: spi-nor: aspeed: use memcpy_fromio() to capture the optimization buffer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Andrew Jeffery --- drivers/mtd/spi-nor/aspeed-smc.c | 6 ++---- 1 file 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; -- cgit v1.2.1