There is no code that alters the HSFSTS register content in between
in intel_spi_write(). Remove the unnecessary RW to save some cycles.

Signed-off-by: Bin Meng <bmeng...@gmail.com>
Acked-by: Mika Westerberg <mika.westerb...@linux.intel.com>
---

Changes in v2: None

 drivers/mtd/spi-nor/intel-spi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/spi-nor/intel-spi.c b/drivers/mtd/spi-nor/intel-spi.c
index 07146ab..91ceef7 100644
--- a/drivers/mtd/spi-nor/intel-spi.c
+++ b/drivers/mtd/spi-nor/intel-spi.c
@@ -611,7 +611,6 @@ static ssize_t intel_spi_write(struct spi_nor *nor, loff_t 
to, size_t len,
                val |= HSFSTS_CTL_AEL | HSFSTS_CTL_FCERR | HSFSTS_CTL_FDONE;
                val |= (block_size - 1) << HSFSTS_CTL_FDBC_SHIFT;
                val |= HSFSTS_CTL_FCYCLE_WRITE;
-               writel(val, ispi->base + HSFSTS_CTL);
 
                ret = intel_spi_write_block(ispi, write_buf, block_size);
                if (ret) {
@@ -620,8 +619,8 @@ static ssize_t intel_spi_write(struct spi_nor *nor, loff_t 
to, size_t len,
                }
 
                /* Start the write now */
-               val = readl(ispi->base + HSFSTS_CTL);
-               writel(val | HSFSTS_CTL_FGO, ispi->base + HSFSTS_CTL);
+               val |= HSFSTS_CTL_FGO;
+               writel(val, ispi->base + HSFSTS_CTL);
 
                ret = intel_spi_wait_hw_busy(ispi);
                if (ret) {
-- 
2.9.2

Reply via email to