@@ -1004,7 +1004,7 @@ static int spi_nor_parse_4bait(struct spi_nor *nor,
10041004
10051005 discard_hwcaps |= read -> hwcaps ;
10061006 if ((params -> hwcaps .mask & read -> hwcaps ) &&
1007- (dwords [0 ] & read -> supported_bit ))
1007+ (dwords [SFDP_DWORD ( 1 ) ] & read -> supported_bit ))
10081008 read_hwcaps |= read -> hwcaps ;
10091009 }
10101010
@@ -1023,7 +1023,7 @@ static int spi_nor_parse_4bait(struct spi_nor *nor,
10231023 * authority for specifying Page Program support.
10241024 */
10251025 discard_hwcaps |= program -> hwcaps ;
1026- if (dwords [0 ] & program -> supported_bit )
1026+ if (dwords [SFDP_DWORD ( 1 ) ] & program -> supported_bit )
10271027 pp_hwcaps |= program -> hwcaps ;
10281028 }
10291029
@@ -1035,7 +1035,7 @@ static int spi_nor_parse_4bait(struct spi_nor *nor,
10351035 for (i = 0 ; i < SNOR_ERASE_TYPE_MAX ; i ++ ) {
10361036 const struct sfdp_4bait * erase = & erases [i ];
10371037
1038- if (dwords [0 ] & erase -> supported_bit )
1038+ if (dwords [SFDP_DWORD ( 1 ) ] & erase -> supported_bit )
10391039 erase_mask |= BIT (i );
10401040 }
10411041
@@ -1086,7 +1086,7 @@ static int spi_nor_parse_4bait(struct spi_nor *nor,
10861086
10871087 for (i = 0 ; i < SNOR_ERASE_TYPE_MAX ; i ++ ) {
10881088 if (erase_mask & BIT (i ))
1089- erase_type [i ].opcode = (dwords [1 ] >>
1089+ erase_type [i ].opcode = (dwords [SFDP_DWORD ( 2 ) ] >>
10901090 erase_type [i ].idx * 8 ) & 0xFF ;
10911091 else
10921092 spi_nor_set_erase_type (& erase_type [i ], 0u , 0xFF );
@@ -1145,15 +1145,15 @@ static int spi_nor_parse_profile1(struct spi_nor *nor,
11451145 le32_to_cpu_array (dwords , profile1_header -> length );
11461146
11471147 /* Get 8D-8D-8D fast read opcode and dummy cycles. */
1148- opcode = FIELD_GET (PROFILE1_DWORD1_RD_FAST_CMD , dwords [0 ]);
1148+ opcode = FIELD_GET (PROFILE1_DWORD1_RD_FAST_CMD , dwords [SFDP_DWORD ( 1 ) ]);
11491149
11501150 /* Set the Read Status Register dummy cycles and dummy address bytes. */
1151- if (dwords [0 ] & PROFILE1_DWORD1_RDSR_DUMMY )
1151+ if (dwords [SFDP_DWORD ( 1 ) ] & PROFILE1_DWORD1_RDSR_DUMMY )
11521152 nor -> params -> rdsr_dummy = 8 ;
11531153 else
11541154 nor -> params -> rdsr_dummy = 4 ;
11551155
1156- if (dwords [0 ] & PROFILE1_DWORD1_RDSR_ADDR_BYTES )
1156+ if (dwords [SFDP_DWORD ( 1 ) ] & PROFILE1_DWORD1_RDSR_ADDR_BYTES )
11571157 nor -> params -> rdsr_addr_nbytes = 4 ;
11581158 else
11591159 nor -> params -> rdsr_addr_nbytes = 0 ;
@@ -1167,13 +1167,16 @@ static int spi_nor_parse_profile1(struct spi_nor *nor,
11671167 * Default to PROFILE1_DUMMY_DEFAULT if we don't find anything, and let
11681168 * flashes set the correct value if needed in their fixup hooks.
11691169 */
1170- dummy = FIELD_GET (PROFILE1_DWORD4_DUMMY_200MHZ , dwords [3 ]);
1170+ dummy = FIELD_GET (PROFILE1_DWORD4_DUMMY_200MHZ , dwords [SFDP_DWORD ( 4 ) ]);
11711171 if (!dummy )
1172- dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_166MHZ , dwords [4 ]);
1172+ dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_166MHZ ,
1173+ dwords [SFDP_DWORD (5 )]);
11731174 if (!dummy )
1174- dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_133MHZ , dwords [4 ]);
1175+ dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_133MHZ ,
1176+ dwords [SFDP_DWORD (5 )]);
11751177 if (!dummy )
1176- dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_100MHZ , dwords [4 ]);
1178+ dummy = FIELD_GET (PROFILE1_DWORD5_DUMMY_100MHZ ,
1179+ dwords [SFDP_DWORD (5 )]);
11771180 if (!dummy )
11781181 dev_dbg (nor -> dev ,
11791182 "Can't find dummy cycles from Profile 1.0 table\n" );
@@ -1228,7 +1231,8 @@ static int spi_nor_parse_sccr(struct spi_nor *nor,
12281231
12291232 le32_to_cpu_array (dwords , sccr_header -> length );
12301233
1231- if (FIELD_GET (SCCR_DWORD22_OCTAL_DTR_EN_VOLATILE , dwords [21 ]))
1234+ if (FIELD_GET (SCCR_DWORD22_OCTAL_DTR_EN_VOLATILE ,
1235+ dwords [SFDP_DWORD (22 )]))
12321236 nor -> flags |= SNOR_F_IO_MODE_EN_VOLATILE ;
12331237
12341238out :
0 commit comments