Lines Matching full:dwords

447 	/* JESD216 Basic Flash Parameter Table length is at least 9 DWORDs. */  in spi_nor_parse_bfpt()
460 /* Fix endianness of the BFPT DWORDs. */ in spi_nor_parse_bfpt()
461 le32_to_cpu_array(bfpt.dwords, BFPT_DWORD_MAX); in spi_nor_parse_bfpt()
464 switch (bfpt.dwords[SFDP_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) { in spi_nor_parse_bfpt()
481 val = bfpt.dwords[SFDP_DWORD(2)]; in spi_nor_parse_bfpt()
504 if (!(bfpt.dwords[rd->supported_dword] & rd->supported_bit)) { in spi_nor_parse_bfpt()
512 half = bfpt.dwords[rd->settings_dword] >> rd->settings_shift; in spi_nor_parse_bfpt()
527 half = bfpt.dwords[er->dword] >> er->shift; in spi_nor_parse_bfpt()
559 val = bfpt.dwords[SFDP_DWORD(11)]; in spi_nor_parse_bfpt()
565 switch (bfpt.dwords[SFDP_DWORD(15)] & BFPT_DWORD15_QER_MASK) { in spi_nor_parse_bfpt()
611 dword = bfpt.dwords[SFDP_DWORD(16)] & BFPT_DWORD16_4B_ADDR_MODE_MASK; in spi_nor_parse_bfpt()
622 if (bfpt.dwords[SFDP_DWORD(16)] & BFPT_DWORD16_SWRST_EN_RST) in spi_nor_parse_bfpt()
630 opcode = FIELD_GET(BFPT_DWORD17_RD_1_1_8_CMD, bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
633 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
635 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
643 opcode = FIELD_GET(BFPT_DWORD17_RD_1_8_8_CMD, bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
646 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
648 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
656 switch (bfpt.dwords[SFDP_DWORD(18)] & BFPT_DWORD18_CMD_EXT_MASK) { in spi_nor_parse_bfpt()
675 if (bfpt.dwords[SFDP_DWORD(18)] & BFPT_DWORD18_BYTE_ORDER_SWAPPED) in spi_nor_parse_bfpt()
946 /* Fix endianness of the SMPT DWORDs. */ in spi_nor_parse_smpt()
1005 u32 *dwords; in spi_nor_parse_4bait() local
1015 len = sizeof(*dwords) * SFDP_4BAIT_DWORD_MAX; in spi_nor_parse_4bait()
1018 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_4bait()
1019 if (!dwords) in spi_nor_parse_4bait()
1023 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_4bait()
1027 /* Fix endianness of the 4BAIT DWORDs. */ in spi_nor_parse_4bait()
1028 le32_to_cpu_array(dwords, SFDP_4BAIT_DWORD_MAX); in spi_nor_parse_4bait()
1041 (dwords[SFDP_DWORD(1)] & read->supported_bit)) in spi_nor_parse_4bait()
1060 if (dwords[SFDP_DWORD(1)] & program->supported_bit) in spi_nor_parse_4bait()
1072 if (dwords[SFDP_DWORD(1)] & erase->supported_bit) in spi_nor_parse_4bait()
1123 erase_type[i].opcode = (dwords[SFDP_DWORD(2)] >> in spi_nor_parse_4bait()
1141 kfree(dwords); in spi_nor_parse_4bait()
1164 u32 *dwords, addr; in spi_nor_parse_profile1() local
1169 len = profile1_header->length * sizeof(*dwords); in spi_nor_parse_profile1()
1170 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_profile1()
1171 if (!dwords) in spi_nor_parse_profile1()
1175 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_profile1()
1179 le32_to_cpu_array(dwords, profile1_header->length); in spi_nor_parse_profile1()
1182 opcode = FIELD_GET(PROFILE1_DWORD1_RD_FAST_CMD, dwords[SFDP_DWORD(1)]); in spi_nor_parse_profile1()
1185 if (dwords[SFDP_DWORD(1)] & PROFILE1_DWORD1_RDSR_DUMMY) in spi_nor_parse_profile1()
1190 if (dwords[SFDP_DWORD(1)] & PROFILE1_DWORD1_RDSR_ADDR_BYTES) in spi_nor_parse_profile1()
1204 dummy = FIELD_GET(PROFILE1_DWORD4_DUMMY_200MHZ, dwords[SFDP_DWORD(4)]); in spi_nor_parse_profile1()
1207 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1210 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1213 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1234 kfree(dwords); in spi_nor_parse_profile1()
1253 u32 *dwords, addr; in spi_nor_parse_sccr() local
1257 len = sccr_header->length * sizeof(*dwords); in spi_nor_parse_sccr()
1258 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_sccr()
1259 if (!dwords) in spi_nor_parse_sccr()
1263 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_sccr()
1267 le32_to_cpu_array(dwords, sccr_header->length); in spi_nor_parse_sccr()
1271 params->vreg_offset = devm_kmalloc(nor->dev, sizeof(*dwords), in spi_nor_parse_sccr()
1278 params->vreg_offset[0] = dwords[SFDP_DWORD(1)]; in spi_nor_parse_sccr()
1282 dwords[SFDP_DWORD(22)])) in spi_nor_parse_sccr()
1286 kfree(dwords); in spi_nor_parse_sccr()
1304 u32 *dwords, addr; in spi_nor_parse_sccr_mc() local
1309 len = sccr_mc_header->length * sizeof(*dwords); in spi_nor_parse_sccr_mc()
1310 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_sccr_mc()
1311 if (!dwords) in spi_nor_parse_sccr_mc()
1315 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_sccr_mc()
1319 le32_to_cpu_array(dwords, sccr_mc_header->length); in spi_nor_parse_sccr_mc()
1330 n_dice * sizeof(*dwords), in spi_nor_parse_sccr_mc()
1338 params->vreg_offset[i] = dwords[SFDP_DWORD(i) * 2]; in spi_nor_parse_sccr_mc()
1343 kfree(dwords); in spi_nor_parse_sccr_mc()
1499 * The SFDP is organized in chunks of DWORDs. Thus, in theory, the in spi_nor_parse_sfdp()
1500 * sfdp_size should be a multiple of DWORDs. But in case a flash in spi_nor_parse_sfdp()
1504 sfdp->num_dwords = DIV_ROUND_UP(sfdp_size, sizeof(*sfdp->dwords)); in spi_nor_parse_sfdp()
1505 sfdp->dwords = devm_kcalloc(dev, sfdp->num_dwords, in spi_nor_parse_sfdp()
1506 sizeof(*sfdp->dwords), GFP_KERNEL); in spi_nor_parse_sfdp()
1507 if (!sfdp->dwords) { in spi_nor_parse_sfdp()
1513 err = spi_nor_read_sfdp(nor, 0, sfdp_size, sfdp->dwords); in spi_nor_parse_sfdp()
1516 devm_kfree(dev, sfdp->dwords); in spi_nor_parse_sfdp()