Lines Matching refs:cfi

117 static int cfi_use_status_reg(struct cfi_private *cfi)  in cfi_use_status_reg()  argument
119 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in cfi_use_status_reg()
129 struct cfi_private *cfi = map->fldrv_priv; in cfi_check_err_status() local
132 if (!cfi_use_status_reg(cfi)) in cfi_check_err_status()
135 cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi, in cfi_check_err_status()
136 cfi->device_type, NULL); in cfi_check_err_status()
224 struct cfi_private *cfi = map->fldrv_priv; in fixup_amd_bootblock() local
225 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in fixup_amd_bootblock()
233 map->name, cfi->mfr, cfi->id); in fixup_amd_bootblock()
240 if (((cfi->id == 0xBA) || (cfi->id == 0x22BA)) && in fixup_amd_bootblock()
251 (cfi->mfr == CFI_MFR_MACRONIX)) { in fixup_amd_bootblock()
256 if (cfi->id & 0x80) { in fixup_amd_bootblock()
257 …tk(KERN_WARNING "%s: JEDEC Device ID is 0x%02X. Assuming broken CFI table.\n", map->name, cfi->id); in fixup_amd_bootblock()
274 struct cfi_private *cfi = map->fldrv_priv; in fixup_use_write_buffers() local
275 if (cfi->cfiq->BufWriteTimeoutTyp) { in fixup_use_write_buffers()
286 struct cfi_private *cfi = map->fldrv_priv; in fixup_convert_atmel_pri() local
287 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in fixup_convert_atmel_pri()
297 if (cfi->id == AT49BV6416) { in fixup_convert_atmel_pri()
310 cfi->cfiq->BufWriteTimeoutTyp = 0; in fixup_convert_atmel_pri()
311 cfi->cfiq->BufWriteTimeoutMax = 0; in fixup_convert_atmel_pri()
324 struct cfi_private *cfi = map->fldrv_priv; in fixup_use_erase_chip() local
325 if ((cfi->cfiq->NumEraseRegions == 1) && in fixup_use_erase_chip()
326 ((cfi->cfiq->EraseRegionInfo[0] & 0xffff) == 0)) { in fixup_use_erase_chip()
346 struct cfi_private *cfi = map->fldrv_priv; in fixup_old_sst_eraseregion() local
354 cfi->cfiq->NumEraseRegions = 1; in fixup_old_sst_eraseregion()
360 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst39vf() local
364 cfi->addr_unlock1 = 0x5555; in fixup_sst39vf()
365 cfi->addr_unlock2 = 0x2AAA; in fixup_sst39vf()
371 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst39vf_rev_b() local
375 cfi->addr_unlock1 = 0x555; in fixup_sst39vf_rev_b()
376 cfi->addr_unlock2 = 0x2AA; in fixup_sst39vf_rev_b()
378 cfi->sector_erase_cmd = CMD(0x50); in fixup_sst39vf_rev_b()
384 struct cfi_private *cfi = map->fldrv_priv; in fixup_sst38vf640x_sectorsize() local
392 cfi->cfiq->EraseRegionInfo[0] = 0x002003ff; in fixup_sst38vf640x_sectorsize()
400 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29gl064n_sectors() local
402 if ((cfi->cfiq->EraseRegionInfo[0] & 0xffff) == 0x003f) { in fixup_s29gl064n_sectors()
403 cfi->cfiq->EraseRegionInfo[0] |= 0x0040; in fixup_s29gl064n_sectors()
412 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29gl032n_sectors() local
414 if ((cfi->cfiq->EraseRegionInfo[1] & 0xffff) == 0x007e) { in fixup_s29gl032n_sectors()
415 cfi->cfiq->EraseRegionInfo[1] &= ~0x0040; in fixup_s29gl032n_sectors()
424 struct cfi_private *cfi = map->fldrv_priv; in fixup_s29ns512p_sectors() local
430 cfi->cfiq->EraseRegionInfo[0] = 0x020001ff; in fixup_s29ns512p_sectors()
494 static void cfi_fixup_major_minor(struct cfi_private *cfi, in cfi_fixup_major_minor() argument
497 if (cfi->mfr == CFI_MFR_SAMSUNG) { in cfi_fixup_major_minor()
515 if (cfi->mfr == CFI_MFR_SST && (cfi->id >> 4) == 0x0536) { in cfi_fixup_major_minor()
521 static int is_m29ew(struct cfi_private *cfi) in is_m29ew() argument
523 if (cfi->mfr == CFI_MFR_INTEL && in is_m29ew()
524 ((cfi->device_type == CFI_DEVICETYPE_X8 && (cfi->id & 0xff) == 0x7e) || in is_m29ew()
525 (cfi->device_type == CFI_DEVICETYPE_X16 && cfi->id == 0x227e))) in is_m29ew()
543 struct cfi_private *cfi = map->fldrv_priv; in cfi_fixup_m29ew_erase_suspend() local
545 if (is_m29ew(cfi)) in cfi_fixup_m29ew_erase_suspend()
573 static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi) in cfi_fixup_m29ew_delay_after_resume() argument
579 if (is_m29ew(cfi)) in cfi_fixup_m29ew_delay_after_resume()
585 struct cfi_private *cfi = map->fldrv_priv; in cfi_cmdset_0002() local
612 mtd->writebufsize = cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize; in cfi_cmdset_0002()
620 if (cfi->cfi_mode==CFI_MODE_CFI){ in cfi_cmdset_0002()
622 __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR; in cfi_cmdset_0002()
631 cfi_fixup_major_minor(cfi, extp); in cfi_cmdset_0002()
655 cfi->cmdset_priv = extp; in cfi_cmdset_0002()
684 if (bootloc == 3 && cfi->cfiq->NumEraseRegions > 1) { in cfi_cmdset_0002()
687 for (i=0; i<cfi->cfiq->NumEraseRegions / 2; i++) { in cfi_cmdset_0002()
688 int j = (cfi->cfiq->NumEraseRegions-1)-i; in cfi_cmdset_0002()
690 swap(cfi->cfiq->EraseRegionInfo[i], in cfi_cmdset_0002()
691 cfi->cfiq->EraseRegionInfo[j]); in cfi_cmdset_0002()
695 cfi->addr_unlock1 = 0x555; in cfi_cmdset_0002()
696 cfi->addr_unlock2 = 0x2aa; in cfi_cmdset_0002()
700 if (!cfi->addr_unlock1 || !cfi->addr_unlock2) { in cfi_cmdset_0002()
706 else if (cfi->cfi_mode == CFI_MODE_JEDEC) { in cfi_cmdset_0002()
713 for (i=0; i< cfi->numchips; i++) { in cfi_cmdset_0002()
714 cfi->chips[i].word_write_time = 1<<cfi->cfiq->WordWriteTimeoutTyp; in cfi_cmdset_0002()
715 cfi->chips[i].buffer_write_time = 1<<cfi->cfiq->BufWriteTimeoutTyp; in cfi_cmdset_0002()
716 cfi->chips[i].erase_time = 1<<cfi->cfiq->BlockEraseTimeoutTyp; in cfi_cmdset_0002()
723 if (cfi->cfiq->BufWriteTimeoutTyp && in cfi_cmdset_0002()
724 cfi->cfiq->BufWriteTimeoutMax) in cfi_cmdset_0002()
725 cfi->chips[i].buffer_write_time_max = in cfi_cmdset_0002()
726 1 << (cfi->cfiq->BufWriteTimeoutTyp + in cfi_cmdset_0002()
727 cfi->cfiq->BufWriteTimeoutMax); in cfi_cmdset_0002()
729 cfi->chips[i].buffer_write_time_max = 0; in cfi_cmdset_0002()
731 cfi->chips[i].buffer_write_time_max = in cfi_cmdset_0002()
732 max(cfi->chips[i].buffer_write_time_max, 2000); in cfi_cmdset_0002()
734 cfi->chips[i].ref_point_counter = 0; in cfi_cmdset_0002()
735 init_waitqueue_head(&(cfi->chips[i].wq)); in cfi_cmdset_0002()
751 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_setup() local
752 unsigned long devsize = (1<<cfi->cfiq->DevSize) * cfi->interleave; in cfi_amdstd_setup()
757 (cfi->cfi_mode == CFI_MODE_CFI)?"CFI":"JEDEC",cfi->numchips); in cfi_amdstd_setup()
759 mtd->size = devsize * cfi->numchips; in cfi_amdstd_setup()
761 mtd->numeraseregions = cfi->cfiq->NumEraseRegions * cfi->numchips; in cfi_amdstd_setup()
768 for (i=0; i<cfi->cfiq->NumEraseRegions; i++) { in cfi_amdstd_setup()
770 ersize = ((cfi->cfiq->EraseRegionInfo[i] >> 8) & ~0xff) * cfi->interleave; in cfi_amdstd_setup()
771 ernum = (cfi->cfiq->EraseRegionInfo[i] & 0xffff) + 1; in cfi_amdstd_setup()
776 for (j=0; j<cfi->numchips; j++) { in cfi_amdstd_setup()
777 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].offset = (j*devsize)+offset; in cfi_amdstd_setup()
778 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].erasesize = ersize; in cfi_amdstd_setup()
779 mtd->eraseregions[(j*cfi->cfiq->NumEraseRegions)+i].numblocks = ernum; in cfi_amdstd_setup()
796 kfree(cfi->cmdset_priv); in cfi_amdstd_setup()
814 struct cfi_private *cfi = map->fldrv_priv; in chip_ready() local
817 if (cfi_use_status_reg(cfi)) { in chip_ready()
823 cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi, in chip_ready()
824 cfi->device_type, NULL); in chip_ready()
854 struct cfi_private *cfi = map->fldrv_priv; in chip_good() local
857 if (cfi_use_status_reg(cfi)) { in chip_good()
864 cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi, in chip_good()
865 cfi->device_type, NULL); in chip_good()
881 struct cfi_private *cfi = map->fldrv_priv; in get_chip() local
883 struct cfi_pri_amdstd *cfip = (struct cfi_pri_amdstd *)cfi->cmdset_priv; in get_chip()
985 struct cfi_private *cfi = map->fldrv_priv; in put_chip() local
991 map_write(map, cfi->sector_erase_cmd, chip->in_progress_block_addr); in put_chip()
992 cfi_fixup_m29ew_delay_after_resume(cfi); in put_chip()
1035 struct cfi_private *cfi = map->fldrv_priv; in xip_enable() local
1062 struct cfi_private *cfi = map->fldrv_priv; in xip_udelay() local
1063 struct cfi_pri_amdstd *extp = cfi->cmdset_priv; in xip_udelay()
1072 (cfi_interleave_is_1(cfi) || chip->oldstate == FL_READY)) { in xip_udelay()
1135 map_write(map, cfi->sector_erase_cmd, adr); in xip_udelay()
1209 struct cfi_private *cfi = map->fldrv_priv; in do_read_onechip() local
1241 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_read() local
1247 chipnum = (from >> cfi->chipshift); in cfi_amdstd_read()
1248 ofs = from - (chipnum << cfi->chipshift); in cfi_amdstd_read()
1253 if (chipnum >= cfi->numchips) in cfi_amdstd_read()
1256 if ((len + ofs -1) >> cfi->chipshift) in cfi_amdstd_read()
1257 thislen = (1<<cfi->chipshift) - ofs; in cfi_amdstd_read()
1261 ret = do_read_onechip(map, &cfi->chips[chipnum], ofs, thislen, buf); in cfi_amdstd_read()
1281 struct cfi_private *cfi = map->fldrv_priv; in otp_enter() local
1283 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in otp_enter()
1284 cfi->device_type, NULL); in otp_enter()
1285 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in otp_enter()
1286 cfi->device_type, NULL); in otp_enter()
1287 cfi_send_gen_cmd(0x88, cfi->addr_unlock1, chip->start, map, cfi, in otp_enter()
1288 cfi->device_type, NULL); in otp_enter()
1296 struct cfi_private *cfi = map->fldrv_priv; in otp_exit() local
1298 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1299 cfi->device_type, NULL); in otp_exit()
1300 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in otp_exit()
1301 cfi->device_type, NULL); in otp_exit()
1302 cfi_send_gen_cmd(0x90, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1303 cfi->device_type, NULL); in otp_exit()
1304 cfi_send_gen_cmd(0x00, cfi->addr_unlock1, chip->start, map, cfi, in otp_exit()
1305 cfi->device_type, NULL); in otp_exit()
1349 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_secsi_read() local
1362 if (chipnum >= cfi->numchips) in cfi_amdstd_secsi_read()
1370 ret = do_read_secsi_onechip(map, &cfi->chips[chipnum], ofs, in cfi_amdstd_secsi_read()
1422 struct cfi_private *cfi = map->fldrv_priv; in do_otp_lock() local
1440 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_otp_lock()
1441 cfi->device_type, NULL); in do_otp_lock()
1442 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_otp_lock()
1443 cfi->device_type, NULL); in do_otp_lock()
1444 cfi_send_gen_cmd(0x40, cfi->addr_unlock1, chip->start, map, cfi, in do_otp_lock()
1445 cfi->device_type, NULL); in do_otp_lock()
1488 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_otp_walk() local
1489 int ofs_factor = cfi->interleave * cfi->device_type; in cfi_amdstd_otp_walk()
1502 for (chipnum = 0; chipnum < cfi->numchips; chipnum++) { in cfi_amdstd_otp_walk()
1503 chip = &cfi->chips[chipnum]; in cfi_amdstd_otp_walk()
1508 if (is_m29ew(cfi)) { in cfi_amdstd_otp_walk()
1519 cfi_qry_mode_on(base, map, cfi); in cfi_amdstd_otp_walk()
1521 cfi_qry_mode_off(base, map, cfi); in cfi_amdstd_otp_walk()
1542 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, in cfi_amdstd_otp_walk()
1543 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1544 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1545 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, in cfi_amdstd_otp_walk()
1546 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1547 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1548 cfi_send_gen_cmd(0x40, cfi->addr_unlock1, in cfi_amdstd_otp_walk()
1549 chip->start, map, cfi, in cfi_amdstd_otp_walk()
1550 cfi->device_type, NULL); in cfi_amdstd_otp_walk()
1650 int mode, struct cfi_private *cfi) in do_write_oneword_once() argument
1665 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword_once()
1666 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword_once()
1667 cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_oneword_once()
1757 struct cfi_private *cfi = map->fldrv_priv; in do_write_oneword_retry() local
1779 ret = do_write_oneword_once(map, chip, adr, datum, mode, cfi); in do_write_oneword_retry()
1822 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_write_words() local
1828 chipnum = to >> cfi->chipshift; in cfi_amdstd_write_words()
1829 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_write_words()
1830 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_write_words()
1840 mutex_lock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1842 if (cfi->chips[chipnum].state != FL_READY) { in cfi_amdstd_write_words()
1844 add_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1846 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1849 remove_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1856 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1863 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1873 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_words()
1876 if (chipnum == cfi->numchips) in cfi_amdstd_write_words()
1887 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1897 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_words()
1900 if (chipnum == cfi->numchips) in cfi_amdstd_write_words()
1902 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_write_words()
1911 mutex_lock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1913 if (cfi->chips[chipnum].state != FL_READY) { in cfi_amdstd_write_words()
1915 add_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1917 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1920 remove_wait_queue(&cfi->chips[chipnum].wq, &wait); in cfi_amdstd_write_words()
1926 mutex_unlock(&cfi->chips[chipnum].mutex); in cfi_amdstd_write_words()
1930 ret = do_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_write_words()
1999 struct cfi_private *cfi) in do_write_buffer_reset() argument
2009 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_write_buffer_reset()
2010 cfi->device_type, NULL); in do_write_buffer_reset()
2011 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_write_buffer_reset()
2012 cfi->device_type, NULL); in do_write_buffer_reset()
2013 cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi, in do_write_buffer_reset()
2014 cfi->device_type, NULL); in do_write_buffer_reset()
2026 struct cfi_private *cfi = map->fldrv_priv; in do_write_buffer() local
2051 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_write_buffer()
2052 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_write_buffer()
2085 do_write_buffer_reset(map, chip, cfi); in do_write_buffer()
2102 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_write_buffers() local
2103 int wbufsize = cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize; in cfi_amdstd_write_buffers()
2108 chipnum = to >> cfi->chipshift; in cfi_amdstd_write_buffers()
2109 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_write_buffers()
2116 ret = cfi_amdstd_write_words(mtd, ofs + (chipnum<<cfi->chipshift), in cfi_amdstd_write_buffers()
2124 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_buffers()
2127 if (chipnum == cfi->numchips) in cfi_amdstd_write_buffers()
2142 ret = do_write_buffer(map, &cfi->chips[chipnum], in cfi_amdstd_write_buffers()
2152 if (ofs >> cfi->chipshift) { in cfi_amdstd_write_buffers()
2155 if (chipnum == cfi->numchips) in cfi_amdstd_write_buffers()
2163 ret = cfi_amdstd_write_words(mtd, ofs + (chipnum<<cfi->chipshift), in cfi_amdstd_write_buffers()
2185 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_panic_wait() local
2238 struct cfi_private *cfi = map->fldrv_priv; in do_panic_write_oneword() local
2268 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2269 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2270 cfi_send_gen_cmd(0xA0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_panic_write_oneword()
2314 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_panic_write() local
2319 chipnum = to >> cfi->chipshift; in cfi_amdstd_panic_write()
2320 ofs = to - (chipnum << cfi->chipshift); in cfi_amdstd_panic_write()
2321 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_panic_write()
2330 ret = cfi_amdstd_panic_wait(map, &cfi->chips[chipnum], bus_ofs); in cfi_amdstd_panic_write()
2342 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2352 if (ofs >> cfi->chipshift) { in cfi_amdstd_panic_write()
2355 if (chipnum == cfi->numchips) in cfi_amdstd_panic_write()
2366 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2376 if (ofs >> cfi->chipshift) { in cfi_amdstd_panic_write()
2379 if (chipnum == cfi->numchips) in cfi_amdstd_panic_write()
2382 chipstart = cfi->chips[chipnum].start; in cfi_amdstd_panic_write()
2390 ret = cfi_amdstd_panic_wait(map, &cfi->chips[chipnum], ofs); in cfi_amdstd_panic_write()
2398 ret = do_panic_write_oneword(map, &cfi->chips[chipnum], in cfi_amdstd_panic_write()
2416 struct cfi_private *cfi = map->fldrv_priv; in do_erase_chip() local
2423 adr = cfi->addr_unlock1; in do_erase_chip()
2440 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2441 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2442 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2443 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2444 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2445 cfi_send_gen_cmd(0x10, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_chip()
2516 struct cfi_private *cfi = map->fldrv_priv; in do_erase_oneblock() local
2539 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2540 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2541 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2542 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2543 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL); in do_erase_oneblock()
2544 map_write(map, cfi->sector_erase_cmd, adr); in do_erase_oneblock()
2622 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_erase_chip() local
2630 return do_erase_chip(map, &cfi->chips[0]); in cfi_amdstd_erase_chip()
2636 struct cfi_private *cfi = map->fldrv_priv; in do_atmel_lock() local
2647 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2648 cfi->device_type, NULL); in do_atmel_lock()
2649 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_atmel_lock()
2650 cfi->device_type, NULL); in do_atmel_lock()
2651 cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2652 cfi->device_type, NULL); in do_atmel_lock()
2653 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_lock()
2654 cfi->device_type, NULL); in do_atmel_lock()
2655 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_atmel_lock()
2656 cfi->device_type, NULL); in do_atmel_lock()
2671 struct cfi_private *cfi = map->fldrv_priv; in do_atmel_unlock() local
2682 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_atmel_unlock()
2683 cfi->device_type, NULL); in do_atmel_unlock()
2723 struct cfi_private *cfi = map->fldrv_priv; in do_ppb_xxlock() local
2737 cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, in do_ppb_xxlock()
2738 cfi->device_type, NULL); in do_ppb_xxlock()
2739 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, in do_ppb_xxlock()
2740 cfi->device_type, NULL); in do_ppb_xxlock()
2742 cfi_send_gen_cmd(0xC0, cfi->addr_unlock1, chip->start, map, cfi, in do_ppb_xxlock()
2743 cfi->device_type, NULL); in do_ppb_xxlock()
2804 struct cfi_private *cfi = map->fldrv_priv; in cfi_ppb_unlock() local
2849 sect[sectors].chip = &cfi->chips[chipnum]; in cfi_ppb_unlock()
2852 map, &cfi->chips[chipnum], adr, 0, in cfi_ppb_unlock()
2863 if (adr >> cfi->chipshift) { in cfi_ppb_unlock()
2869 if (chipnum >= cfi->numchips) in cfi_ppb_unlock()
2914 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_sync() local
2920 for (i=0; !ret && i<cfi->numchips; i++) { in cfi_amdstd_sync()
2921 chip = &cfi->chips[i]; in cfi_amdstd_sync()
2960 chip = &cfi->chips[i]; in cfi_amdstd_sync()
2976 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_suspend() local
2981 for (i=0; !ret && i<cfi->numchips; i++) { in cfi_amdstd_suspend()
2982 chip = &cfi->chips[i]; in cfi_amdstd_suspend()
3011 chip = &cfi->chips[i]; in cfi_amdstd_suspend()
3030 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_resume() local
3034 for (i=0; i<cfi->numchips; i++) { in cfi_amdstd_resume()
3036 chip = &cfi->chips[i]; in cfi_amdstd_resume()
3062 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_reset() local
3066 for (i = 0; i < cfi->numchips; i++) { in cfi_amdstd_reset()
3068 chip = &cfi->chips[i]; in cfi_amdstd_reset()
3100 struct cfi_private *cfi = map->fldrv_priv; in cfi_amdstd_destroy() local
3104 kfree(cfi->cmdset_priv); in cfi_amdstd_destroy()
3105 kfree(cfi->cfiq); in cfi_amdstd_destroy()
3106 kfree(cfi); in cfi_amdstd_destroy()