Lines Matching refs:cfi

159 	struct cfi_private *cfi = map->fldrv_priv;  in fixup_amd_bootblock()  local
160 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in fixup_amd_bootblock()
168 map->name, cfi->mfr, cfi->id); in fixup_amd_bootblock()
175 if (((cfi->id == 0xBA) || (cfi->id == 0x22BA)) && in fixup_amd_bootblock()
186 (cfi->mfr == CFI_MFR_MACRONIX)) { in fixup_amd_bootblock()
191 if (cfi->id & 0x80) { in fixup_amd_bootblock()
192 …tk(KERN_WARNING "%s: JEDEC Device ID is 0x%02X. Assuming broken CFI table.\n", map->name, cfi->id); in fixup_amd_bootblock()
208 struct cfi_private *cfi = map->fldrv_priv; in fixup_use_write_buffers() local
209 if (cfi->cfiq->BufWriteTimeoutTyp) { in fixup_use_write_buffers()
219 struct cfi_private *cfi = map->fldrv_priv; in fixup_convert_atmel_pri() local
220 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in fixup_convert_atmel_pri()
230 if (cfi->id == AT49BV6416) { in fixup_convert_atmel_pri()
243 cfi->cfiq->BufWriteTimeoutTyp = 0; in fixup_convert_atmel_pri()
244 cfi->cfiq->BufWriteTimeoutMax = 0; in fixup_convert_atmel_pri()
257 struct cfi_private *cfi = map->fldrv_priv; in fixup_use_erase_chip() local
258 if ((cfi->cfiq->NumEraseRegions == 1) && in fixup_use_erase_chip()
259 ((cfi->cfiq->EraseRegionInfo[0] & 0xffff) == 0)) { in fixup_use_erase_chip()
279 struct cfi_private *cfi = map->fldrv_priv; in fixup_old_sst_eraseregion() local
287 cfi->cfiq->NumEraseRegions = 1; in fixup_old_sst_eraseregion()
293 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst39vf() local
297 cfi->addr_unlock1 = 0x5555; in fixup_sst39vf()
298 cfi->addr_unlock2 = 0x2AAA; in fixup_sst39vf()
304 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst39vf_rev_b() local
308 cfi->addr_unlock1 = 0x555; in fixup_sst39vf_rev_b()
309 cfi->addr_unlock2 = 0x2AA; in fixup_sst39vf_rev_b()
311 cfi->sector_erase_cmd = CMD(0x50); in fixup_sst39vf_rev_b()
317 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst38vf640x_sectorsize() local
325 cfi->cfiq->EraseRegionInfo[0] = 0x002003ff; in fixup_sst38vf640x_sectorsize()
332 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29gl064n_sectors() local
334 if ((cfi->cfiq->EraseRegionInfo[0] & 0xffff) == 0x003f) { in fixup_s29gl064n_sectors()
335 cfi->cfiq->EraseRegionInfo[0] |= 0x0040; in fixup_s29gl064n_sectors()
343 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29gl032n_sectors() local
345 if ((cfi->cfiq->EraseRegionInfo[1] & 0xffff) == 0x007e) { in fixup_s29gl032n_sectors()
346 cfi->cfiq->EraseRegionInfo[1] &= ~0x0040; in fixup_s29gl032n_sectors()
354 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29ns512p_sectors() local
360 cfi->cfiq->EraseRegionInfo[0] = 0x020001ff; in fixup_s29ns512p_sectors()
423 static void cfi_fixup_major_minor(struct cfi_private *cfi, in cfi_fixup_major_minor() argument
426 if (cfi->mfr == CFI_MFR_SAMSUNG) { in cfi_fixup_major_minor()
444 if (cfi->mfr == CFI_MFR_SST && (cfi->id >> 4) == 0x0536) { in cfi_fixup_major_minor()
450 static int is_m29ew(struct cfi_private *cfi) in is_m29ew() argument
452 if (cfi->mfr == CFI_MFR_INTEL && in is_m29ew()
453 ((cfi->device_type == CFI_DEVICETYPE_X8 && (cfi->id & 0xff) == 0x7e) || in is_m29ew()
454 (cfi->device_type == CFI_DEVICETYPE_X16 && cfi->id == 0x227e))) in is_m29ew()
472 struct cfi_private *cfi = map->fldrv_priv; in cfi_fixup_m29ew_erase_suspend() local
474 if (is_m29ew(cfi)) in cfi_fixup_m29ew_erase_suspend()
502 static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi) in cfi_fixup_m29ew_delay_after_resume() argument
508 if (is_m29ew(cfi)) in cfi_fixup_m29ew_delay_after_resume()
514 struct cfi_private *cfi = map->fldrv_priv; in cfi_cmdset_0002() local
541 mtd->writebufsize = cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize; in cfi_cmdset_0002()
549 if (cfi->cfi_mode==CFI_MODE_CFI){ in cfi_cmdset_0002()
551 __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR; in cfi_cmdset_0002()
560 cfi_fixup_major_minor(cfi, extp); in cfi_cmdset_0002()
584 cfi->cmdset_priv = extp; in cfi_cmdset_0002()
613 if (bootloc == 3 && cfi->cfiq->NumEraseRegions > 1) { in cfi_cmdset_0002()
616 for (i=0; i<cfi->cfiq->NumEraseRegions / 2; i++) { in cfi_cmdset_0002()
617 int j = (cfi->cfiq->NumEraseRegions-1)-i; in cfi_cmdset_0002()
620 swap = cfi->cfiq->EraseRegionInfo[i]; in cfi_cmdset_0002()
621 cfi->cfiq->EraseRegionInfo[i] = cfi->cfiq->EraseRegionInfo[j]; in cfi_cmdset_0002()
622 cfi->cfiq->EraseRegionInfo[j] = swap; in cfi_cmdset_0002()
626 cfi->addr_unlock1 = 0x555; in cfi_cmdset_0002()
627 cfi->addr_unlock2 = 0x2aa; in cfi_cmdset_0002()
631 if (!cfi->addr_unlock1 || !cfi->addr_unlock2) { in cfi_cmdset_0002()
637 else if (cfi->cfi_mode == CFI_MODE_JEDEC) { in cfi_cmdset_0002()
644 for (i=0; i< cfi->numchips; i++) { in cfi_cmdset_0002()
645 cfi->chips[i].word_write_time = 1<<cfi->cfiq->WordWriteTimeoutTyp; in cfi_cmdset_0002()
646 cfi->chips[i].buffer_write_time = 1<<cfi->cfiq->BufWriteTimeoutTyp; in cfi_cmdset_0002()
647 cfi->chips[i].erase_time = 1<<cfi->cfiq->BlockEraseTimeoutTyp; in cfi_cmdset_0002()
654 if (cfi->cfiq->BufWriteTimeoutTyp && in cfi_cmdset_0002()
655 cfi->cfiq->BufWriteTimeoutMax) in cfi_cmdset_0002()
656 cfi->chips[i].buffer_write_time_max = in cfi_cmdset_0002()
657 1 << (cfi->cfiq->BufWriteTimeoutTyp + in cfi_cmdset_0002()
658 cfi->cfiq->BufWriteTimeoutMax); in cfi_cmdset_0002()
660 cfi->chips[i].buffer_write_time_max = 0; in cfi_cmdset_0002()
662 cfi->chips[i].buffer_write_time_max = in cfi_cmdset_0002()
663 max(cfi->chips[i].buffer_write_time_max, 2000); in cfi_cmdset_0002()
665 cfi->chips[i].ref_point_counter = 0; in cfi_cmdset_0002()
666 init_waitqueue_head(&(cfi->chips[i].wq)); in cfi_cmdset_0002()
682 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_setup() local
683 unsigned long devsize = (1<<cfi->cfiq->DevSize) * cfi->interleave; in cfi_amdstd_setup()
688 (cfi->cfi_mode == CFI_MODE_CFI)?"CFI":"JEDEC",cfi->numchips); in cfi_amdstd_setup()
690 mtd->size = devsize * cfi->numchips; in cfi_amdstd_setup()
692 mtd->numeraseregions = cfi->cfiq->NumEraseRegions * cfi->numchips; in cfi_amdstd_setup()
698 for (i=0; i<cfi->cfiq->NumEraseRegions; i++) { in cfi_amdstd_setup()
700 ersize = ((cfi->cfiq->EraseRegionInfo[i] >> 8) & ~0xff) * cfi->interleave; in cfi_amdstd_setup()
701 ernum = (cfi->cfiq->EraseRegionInfo[i] & 0xffff) + 1; in cfi_amdstd_setup()
706 for (j=0; j<cfi->numchips; j++) { in cfi_amdstd_setup()
707 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].offset = (j*devsize)+offset; in cfi_amdstd_setup()
708 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].erasesize = ersize; in cfi_amdstd_setup()
709 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].numblocks = ernum; in cfi_amdstd_setup()
726 kfree(cfi->cmdset_priv); in cfi_amdstd_setup()
727 kfree(cfi->cfiq); in cfi_amdstd_setup()
781 struct cfi_private *cfi = map->fldrv_priv; in get_chip() local
783 struct cfi_pri_amdstd *cfip = (struct cfi_pri_amdstd *)cfi->cmdset_priv; in get_chip()
884 struct cfi_private *cfi = map->fldrv_priv; in put_chip() local
890 map_write(map, cfi->sector_erase_cmd, chip->in_progress_block_addr); in put_chip()
891 cfi_fixup_m29ew_delay_after_resume(cfi); in put_chip()
934 struct cfi_private *cfi = map->fldrv_priv; in xip_enable() local
961 struct cfi_private *cfi = map->fldrv_priv; in xip_udelay() local
962 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in xip_udelay()
971 (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) { in xip_udelay()
1034 map_write(map, cfi->sector_erase_cmd, adr); in xip_udelay()
1108 struct cfi_private *cfi = map->fldrv_priv; in do_read_onechip() local
1140 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_read() local
1146 chipnum = (from >> cfi->chipshift); in cfi_amdstd_read()
1147 ofs = from - (chipnum << cfi->chipshift); in cfi_amdstd_read()
1152 if (chipnum >= cfi->numchips) in cfi_amdstd_read()
1155 if ((len + ofs -1) >> cfi->chipshift) in cfi_amdstd_read()
1156 thislen = (1<<cfi->chipshift) - ofs; in cfi_amdstd_read()
1160 ret = do_read_onechip(map, &cfi->chips[chipnum], ofs, thislen, buf); in cfi_amdstd_read()
1180 struct cfi_private *cfi = map->fldrv_priv; in otp_enter() local
1182 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in otp_enter()
1183 cfi->device_type, NULL); in otp_enter()
1184 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in otp_enter()
1185 cfi->device_type, NULL); in otp_enter()
1186 cfi_send_gen_cmd(0x88, cfi->addr_unlock1, chip->start, map, cfi, in otp_enter()
1187 cfi->device_type, NULL); in otp_enter()
1195 struct cfi_private *cfi = map->fldrv_priv; in otp_exit() local
1197 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1198 cfi->device_type, NULL); in otp_exit()
1199 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in otp_exit()
1200 cfi->device_type, NULL); in otp_exit()
1201 cfi_send_gen_cmd(0x90, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1202 cfi->device_type, NULL); in otp_exit()
1203 cfi_send_gen_cmd(0x00, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1204 cfi->device_type, NULL); in otp_exit()
1250 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_secsi_read() local
1263 if (chipnum >= cfi->numchips) in cfi_amdstd_secsi_read()
1271 ret = do_read_secsi_onechip(map, &cfi->chips[chipnum], ofs, in cfi_amdstd_secsi_read()
1323 struct cfi_private *cfi = map->fldrv_priv; in do_otp_lock() local
1341 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_otp_lock()
1342 cfi->device_type, NULL); in do_otp_lock()
1343 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_otp_lock()
1344 cfi->device_type, NULL); in do_otp_lock()
1345 cfi_send_gen_cmd(0x40, cfi->addr_unlock1, chip->start, map, cfi, in do_otp_lock()
1346 cfi->device_type, NULL); in do_otp_lock()
1389 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_otp_walk() local
1390 int ofs_factor = cfi->interleave * cfi->device_type; in cfi_amdstd_otp_walk()
1403 for (chipnum = 0; chipnum < cfi->numchips; chipnum++) { in cfi_amdstd_otp_walk()
1404 chip = &cfi->chips[chipnum]; in cfi_amdstd_otp_walk()
1409 if (is_m29ew(cfi)) { in cfi_amdstd_otp_walk()
1420 cfi_qry_mode_on(base, map, cfi); in cfi_amdstd_otp_walk()
1422 cfi_qry_mode_off(base, map, cfi); in cfi_amdstd_otp_walk()
1443 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, in cfi_amdstd_otp_walk()
1444 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1445 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1446 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, in cfi_amdstd_otp_walk()
1447 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1448 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1449 cfi_send_gen_cmd(0x40, cfi->addr_unlock1, in cfi_amdstd_otp_walk()
1450 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1451 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1552 struct cfi_private *cfi = map->fldrv_priv; in do_write_oneword() local
1601 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword()
1602 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword()
1603 cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword()
1669 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_write_words() local
1675 chipnum = to >> cfi->chipshift; in cfi_amdstd_write_words()
1676 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_write_words()
1677 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_write_words()
1687 mutex_lock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1689 if (cfi->chips[chipnum].state != FL_READY) { in cfi_amdstd_write_words()
1691 add_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1693 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1696 remove_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1703 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1710 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1720 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_words()
1723 if (chipnum == cfi->numchips) in cfi_amdstd_write_words()
1734 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1744 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_words()
1747 if (chipnum == cfi->numchips) in cfi_amdstd_write_words()
1749 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_write_words()
1758 mutex_lock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1760 if (cfi->chips[chipnum].state != FL_READY) { in cfi_amdstd_write_words()
1762 add_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1764 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1767 remove_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1773 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1777 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1796 struct cfi_private *cfi = map->fldrv_priv; in do_write_buffer() local
1828 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_buffer()
1829 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_write_buffer()
1897 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_write_buffer()
1898 cfi->device_type, NULL); in do_write_buffer()
1899 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_write_buffer()
1900 cfi->device_type, NULL); in do_write_buffer()
1901 cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi, in do_write_buffer()
1902 cfi->device_type, NULL); in do_write_buffer()
1924 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_write_buffers() local
1925 int wbufsize = cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize; in cfi_amdstd_write_buffers()
1930 chipnum = to >> cfi->chipshift; in cfi_amdstd_write_buffers()
1931 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_write_buffers()
1938 ret = cfi_amdstd_write_words(mtd, ofs + (chipnum<<cfi->chipshift), in cfi_amdstd_write_buffers()
1946 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_buffers()
1949 if (chipnum == cfi->numchips) in cfi_amdstd_write_buffers()
1964 ret = do_write_buffer(map, &cfi->chips[chipnum], in cfi_amdstd_write_buffers()
1974 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_buffers()
1977 if (chipnum == cfi->numchips) in cfi_amdstd_write_buffers()
1985 ret = cfi_amdstd_write_words(mtd, ofs + (chipnum<<cfi->chipshift), in cfi_amdstd_write_buffers()
2006 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_panic_wait() local
2059 struct cfi_private *cfi = map->fldrv_priv; in do_panic_write_oneword() local
2089 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2090 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2091 cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2134 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_panic_write() local
2139 chipnum = to >> cfi->chipshift; in cfi_amdstd_panic_write()
2140 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_panic_write()
2141 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_panic_write()
2150 ret = cfi_amdstd_panic_wait(map, &cfi->chips[chipnum], bus_ofs); in cfi_amdstd_panic_write()
2162 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2172 if (ofs >> cfi->chipshift) { in cfi_amdstd_panic_write()
2175 if (chipnum == cfi->numchips) in cfi_amdstd_panic_write()
2186 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2196 if (ofs >> cfi->chipshift) { in cfi_amdstd_panic_write()
2199 if (chipnum == cfi->numchips) in cfi_amdstd_panic_write()
2202 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_panic_write()
2210 ret = cfi_amdstd_panic_wait(map, &cfi->chips[chipnum], ofs); in cfi_amdstd_panic_write()
2218 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2236 struct cfi_private *cfi = map->fldrv_priv; in do_erase_chip() local
2242 adr = cfi->addr_unlock1; in do_erase_chip()
2258 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2259 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2260 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2261 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2262 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2263 cfi_send_gen_cmd(0x10, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2326 struct cfi_private *cfi = map->fldrv_priv; in do_erase_oneblock() local
2347 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2348 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2349 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2350 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2351 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2352 map_write(map, cfi->sector_erase_cmd, adr); in do_erase_oneblock()
2436 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_erase_chip() local
2445 ret = do_erase_chip(map, &cfi->chips[0]); in cfi_amdstd_erase_chip()
2458 struct cfi_private *cfi = map->fldrv_priv; in do_atmel_lock() local
2469 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2470 cfi->device_type, NULL); in do_atmel_lock()
2471 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_atmel_lock()
2472 cfi->device_type, NULL); in do_atmel_lock()
2473 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2474 cfi->device_type, NULL); in do_atmel_lock()
2475 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2476 cfi->device_type, NULL); in do_atmel_lock()
2477 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_atmel_lock()
2478 cfi->device_type, NULL); in do_atmel_lock()
2493 struct cfi_private *cfi = map->fldrv_priv; in do_atmel_unlock() local
2504 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_unlock()
2505 cfi->device_type, NULL); in do_atmel_unlock()
2547 struct cfi_private *cfi = map->fldrv_priv; in do_ppb_xxlock() local
2560 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_ppb_xxlock()
2561 cfi->device_type, NULL); in do_ppb_xxlock()
2562 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_ppb_xxlock()
2563 cfi->device_type, NULL); in do_ppb_xxlock()
2565 cfi_send_gen_cmd(0xC0, cfi->addr_unlock1, chip->start, map, cfi, in do_ppb_xxlock()
2566 cfi->device_type, NULL); in do_ppb_xxlock()
2627 struct cfi_private *cfi = map->fldrv_priv; in cfi_ppb_unlock() local
2667 sect[sectors].chip = &cfi->chips[chipnum]; in cfi_ppb_unlock()
2670 map, &cfi->chips[chipnum], adr, 0, in cfi_ppb_unlock()
2681 if (adr >> cfi->chipshift) { in cfi_ppb_unlock()
2685 if (chipnum >= cfi->numchips) in cfi_ppb_unlock()
2730 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_sync() local
2736 for (i=0; !ret && i<cfi->numchips; i++) { in cfi_amdstd_sync()
2737 chip = &cfi->chips[i]; in cfi_amdstd_sync()
2775 chip = &cfi->chips[i]; in cfi_amdstd_sync()
2791 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_suspend() local
2796 for (i=0; !ret && i<cfi->numchips; i++) { in cfi_amdstd_suspend()
2797 chip = &cfi->chips[i]; in cfi_amdstd_suspend()
2826 chip = &cfi->chips[i]; in cfi_amdstd_suspend()
2845 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_resume() local
2849 for (i=0; i<cfi->numchips; i++) { in cfi_amdstd_resume()
2851 chip = &cfi->chips[i]; in cfi_amdstd_resume()
2877 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_reset() local
2881 for (i = 0; i < cfi->numchips; i++) { in cfi_amdstd_reset()
2883 chip = &cfi->chips[i]; in cfi_amdstd_reset()
2915 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_destroy() local
2919 kfree(cfi->cmdset_priv); in cfi_amdstd_destroy()
2920 kfree(cfi->cfiq); in cfi_amdstd_destroy()
2921 kfree(cfi); in cfi_amdstd_destroy()