mtd: spi-nor: sfdp: Rename BFPT_DWORD() macro to SFDP_DWORD()
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Mon, 26 Dec 2022 04:01:59 +0000 (13:01 +0900)
committerTudor Ambarus <tudor.ambarus@linaro.org>
Mon, 26 Dec 2022 07:47:04 +0000 (09:47 +0200)
BFPT_DWORD() converts 1-based indexing to 0-based indexing for C arrays,
and is used in BFPT parse. Per JESD216F.02, the conversion is applicable
to other parameter tables than BFPT. This patch renames the macro to
SFDP_DWORD() so that we can use it for other parameter tables than BFPT.

Suggested-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://lore.kernel.org/r/e42feac840fe3a31187419e91b2d514d9f259d15.1672026365.git.Takahiro.Kuwano@infineon.com
drivers/mtd/spi-nor/issi.c
drivers/mtd/spi-nor/macronix.c
drivers/mtd/spi-nor/sfdp.c
drivers/mtd/spi-nor/sfdp.h

index a0ddad2afffc231a877f902fc4911defeac9068e..400e2b42f45af2f2bdb2f83f5f8fb8c1bc96b5ac 100644 (file)
@@ -18,7 +18,7 @@ is25lp256_post_bfpt_fixups(struct spi_nor *nor,
         * BFPT_DWORD1_ADDRESS_BYTES_3_ONLY.
         * Overwrite the number of address bytes advertised by the BFPT.
         */
-       if ((bfpt->dwords[BFPT_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) ==
+       if ((bfpt->dwords[SFDP_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) ==
                BFPT_DWORD1_ADDRESS_BYTES_3_ONLY)
                nor->params->addr_nbytes = 4;
 
index d81a4cb2812b35a10639deb161ef0cb51ff6de89..6853ec9ae65d8ceb07471e5b335ebc43e1b05e85 100644 (file)
@@ -22,7 +22,7 @@ mx25l25635_post_bfpt_fixups(struct spi_nor *nor,
         * seems that the F version advertises support for Fast Read 4-4-4 in
         * its BFPT table.
         */
-       if (bfpt->dwords[BFPT_DWORD(5)] & BFPT_DWORD5_FAST_READ_4_4_4)
+       if (bfpt->dwords[SFDP_DWORD(5)] & BFPT_DWORD5_FAST_READ_4_4_4)
                nor->flags |= SNOR_F_4B_OPCODES;
 
        return 0;
index 5df2fcba548302a9e67d0402fe951e6619620843..5c2ab868707b0aeed96ca9dd98365ba3e806ef39 100644 (file)
@@ -242,64 +242,64 @@ static const struct sfdp_bfpt_read sfdp_bfpt_reads[] = {
        /* Fast Read 1-1-2 */
        {
                SNOR_HWCAPS_READ_1_1_2,
-               BFPT_DWORD(1), BIT(16), /* Supported bit */
-               BFPT_DWORD(4), 0,       /* Settings */
+               SFDP_DWORD(1), BIT(16), /* Supported bit */
+               SFDP_DWORD(4), 0,       /* Settings */
                SNOR_PROTO_1_1_2,
        },
 
        /* Fast Read 1-2-2 */
        {
                SNOR_HWCAPS_READ_1_2_2,
-               BFPT_DWORD(1), BIT(20), /* Supported bit */
-               BFPT_DWORD(4), 16,      /* Settings */
+               SFDP_DWORD(1), BIT(20), /* Supported bit */
+               SFDP_DWORD(4), 16,      /* Settings */
                SNOR_PROTO_1_2_2,
        },
 
        /* Fast Read 2-2-2 */
        {
                SNOR_HWCAPS_READ_2_2_2,
-               BFPT_DWORD(5),  BIT(0), /* Supported bit */
-               BFPT_DWORD(6), 16,      /* Settings */
+               SFDP_DWORD(5),  BIT(0), /* Supported bit */
+               SFDP_DWORD(6), 16,      /* Settings */
                SNOR_PROTO_2_2_2,
        },
 
        /* Fast Read 1-1-4 */
        {
                SNOR_HWCAPS_READ_1_1_4,
-               BFPT_DWORD(1), BIT(22), /* Supported bit */
-               BFPT_DWORD(3), 16,      /* Settings */
+               SFDP_DWORD(1), BIT(22), /* Supported bit */
+               SFDP_DWORD(3), 16,      /* Settings */
                SNOR_PROTO_1_1_4,
        },
 
        /* Fast Read 1-4-4 */
        {
                SNOR_HWCAPS_READ_1_4_4,
-               BFPT_DWORD(1), BIT(21), /* Supported bit */
-               BFPT_DWORD(3), 0,       /* Settings */
+               SFDP_DWORD(1), BIT(21), /* Supported bit */
+               SFDP_DWORD(3), 0,       /* Settings */
                SNOR_PROTO_1_4_4,
        },
 
        /* Fast Read 4-4-4 */
        {
                SNOR_HWCAPS_READ_4_4_4,
-               BFPT_DWORD(5), BIT(4),  /* Supported bit */
-               BFPT_DWORD(7), 16,      /* Settings */
+               SFDP_DWORD(5), BIT(4),  /* Supported bit */
+               SFDP_DWORD(7), 16,      /* Settings */
                SNOR_PROTO_4_4_4,
        },
 };
 
 static const struct sfdp_bfpt_erase sfdp_bfpt_erases[] = {
        /* Erase Type 1 in DWORD8 bits[15:0] */
-       {BFPT_DWORD(8), 0},
+       {SFDP_DWORD(8), 0},
 
        /* Erase Type 2 in DWORD8 bits[31:16] */
-       {BFPT_DWORD(8), 16},
+       {SFDP_DWORD(8), 16},
 
        /* Erase Type 3 in DWORD9 bits[15:0] */
-       {BFPT_DWORD(9), 0},
+       {SFDP_DWORD(9), 0},
 
        /* Erase Type 4 in DWORD9 bits[31:16] */
-       {BFPT_DWORD(9), 16},
+       {SFDP_DWORD(9), 16},
 };
 
 /**
@@ -458,7 +458,7 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
        le32_to_cpu_array(bfpt.dwords, BFPT_DWORD_MAX);
 
        /* Number of address bytes. */
-       switch (bfpt.dwords[BFPT_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) {
+       switch (bfpt.dwords[SFDP_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) {
        case BFPT_DWORD1_ADDRESS_BYTES_3_ONLY:
        case BFPT_DWORD1_ADDRESS_BYTES_3_OR_4:
                params->addr_nbytes = 3;
@@ -475,7 +475,7 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
        }
 
        /* Flash Memory Density (in bits). */
-       val = bfpt.dwords[BFPT_DWORD(2)];
+       val = bfpt.dwords[SFDP_DWORD(2)];
        if (val & BIT(31)) {
                val &= ~BIT(31);
 
@@ -555,13 +555,13 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
                return spi_nor_post_bfpt_fixups(nor, bfpt_header, &bfpt);
 
        /* Page size: this field specifies 'N' so the page size = 2^N bytes. */
-       val = bfpt.dwords[BFPT_DWORD(11)];
+       val = bfpt.dwords[SFDP_DWORD(11)];
        val &= BFPT_DWORD11_PAGE_SIZE_MASK;
        val >>= BFPT_DWORD11_PAGE_SIZE_SHIFT;
        params->page_size = 1U << val;
 
        /* Quad Enable Requirements. */
-       switch (bfpt.dwords[BFPT_DWORD(15)] & BFPT_DWORD15_QER_MASK) {
+       switch (bfpt.dwords[SFDP_DWORD(15)] & BFPT_DWORD15_QER_MASK) {
        case BFPT_DWORD15_QER_NONE:
                params->quad_enable = NULL;
                break;
@@ -608,7 +608,7 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
        }
 
        /* Soft Reset support. */
-       if (bfpt.dwords[BFPT_DWORD(16)] & BFPT_DWORD16_SWRST_EN_RST)
+       if (bfpt.dwords[SFDP_DWORD(16)] & BFPT_DWORD16_SWRST_EN_RST)
                nor->flags |= SNOR_F_SOFT_RESET;
 
        /* Stop here if not JESD216 rev C or later. */
@@ -616,7 +616,7 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
                return spi_nor_post_bfpt_fixups(nor, bfpt_header, &bfpt);
 
        /* 8D-8D-8D command extension. */
-       switch (bfpt.dwords[BFPT_DWORD(18)] & BFPT_DWORD18_CMD_EXT_MASK) {
+       switch (bfpt.dwords[SFDP_DWORD(18)] & BFPT_DWORD18_CMD_EXT_MASK) {
        case BFPT_DWORD18_CMD_EXT_REP:
                nor->cmd_ext_type = SPI_NOR_EXT_REPEAT;
                break;
index c1969f0a2f46f69838143d42a490862b0ed39948..500659b35655831763cf704ed2cb48fed45d2c6a 100644 (file)
 #define SFDP_JESD216A_MINOR    5
 #define SFDP_JESD216B_MINOR    6
 
+/* SFDP DWORDS are indexed from 1 but C arrays are indexed from 0. */
+#define SFDP_DWORD(i)          ((i) - 1)
+
 /* Basic Flash Parameter Table */
 
-/*
- * JESD216 rev D defines a Basic Flash Parameter Table of 20 DWORDs.
- * They are indexed from 1 but C arrays are indexed from 0.
- */
-#define BFPT_DWORD(i)          ((i) - 1)
+/* JESD216 rev D defines a Basic Flash Parameter Table of 20 DWORDs. */
 #define BFPT_DWORD_MAX         20
 
 struct sfdp_bfpt {