Lines Matching refs:adr
99 static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr, int mode);
100 static void put_chip(struct map_info *map, struct flchip *chip, unsigned long adr);
132 unsigned long adr) in cfi_check_err_status() argument
142 status = map_read(map, adr); in cfi_check_err_status()
560 unsigned long adr) in cfi_fixup_m29ew_erase_suspend() argument
565 map_write(map, CMD(0xF0), adr); in cfi_fixup_m29ew_erase_suspend()
641 __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR; in cfi_cmdset_0002() local
644 extp = (struct cfi_pri_amdstd*)cfi_read_pri(map, adr, sizeof(*extp), "Amd/Fujitsu"); in cfi_cmdset_0002()
876 static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr, int mode) in get_chip() argument
890 if (chip_ready(map, chip, adr, NULL)) in get_chip()
917 if ((adr & chip->in_progress_block_mask) == in get_chip()
929 if (chip_ready(map, chip, adr, NULL)) in get_chip()
938 put_chip(map, chip, adr); in get_chip()
982 static void put_chip(struct map_info *map, struct flchip *chip, unsigned long adr) in put_chip() argument
1024 unsigned long adr) in xip_disable() argument
1027 (void) map_read(map, adr); /* ensure mmu mapping is up to date */ in xip_disable()
1032 unsigned long adr) in xip_enable() argument
1037 map_write(map, CMD(0xf0), adr); in xip_enable()
1040 (void) map_read(map, adr); in xip_enable()
1059 unsigned long adr, int usec) in xip_udelay() argument
1082 map_write(map, CMD(0xb0), adr); in xip_udelay()
1095 status = map_read(map, adr); in xip_udelay()
1104 map_write(map, CMD(0xf0), adr); in xip_udelay()
1105 (void) map_read(map, adr); in xip_udelay()
1132 cfi_fixup_m29ew_erase_suspend(map, adr); in xip_udelay()
1134 map_write(map, cfi->sector_erase_cmd, adr); in xip_udelay()
1145 status = map_read(map, adr); in xip_udelay()
1150 #define UDELAY(map, chip, adr, usec) xip_udelay(map, chip, adr, usec) argument
1162 #define INVALIDATE_CACHE_UDELAY(map, chip, adr, len, usec) \ argument
1163 UDELAY(map, chip, adr, usec)
1184 #define xip_disable(map, chip, adr) argument
1185 #define xip_enable(map, chip, adr) argument
1188 #define UDELAY(map, chip, adr, usec) \ argument
1195 #define INVALIDATE_CACHE_UDELAY(map, chip, adr, len, usec) \ argument
1198 INVALIDATE_CACHED_RANGE(map, adr, len); \
1205 static inline int do_read_onechip(struct map_info *map, struct flchip *chip, loff_t adr, size_t len… in do_read_onechip() argument
1211 adr += chip->start; in do_read_onechip()
1214 cmd_addr = adr & ~(map_bankwidth(map)-1); in do_read_onechip()
1228 map_copy_from(map, buf, adr, len); in do_read_onechip()
1275 loff_t adr, size_t len, u_char *buf, size_t grouplen);
1278 loff_t adr, size_t len) in otp_enter() argument
1289 INVALIDATE_CACHED_RANGE(map, chip->start + adr, len); in otp_enter()
1293 loff_t adr, size_t len) in otp_exit() argument
1306 INVALIDATE_CACHED_RANGE(map, chip->start + adr, len); in otp_exit()
1310 struct flchip *chip, loff_t adr, in do_read_secsi_onechip() argument
1331 adr += chip->start; in do_read_secsi_onechip()
1335 otp_enter(map, chip, adr, len); in do_read_secsi_onechip()
1336 map_copy_from(map, buf, adr, len); in do_read_secsi_onechip()
1337 otp_exit(map, chip, adr, len); in do_read_secsi_onechip()
1385 unsigned long adr, map_word datum,
1388 static int do_otp_write(struct map_info *map, struct flchip *chip, loff_t adr, in do_otp_write() argument
1393 unsigned long bus_ofs = adr & ~(map_bankwidth(map)-1); in do_otp_write()
1394 int gap = adr - bus_ofs; in do_otp_write()
1410 adr += n; in do_otp_write()
1418 static int do_otp_lock(struct map_info *map, struct flchip *chip, loff_t adr, in do_otp_lock() argument
1427 if ((adr != 0) || (len != grouplen)) in do_otp_lock()
1460 if (chip_ready(map, chip, adr, NULL)) in do_otp_lock()
1648 unsigned long adr, map_word datum, in do_write_oneword_once() argument
1667 map_write(map, datum, adr); in do_write_oneword_once()
1671 adr, map_bankwidth(map), in do_write_oneword_once()
1696 !chip_good(map, chip, adr, &datum)) { in do_write_oneword_once()
1697 xip_enable(map, chip, adr); in do_write_oneword_once()
1699 xip_disable(map, chip, adr); in do_write_oneword_once()
1704 if (chip_good(map, chip, adr, &datum)) { in do_write_oneword_once()
1705 if (cfi_check_err_status(map, chip, adr)) in do_write_oneword_once()
1711 UDELAY(map, chip, adr, 1); in do_write_oneword_once()
1719 unsigned long adr, int mode) in do_write_oneword_start() argument
1725 ret = get_chip(map, chip, adr, mode); in do_write_oneword_start()
1732 otp_enter(map, chip, adr, map_bankwidth(map)); in do_write_oneword_start()
1739 unsigned long adr, int mode) in do_write_oneword_done() argument
1742 otp_exit(map, chip, adr, map_bankwidth(map)); in do_write_oneword_done()
1746 put_chip(map, chip, adr); in do_write_oneword_done()
1753 unsigned long adr, map_word datum, in do_write_oneword_retry() argument
1767 oldd = map_read(map, adr); in do_write_oneword_retry()
1773 XIP_INVAL_CACHED_RANGE(map, adr, map_bankwidth(map)); in do_write_oneword_retry()
1775 xip_disable(map, chip, adr); in do_write_oneword_retry()
1778 ret = do_write_oneword_once(map, chip, adr, datum, mode, cfi); in do_write_oneword_retry()
1789 xip_enable(map, chip, adr); in do_write_oneword_retry()
1795 unsigned long adr, map_word datum, in do_write_oneword() argument
1800 adr += chip->start; in do_write_oneword()
1802 pr_debug("MTD %s(): WRITE 0x%.8lx(0x%.8lx)\n", __func__, adr, in do_write_oneword()
1805 ret = do_write_oneword_start(map, chip, adr, mode); in do_write_oneword()
1809 ret = do_write_oneword_retry(map, chip, adr, datum, mode); in do_write_oneword()
1811 do_write_oneword_done(map, chip, adr, mode); in do_write_oneword()
1942 struct flchip *chip, unsigned long adr, in do_write_buffer_wait() argument
1976 !chip_good(map, chip, adr, &datum)) { in do_write_buffer_wait()
1978 __func__, adr); in do_write_buffer_wait()
1983 if (chip_good(map, chip, adr, &datum)) { in do_write_buffer_wait()
1984 if (cfi_check_err_status(map, chip, adr)) in do_write_buffer_wait()
1990 UDELAY(map, chip, adr, 1); in do_write_buffer_wait()
2022 unsigned long adr, const u_char *buf, in do_write_buffer() argument
2031 adr += chip->start; in do_write_buffer()
2032 cmd_adr = adr; in do_write_buffer()
2035 ret = get_chip(map, chip, adr, FL_WRITING); in do_write_buffer()
2044 __func__, adr, datum.x[0]); in do_write_buffer()
2046 XIP_INVAL_CACHED_RANGE(map, adr, len); in do_write_buffer()
2065 map_write(map, datum, adr + z); in do_write_buffer()
2072 adr += z; in do_write_buffer()
2079 adr, map_bankwidth(map), in do_write_buffer()
2082 ret = do_write_buffer_wait(map, chip, adr, datum); in do_write_buffer()
2086 xip_enable(map, chip, adr); in do_write_buffer()
2090 put_chip(map, chip, adr); in do_write_buffer()
2182 unsigned long adr) in cfi_amdstd_panic_wait() argument
2192 if (chip->state == FL_READY && chip_ready(map, chip, adr, NULL)) in cfi_amdstd_panic_wait()
2209 if (chip_ready(map, chip, adr, NULL)) in cfi_amdstd_panic_wait()
2234 unsigned long adr, map_word datum) in do_panic_write_oneword() argument
2243 adr += chip->start; in do_panic_write_oneword()
2245 ret = cfi_amdstd_panic_wait(map, chip, adr); in do_panic_write_oneword()
2250 __func__, adr, datum.x[0]); in do_panic_write_oneword()
2258 oldd = map_read(map, adr); in do_panic_write_oneword()
2270 map_write(map, datum, adr); in do_panic_write_oneword()
2273 if (chip_ready(map, chip, adr, NULL)) in do_panic_write_oneword()
2279 if (!chip_ready(map, chip, adr, &datum) || in do_panic_write_oneword()
2280 cfi_check_err_status(map, chip, adr)) { in do_panic_write_oneword()
2417 unsigned long int adr; in do_erase_chip() local
2423 adr = cfi->addr_unlock1; in do_erase_chip()
2426 ret = get_chip(map, chip, adr, FL_ERASING); in do_erase_chip()
2435 XIP_INVAL_CACHED_RANGE(map, adr, map->size); in do_erase_chip()
2437 xip_disable(map, chip, adr); in do_erase_chip()
2449 chip->in_progress_block_addr = adr; in do_erase_chip()
2453 adr, map->size, in do_erase_chip()
2476 if (chip_ready(map, chip, adr, &datum)) { in do_erase_chip()
2477 if (cfi_check_err_status(map, chip, adr)) in do_erase_chip()
2490 UDELAY(map, chip, adr, 1000000/HZ); in do_erase_chip()
2505 xip_enable(map, chip, adr); in do_erase_chip()
2507 put_chip(map, chip, adr); in do_erase_chip()
2514 static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip, unsigned long adr,… in do_erase_oneblock() argument
2523 adr += chip->start; in do_erase_oneblock()
2526 ret = get_chip(map, chip, adr, FL_ERASING); in do_erase_oneblock()
2533 __func__, adr); in do_erase_oneblock()
2535 XIP_INVAL_CACHED_RANGE(map, adr, len); in do_erase_oneblock()
2537 xip_disable(map, chip, adr); in do_erase_oneblock()
2545 map_write(map, cfi->sector_erase_cmd, adr); in do_erase_oneblock()
2549 chip->in_progress_block_addr = adr; in do_erase_oneblock()
2553 adr, len, in do_erase_oneblock()
2576 if (chip_ready(map, chip, adr, &datum)) { in do_erase_oneblock()
2577 if (cfi_check_err_status(map, chip, adr)) in do_erase_oneblock()
2590 UDELAY(map, chip, adr, 1000000/HZ); in do_erase_oneblock()
2605 xip_enable(map, chip, adr); in do_erase_oneblock()
2607 put_chip(map, chip, adr); in do_erase_oneblock()
2635 unsigned long adr, int len, void *thunk) in do_atmel_lock() argument
2641 ret = get_chip(map, chip, adr + chip->start, FL_LOCKING); in do_atmel_lock()
2646 pr_debug("MTD %s(): LOCK 0x%08lx len %d\n", __func__, adr, len); in do_atmel_lock()
2658 map_write(map, CMD(0x40), chip->start + adr); in do_atmel_lock()
2661 put_chip(map, chip, adr + chip->start); in do_atmel_lock()
2670 unsigned long adr, int len, void *thunk) in do_atmel_unlock() argument
2676 ret = get_chip(map, chip, adr + chip->start, FL_UNLOCKING); in do_atmel_unlock()
2681 pr_debug("MTD %s(): LOCK 0x%08lx len %d\n", __func__, adr, len); in do_atmel_unlock()
2685 map_write(map, CMD(0x70), adr); in do_atmel_unlock()
2688 put_chip(map, chip, adr + chip->start); in do_atmel_unlock()
2712 unsigned long adr; member
2722 unsigned long adr, int len, void *thunk) in do_ppb_xxlock() argument
2728 adr += chip->start; in do_ppb_xxlock()
2730 ret = get_chip(map, chip, adr, FL_LOCKING); in do_ppb_xxlock()
2736 pr_debug("MTD %s(): XXLOCK 0x%08lx len %d\n", __func__, adr, len); in do_ppb_xxlock()
2748 map_write(map, CMD(0xA0), adr); in do_ppb_xxlock()
2749 map_write(map, CMD(0x00), adr); in do_ppb_xxlock()
2761 ret = !cfi_read_query(map, adr); in do_ppb_xxlock()
2770 if (chip_ready(map, chip, adr, NULL)) in do_ppb_xxlock()
2779 UDELAY(map, chip, adr, 1); in do_ppb_xxlock()
2787 put_chip(map, chip, adr); in do_ppb_xxlock()
2807 unsigned long adr; in cfi_ppb_unlock() local
2836 adr = 0; in cfi_ppb_unlock()
2851 sect[sectors].adr = adr; in cfi_ppb_unlock()
2853 map, &cfi->chips[chipnum], adr, 0, in cfi_ppb_unlock()
2857 adr += size; in cfi_ppb_unlock()
2864 if (adr >> cfi->chipshift) { in cfi_ppb_unlock()
2867 adr = 0; in cfi_ppb_unlock()
2897 do_ppb_xxlock(map, sect[i].chip, sect[i].adr, 0, in cfi_ppb_unlock()