Lines Matching full:dwords
451 /* JESD216 Basic Flash Parameter Table length is at least 9 DWORDs. */ in spi_nor_parse_bfpt()
464 /* Fix endianness of the BFPT DWORDs. */ in spi_nor_parse_bfpt()
465 le32_to_cpu_array(bfpt.dwords, BFPT_DWORD_MAX); in spi_nor_parse_bfpt()
468 switch (bfpt.dwords[SFDP_DWORD(1)] & BFPT_DWORD1_ADDRESS_BYTES_MASK) { in spi_nor_parse_bfpt()
485 val = bfpt.dwords[SFDP_DWORD(2)]; in spi_nor_parse_bfpt()
508 if (!(bfpt.dwords[rd->supported_dword] & rd->supported_bit)) { in spi_nor_parse_bfpt()
516 half = bfpt.dwords[rd->settings_dword] >> rd->settings_shift; in spi_nor_parse_bfpt()
531 half = bfpt.dwords[er->dword] >> er->shift; in spi_nor_parse_bfpt()
565 val = bfpt.dwords[SFDP_DWORD(11)]; in spi_nor_parse_bfpt()
571 switch (bfpt.dwords[SFDP_DWORD(15)] & BFPT_DWORD15_QER_MASK) { in spi_nor_parse_bfpt()
617 dword = bfpt.dwords[SFDP_DWORD(16)] & BFPT_DWORD16_4B_ADDR_MODE_MASK; in spi_nor_parse_bfpt()
628 if (bfpt.dwords[SFDP_DWORD(16)] & BFPT_DWORD16_SWRST_EN_RST) in spi_nor_parse_bfpt()
636 opcode = FIELD_GET(BFPT_DWORD17_RD_1_1_8_CMD, bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
639 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
641 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
649 opcode = FIELD_GET(BFPT_DWORD17_RD_1_8_8_CMD, bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
652 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
654 bfpt.dwords[SFDP_DWORD(17)]); in spi_nor_parse_bfpt()
662 switch (bfpt.dwords[SFDP_DWORD(18)] & BFPT_DWORD18_CMD_EXT_MASK) { in spi_nor_parse_bfpt()
957 /* Fix endianness of the SMPT DWORDs. */ in spi_nor_parse_smpt()
1016 u32 *dwords; in spi_nor_parse_4bait() local
1026 len = sizeof(*dwords) * SFDP_4BAIT_DWORD_MAX; in spi_nor_parse_4bait()
1029 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_4bait()
1030 if (!dwords) in spi_nor_parse_4bait()
1034 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_4bait()
1038 /* Fix endianness of the 4BAIT DWORDs. */ in spi_nor_parse_4bait()
1039 le32_to_cpu_array(dwords, SFDP_4BAIT_DWORD_MAX); in spi_nor_parse_4bait()
1052 (dwords[SFDP_DWORD(1)] & read->supported_bit)) in spi_nor_parse_4bait()
1071 if (dwords[SFDP_DWORD(1)] & program->supported_bit) in spi_nor_parse_4bait()
1083 if (dwords[SFDP_DWORD(1)] & erase->supported_bit) in spi_nor_parse_4bait()
1134 erase_type[i].opcode = (dwords[SFDP_DWORD(2)] >> in spi_nor_parse_4bait()
1152 kfree(dwords); in spi_nor_parse_4bait()
1175 u32 *dwords, addr; in spi_nor_parse_profile1() local
1180 len = profile1_header->length * sizeof(*dwords); in spi_nor_parse_profile1()
1181 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_profile1()
1182 if (!dwords) in spi_nor_parse_profile1()
1186 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_profile1()
1190 le32_to_cpu_array(dwords, profile1_header->length); in spi_nor_parse_profile1()
1193 opcode = FIELD_GET(PROFILE1_DWORD1_RD_FAST_CMD, dwords[SFDP_DWORD(1)]); in spi_nor_parse_profile1()
1196 if (dwords[SFDP_DWORD(1)] & PROFILE1_DWORD1_RDSR_DUMMY) in spi_nor_parse_profile1()
1201 if (dwords[SFDP_DWORD(1)] & PROFILE1_DWORD1_RDSR_ADDR_BYTES) in spi_nor_parse_profile1()
1215 dummy = FIELD_GET(PROFILE1_DWORD4_DUMMY_200MHZ, dwords[SFDP_DWORD(4)]); in spi_nor_parse_profile1()
1218 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1221 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1224 dwords[SFDP_DWORD(5)]); in spi_nor_parse_profile1()
1245 kfree(dwords); in spi_nor_parse_profile1()
1264 u32 *dwords, addr; in spi_nor_parse_sccr() local
1268 len = sccr_header->length * sizeof(*dwords); in spi_nor_parse_sccr()
1269 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_sccr()
1270 if (!dwords) in spi_nor_parse_sccr()
1274 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_sccr()
1278 le32_to_cpu_array(dwords, sccr_header->length); in spi_nor_parse_sccr()
1282 params->vreg_offset = devm_kmalloc(nor->dev, sizeof(*dwords), in spi_nor_parse_sccr()
1289 params->vreg_offset[0] = dwords[SFDP_DWORD(1)]; in spi_nor_parse_sccr()
1293 dwords[SFDP_DWORD(22)])) in spi_nor_parse_sccr()
1297 kfree(dwords); in spi_nor_parse_sccr()
1315 u32 *dwords, addr; in spi_nor_parse_sccr_mc() local
1320 len = sccr_mc_header->length * sizeof(*dwords); in spi_nor_parse_sccr_mc()
1321 dwords = kmalloc(len, GFP_KERNEL); in spi_nor_parse_sccr_mc()
1322 if (!dwords) in spi_nor_parse_sccr_mc()
1326 ret = spi_nor_read_sfdp(nor, addr, len, dwords); in spi_nor_parse_sccr_mc()
1330 le32_to_cpu_array(dwords, sccr_mc_header->length); in spi_nor_parse_sccr_mc()
1341 n_dice * sizeof(*dwords), in spi_nor_parse_sccr_mc()
1349 params->vreg_offset[i] = dwords[SFDP_DWORD(i) * 2]; in spi_nor_parse_sccr_mc()
1354 kfree(dwords); in spi_nor_parse_sccr_mc()
1510 * The SFDP is organized in chunks of DWORDs. Thus, in theory, the in spi_nor_parse_sfdp()
1511 * sfdp_size should be a multiple of DWORDs. But in case a flash in spi_nor_parse_sfdp()
1515 sfdp->num_dwords = DIV_ROUND_UP(sfdp_size, sizeof(*sfdp->dwords)); in spi_nor_parse_sfdp()
1516 sfdp->dwords = devm_kcalloc(dev, sfdp->num_dwords, in spi_nor_parse_sfdp()
1517 sizeof(*sfdp->dwords), GFP_KERNEL); in spi_nor_parse_sfdp()
1518 if (!sfdp->dwords) { in spi_nor_parse_sfdp()
1524 err = spi_nor_read_sfdp(nor, 0, sfdp_size, sfdp->dwords); in spi_nor_parse_sfdp()
1527 devm_kfree(dev, sfdp->dwords); in spi_nor_parse_sfdp()