spi-nor: intel-spi: Remove the unnecessary HSFSTS register RW
authorBin Meng <bmeng.cn@gmail.com>
Mon, 11 Sep 2017 09:41:58 +0000 (02:41 -0700)
committerCyrille Pitchen <cyrille.pitchen@wedev4u.fr>
Wed, 11 Oct 2017 07:52:01 +0000 (09:52 +0200)
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.cn@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
drivers/mtd/spi-nor/intel-spi.c

index 07146ab19cac62c814899623a08d14d64cde3bca..91ceef7c918545e187f819d2a29c108e59b714ef 100644 (file)
@@ -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) {