Lines Matching refs:adr
98 static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr, int mode);
99 static void put_chip(struct map_info *map, struct flchip *chip, unsigned long adr);
131 unsigned long adr)
141 status = map_read(map, adr);
555 unsigned long adr)
560 map_write(map, CMD(0xF0), adr);
636 __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR;
639 extp = (struct cfi_pri_amdstd*)cfi_read_pri(map, adr, sizeof(*extp), "Amd/Fujitsu");
871 static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr, int mode)
885 if (chip_ready(map, chip, adr, NULL))
911 if ((adr & chip->in_progress_block_mask) ==
923 if (chip_ready(map, chip, adr, NULL))
932 put_chip(map, chip, adr);
976 static void put_chip(struct map_info *map, struct flchip *chip, unsigned long adr)
1018 unsigned long adr)
1021 (void) map_read(map, adr); /* ensure mmu mapping is up to date */
1026 unsigned long adr)
1031 map_write(map, CMD(0xf0), adr);
1034 (void) map_read(map, adr);
1053 unsigned long adr, int usec)
1076 map_write(map, CMD(0xb0), adr);
1089 status = map_read(map, adr);
1098 map_write(map, CMD(0xf0), adr);
1099 (void) map_read(map, adr);
1126 cfi_fixup_m29ew_erase_suspend(map, adr);
1128 map_write(map, cfi->sector_erase_cmd, adr);
1139 status = map_read(map, adr);
1144 #define UDELAY(map, chip, adr, usec) xip_udelay(map, chip, adr, usec)
1156 #define INVALIDATE_CACHE_UDELAY(map, chip, adr, len, usec) \
1157 UDELAY(map, chip, adr, usec)
1178 #define xip_disable(map, chip, adr)
1179 #define xip_enable(map, chip, adr)
1182 #define UDELAY(map, chip, adr, usec) \
1189 #define INVALIDATE_CACHE_UDELAY(map, chip, adr, len, usec) \
1192 INVALIDATE_CACHED_RANGE(map, adr, len); \
1199 static inline int do_read_onechip(struct map_info *map, struct flchip *chip, loff_t adr, size_t len, u_char *buf)
1205 adr += chip->start;
1208 cmd_addr = adr & ~(map_bankwidth(map)-1);
1222 map_copy_from(map, buf, adr, len);
1269 loff_t adr, size_t len, u_char *buf, size_t grouplen);
1272 loff_t adr, size_t len)
1283 INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
1287 loff_t adr, size_t len)
1300 INVALIDATE_CACHED_RANGE(map, chip->start + adr, len);
1304 struct flchip *chip, loff_t adr,
1325 adr += chip->start;
1329 otp_enter(map, chip, adr, len);
1330 map_copy_from(map, buf, adr, len);
1331 otp_exit(map, chip, adr, len);
1379 unsigned long adr, map_word datum,
1382 static int do_otp_write(struct map_info *map, struct flchip *chip, loff_t adr,
1387 unsigned long bus_ofs = adr & ~(map_bankwidth(map)-1);
1388 int gap = adr - bus_ofs;
1404 adr += n;
1412 static int do_otp_lock(struct map_info *map, struct flchip *chip, loff_t adr,
1421 if ((adr != 0) || (len != grouplen))
1454 if (chip_ready(map, chip, adr, NULL))
1642 unsigned long adr, map_word datum,
1661 map_write(map, datum, adr);
1665 adr, map_bankwidth(map),
1690 !chip_good(map, chip, adr, &datum)) {
1691 xip_enable(map, chip, adr);
1693 xip_disable(map, chip, adr);
1698 if (chip_good(map, chip, adr, &datum)) {
1699 if (cfi_check_err_status(map, chip, adr))
1705 UDELAY(map, chip, adr, 1);
1713 unsigned long adr, int mode)
1719 ret = get_chip(map, chip, adr, mode);
1726 otp_enter(map, chip, adr, map_bankwidth(map));
1733 unsigned long adr, int mode)
1736 otp_exit(map, chip, adr, map_bankwidth(map));
1740 put_chip(map, chip, adr);
1747 unsigned long adr, map_word datum,
1761 oldd = map_read(map, adr);
1767 XIP_INVAL_CACHED_RANGE(map, adr, map_bankwidth(map));
1769 xip_disable(map, chip, adr);
1772 ret = do_write_oneword_once(map, chip, adr, datum, mode, cfi);
1783 xip_enable(map, chip, adr);
1789 unsigned long adr, map_word datum,
1794 adr += chip->start;
1796 pr_debug("MTD %s(): WRITE 0x%.8lx(0x%.8lx)\n", __func__, adr,
1799 ret = do_write_oneword_start(map, chip, adr, mode);
1803 ret = do_write_oneword_retry(map, chip, adr, datum, mode);
1805 do_write_oneword_done(map, chip, adr, mode);
1936 struct flchip *chip, unsigned long adr,
1970 !chip_good(map, chip, adr, &datum)) {
1972 __func__, adr);
1977 if (chip_good(map, chip, adr, &datum)) {
1978 if (cfi_check_err_status(map, chip, adr))
1984 UDELAY(map, chip, adr, 1);
2016 unsigned long adr, const u_char *buf,
2025 adr += chip->start;
2026 cmd_adr = adr;
2029 ret = get_chip(map, chip, adr, FL_WRITING);
2038 __func__, adr, datum.x[0]);
2040 XIP_INVAL_CACHED_RANGE(map, adr, len);
2059 map_write(map, datum, adr + z);
2066 adr += z;
2073 adr, map_bankwidth(map),
2076 ret = do_write_buffer_wait(map, chip, adr, datum);
2080 xip_enable(map, chip, adr);
2084 put_chip(map, chip, adr);
2176 unsigned long adr)
2186 if (chip->state == FL_READY && chip_ready(map, chip, adr, NULL))
2203 if (chip_ready(map, chip, adr, NULL))
2228 unsigned long adr, map_word datum)
2237 adr += chip->start;
2239 ret = cfi_amdstd_panic_wait(map, chip, adr);
2244 __func__, adr, datum.x[0]);
2252 oldd = map_read(map, adr);
2264 map_write(map, datum, adr);
2267 if (chip_ready(map, chip, adr, NULL))
2273 if (!chip_ready(map, chip, adr, &datum) ||
2274 cfi_check_err_status(map, chip, adr)) {
2411 unsigned long int adr;
2417 adr = cfi->addr_unlock1;
2420 ret = get_chip(map, chip, adr, FL_ERASING);
2429 XIP_INVAL_CACHED_RANGE(map, adr, map->size);
2431 xip_disable(map, chip, adr);
2443 chip->in_progress_block_addr = adr;
2447 adr, map->size,
2470 if (chip_ready(map, chip, adr, &datum)) {
2471 if (cfi_check_err_status(map, chip, adr))
2484 UDELAY(map, chip, adr, 1000000/HZ);
2499 xip_enable(map, chip, adr);
2501 put_chip(map, chip, adr);
2508 static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip, unsigned long adr, int len, void *thunk)
2517 adr += chip->start;
2520 ret = get_chip(map, chip, adr, FL_ERASING);
2527 __func__, adr);
2529 XIP_INVAL_CACHED_RANGE(map, adr, len);
2531 xip_disable(map, chip, adr);
2539 map_write(map, cfi->sector_erase_cmd, adr);
2543 chip->in_progress_block_addr = adr;
2547 adr, len,
2570 if (chip_ready(map, chip, adr, &datum)) {
2571 if (cfi_check_err_status(map, chip, adr))
2584 UDELAY(map, chip, adr, 1000000/HZ);
2599 xip_enable(map, chip, adr);
2601 put_chip(map, chip, adr);
2629 unsigned long adr, int len, void *thunk)
2635 ret = get_chip(map, chip, adr + chip->start, FL_LOCKING);
2640 pr_debug("MTD %s(): LOCK 0x%08lx len %d\n", __func__, adr, len);
2652 map_write(map, CMD(0x40), chip->start + adr);
2655 put_chip(map, chip, adr + chip->start);
2664 unsigned long adr, int len, void *thunk)
2670 ret = get_chip(map, chip, adr + chip->start, FL_UNLOCKING);
2675 pr_debug("MTD %s(): LOCK 0x%08lx len %d\n", __func__, adr, len);
2679 map_write(map, CMD(0x70), adr);
2682 put_chip(map, chip, adr + chip->start);
2706 unsigned long adr;
2716 unsigned long adr, int len, void *thunk)
2722 adr += chip->start;
2724 ret = get_chip(map, chip, adr, FL_LOCKING);
2730 pr_debug("MTD %s(): XXLOCK 0x%08lx len %d\n", __func__, adr, len);
2742 map_write(map, CMD(0xA0), adr);
2743 map_write(map, CMD(0x00), adr);
2755 ret = !cfi_read_query(map, adr);
2764 if (chip_ready(map, chip, adr, NULL))
2773 UDELAY(map, chip, adr, 1);
2781 put_chip(map, chip, adr);
2801 unsigned long adr;
2830 adr = 0;
2845 sect[sectors].adr = adr;
2847 map, &cfi->chips[chipnum], adr, 0,
2851 adr += size;
2858 if (adr >> cfi->chipshift) {
2861 adr = 0;
2891 do_ppb_xxlock(map, sect[i].chip, sect[i].adr, 0,