/openbmc/u-boot/drivers/mtd/ |
H A D | mtdcore.c | 183 struct mtd_info __maybe_unused *mtd = dev_get_drvdata(dev); in mtd_release() local 184 dev_t index = MTD_DEVT(mtd->index); in mtd_release() 193 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local 195 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend() 200 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local 202 if (mtd) in mtd_cls_resume() 203 mtd_resume(mtd); in mtd_cls_resume() 210 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_type_show() local 213 switch (mtd->type) { in mtd_type_show() 249 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_flags_show() local [all …]
|
H A D | cfi_mtd.c | 23 static int cfi_mtd_erase(struct mtd_info *mtd, struct erase_info *instr) in cfi_mtd_erase() argument 25 flash_info_t *fi = mtd->priv; in cfi_mtd_erase() 67 static int cfi_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, in cfi_mtd_read() argument 70 flash_info_t *fi = mtd->priv; in cfi_mtd_read() 79 static int cfi_mtd_write(struct mtd_info *mtd, loff_t to, size_t len, in cfi_mtd_write() argument 82 flash_info_t *fi = mtd->priv; in cfi_mtd_write() 98 static void cfi_mtd_sync(struct mtd_info *mtd) in cfi_mtd_sync() argument 107 static int cfi_mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in cfi_mtd_lock() argument 109 flash_info_t *fi = mtd->priv; in cfi_mtd_lock() 119 static int cfi_mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in cfi_mtd_unlock() argument [all …]
|
H A D | altera_qspi.c | 58 static void altera_qspi_get_locked_range(struct mtd_info *mtd, loff_t *ofs, 63 struct mtd_info *mtd = info->mtd; in flash_print_info() local 69 altera_qspi_get_locked_range(mtd, &ofs, &len); in flash_print_info() 85 struct mtd_info *mtd = info->mtd; in flash_erase() local 90 instr.mtd = mtd; in flash_erase() 91 instr.addr = mtd->erasesize * s_first; in flash_erase() 92 instr.len = mtd->erasesize * (s_last + 1 - s_first); in flash_erase() 94 ret = mtd_erase(mtd, &instr); in flash_erase() 105 struct mtd_info *mtd = info->mtd; in write_buff() local 106 struct udevice *dev = mtd->dev; in write_buff() [all …]
|
H A D | mtdpart.c | 289 static int part_read(struct mtd_info *mtd, loff_t from, size_t len, in part_read() argument 295 stats = mtd->parent->ecc_stats; in part_read() 296 res = mtd->parent->_read(mtd->parent, from + mtd->offset, len, in part_read() 299 mtd->ecc_stats.failed += in part_read() 300 mtd->parent->ecc_stats.failed - stats.failed; in part_read() 302 mtd->ecc_stats.corrected += in part_read() 303 mtd->parent->ecc_stats.corrected - stats.corrected; in part_read() 308 static int part_point(struct mtd_info *mtd, loff_t from, size_t len, in part_point() argument 311 return mtd->parent->_point(mtd->parent, from + mtd->offset, len, in part_point() 315 static int part_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in part_unpoint() argument [all …]
|
H A D | mtdconcat.c | 37 struct mtd_info mtd; member 61 concat_read(struct mtd_info *mtd, loff_t from, size_t len, in concat_read() argument 64 struct mtd_concat *concat = CONCAT(mtd); in concat_read() 94 mtd->ecc_stats.failed++; in concat_read() 97 mtd->ecc_stats.corrected++; in concat_read() 117 concat_write(struct mtd_info *mtd, loff_t to, size_t len, in concat_write() argument 120 struct mtd_concat *concat = CONCAT(mtd); in concat_write() 160 concat_writev(struct mtd_info *mtd, const struct kvec *vecs, in concat_writev() argument 163 struct mtd_concat *concat = CONCAT(mtd); in concat_writev() 175 if (mtd->writesize > 1) { in concat_writev() [all …]
|
/openbmc/linux/include/linux/mtd/ |
H A D | mtd.h | 107 int (*ecc)(struct mtd_info *mtd, int section, 109 int (*free)(struct mtd_info *mtd, int section, 183 int (*get_info)(struct mtd_info *mtd, int wunit, 185 int (*get_wunit)(struct mtd_info *mtd, 316 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); 317 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len, 319 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len); 320 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, 322 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, 324 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, [all …]
|
/openbmc/linux/drivers/mtd/ |
H A D | mtdcore.c | 45 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local 47 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend() 52 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local 54 if (mtd) in mtd_cls_resume() 55 mtd_resume(mtd); in mtd_cls_resume() 93 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_release() local 94 dev_t index = MTD_DEVT(mtd->index); in mtd_release() 96 idr_remove(&mtd_idr, mtd->index); in mtd_release() 97 of_node_put(mtd_get_of_node(mtd)); in mtd_release() 99 if (mtd_is_partition(mtd)) in mtd_release() [all …]
|
H A D | mtdpstore.c | 16 struct mtd_info *mtd; member 30 struct mtd_info *mtd = cxt->mtd; in mtdpstore_block_isbad() local 33 off = ALIGN_DOWN(off, mtd->erasesize); in mtdpstore_block_isbad() 34 blknum = div_u64(off, mtd->erasesize); in mtdpstore_block_isbad() 38 ret = mtd_block_isbad(mtd, off); in mtdpstore_block_isbad() 40 dev_err(&mtd->dev, "mtd_block_isbad failed, aborting\n"); in mtdpstore_block_isbad() 52 struct mtd_info *mtd = cxt->mtd; in mtdpstore_panic_block_isbad() local 55 off = ALIGN_DOWN(off, mtd->erasesize); in mtdpstore_panic_block_isbad() 56 blknum = div_u64(off, mtd->erasesize); in mtdpstore_panic_block_isbad() 63 struct mtd_info *mtd = cxt->mtd; in mtdpstore_mark_used() local [all …]
|
/openbmc/u-boot/include/linux/mtd/ |
H A D | mtd.h | 46 struct mtd_info *mtd; member 130 int (*ecc)(struct mtd_info *mtd, int section, 132 int (*free)(struct mtd_info *mtd, int section, 233 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); 235 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len, 237 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len); 239 unsigned long (*_get_unmapped_area) (struct mtd_info *mtd, 243 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, 245 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, 247 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, [all …]
|
/openbmc/u-boot/drivers/mtd/nand/raw/ |
H A D | mxs_nand_spl.c | 11 static struct mtd_info *mtd; variable 14 static void mxs_nand_command(struct mtd_info *mtd, unsigned int command, in mxs_nand_command() argument 17 register struct nand_chip *chip = mtd_to_nand(mtd); in mxs_nand_command() 21 chip->cmd_ctrl(mtd, command, NAND_CLE); in mxs_nand_command() 25 chip->cmd_ctrl(mtd, column, NAND_ALE); in mxs_nand_command() 26 chip->cmd_ctrl(mtd, column >> 8, NAND_ALE); in mxs_nand_command() 29 chip->cmd_ctrl(mtd, page_addr, NAND_ALE); in mxs_nand_command() 30 chip->cmd_ctrl(mtd, page_addr >> 8, NAND_ALE); in mxs_nand_command() 33 chip->cmd_ctrl(mtd, page_addr >> 16, NAND_ALE); in mxs_nand_command() 35 chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0); in mxs_nand_command() [all …]
|
H A D | nand_util.c | 51 int nand_erase_opts(struct mtd_info *mtd, in nand_erase_opts() argument 59 const char *mtd_device = mtd->name; in nand_erase_opts() 61 struct nand_chip *chip = mtd_to_nand(mtd); in nand_erase_opts() 63 if ((opts->offset & (mtd->erasesize - 1)) != 0) { in nand_erase_opts() 71 erase.mtd = mtd; in nand_erase_opts() 72 erase.len = mtd->erasesize; in nand_erase_opts() 74 erase_length = lldiv(opts->length + mtd->erasesize - 1, in nand_erase_opts() 75 mtd->erasesize); in nand_erase_opts() 100 erase.addr += mtd->erasesize) { in nand_erase_opts() 109 int ret = mtd_block_isbad(mtd, erase.addr); in nand_erase_opts() [all …]
|
H A D | vf610_nfc.c | 197 static inline u32 vf610_nfc_read(struct mtd_info *mtd, uint reg) in vf610_nfc_read() argument 199 struct vf610_nfc *nfc = mtd_to_nfc(mtd); in vf610_nfc_read() 204 static inline void vf610_nfc_write(struct mtd_info *mtd, uint reg, u32 val) in vf610_nfc_write() argument 206 struct vf610_nfc *nfc = mtd_to_nfc(mtd); in vf610_nfc_write() 211 static inline void vf610_nfc_set(struct mtd_info *mtd, uint reg, u32 bits) in vf610_nfc_set() argument 213 vf610_nfc_write(mtd, reg, vf610_nfc_read(mtd, reg) | bits); in vf610_nfc_set() 216 static inline void vf610_nfc_clear(struct mtd_info *mtd, uint reg, u32 bits) in vf610_nfc_clear() argument 218 vf610_nfc_write(mtd, reg, vf610_nfc_read(mtd, reg) & ~bits); in vf610_nfc_clear() 221 static inline void vf610_nfc_set_field(struct mtd_info *mtd, u32 reg, in vf610_nfc_set_field() argument 224 vf610_nfc_write(mtd, reg, in vf610_nfc_set_field() [all …]
|
H A D | nand_base.c | 95 static int nand_get_device(struct mtd_info *mtd, int new_state); 97 static int nand_do_write_oob(struct mtd_info *mtd, loff_t to, 106 static int check_offs_len(struct mtd_info *mtd, in check_offs_len() argument 109 struct nand_chip *chip = mtd_to_nand(mtd); in check_offs_len() 133 static void nand_release_device(struct mtd_info *mtd) in nand_release_device() argument 135 struct nand_chip *chip = mtd_to_nand(mtd); in nand_release_device() 138 chip->select_chip(mtd, -1); in nand_release_device() 147 uint8_t nand_read_byte(struct mtd_info *mtd) in nand_read_byte() argument 149 struct nand_chip *chip = mtd_to_nand(mtd); in nand_read_byte() 160 static uint8_t nand_read_byte16(struct mtd_info *mtd) in nand_read_byte16() argument [all …]
|
H A D | nand_spl_simple.c | 13 static struct mtd_info *mtd; variable 28 struct nand_chip *this = mtd_to_nand(mtd); in nand_command() 31 while (!this->dev_ready(mtd)) in nand_command() 35 this->cmd_ctrl(mtd, cmd, NAND_CTRL_CLE | NAND_CTRL_CHANGE); in nand_command() 38 this->cmd_ctrl(mtd, offs, NAND_CTRL_ALE | NAND_CTRL_CHANGE); in nand_command() 39 this->cmd_ctrl(mtd, page_addr & 0xff, NAND_CTRL_ALE); /* A[16:9] */ in nand_command() 40 this->cmd_ctrl(mtd, (page_addr >> 8) & 0xff, in nand_command() 44 this->cmd_ctrl(mtd, (page_addr >> 16) & 0x0f, in nand_command() 48 this->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE); in nand_command() 53 while (!this->dev_ready(mtd)) in nand_command() [all …]
|
/openbmc/u-boot/cmd/ |
H A D | mtd.c | 22 struct mtd_info *mtd; in get_mtd_by_name() local 26 mtd = get_mtd_device_nm(name); in get_mtd_by_name() 27 if (IS_ERR_OR_NULL(mtd)) in get_mtd_by_name() 29 PTR_ERR(mtd)); in get_mtd_by_name() 31 return mtd; in get_mtd_by_name() 34 static uint mtd_len_to_pages(struct mtd_info *mtd, u64 len) in mtd_len_to_pages() argument 36 do_div(len, mtd->writesize); in mtd_len_to_pages() 41 static bool mtd_is_aligned_with_min_io_size(struct mtd_info *mtd, u64 size) in mtd_is_aligned_with_min_io_size() argument 43 return !do_div(size, mtd->writesize); in mtd_is_aligned_with_min_io_size() 46 static bool mtd_is_aligned_with_block_size(struct mtd_info *mtd, u64 size) in mtd_is_aligned_with_block_size() argument [all …]
|
H A D | nand.c | 41 static int nand_dump(struct mtd_info *mtd, ulong off, int only_oob, in nand_dump() argument 50 off = last + mtd->writesize; in nand_dump() 54 datbuf = memalign(ARCH_DMA_MINALIGN, mtd->writesize); in nand_dump() 60 oobbuf = memalign(ARCH_DMA_MINALIGN, mtd->oobsize); in nand_dump() 66 off &= ~(mtd->writesize - 1); in nand_dump() 72 ops.len = mtd->writesize; in nand_dump() 73 ops.ooblen = mtd->oobsize; in nand_dump() 75 i = mtd_read_oob(mtd, addr, &ops); in nand_dump() 84 i = mtd->writesize >> 4; in nand_dump() 98 i = mtd->oobsize >> 3; in nand_dump() [all …]
|
/openbmc/linux/drivers/mtd/nand/onenand/ |
H A D | onenand_base.c | 66 static int flexonenand_ooblayout_ecc(struct mtd_info *mtd, int section, in flexonenand_ooblayout_ecc() argument 78 static int flexonenand_ooblayout_free(struct mtd_info *mtd, int section, in flexonenand_ooblayout_free() argument 102 static int onenand_ooblayout_128_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_128_ecc() argument 114 static int onenand_ooblayout_128_free(struct mtd_info *mtd, int section, in onenand_ooblayout_128_free() argument 138 static int onenand_ooblayout_32_64_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_32_64_ecc() argument 150 static int onenand_ooblayout_32_64_free(struct mtd_info *mtd, int section, in onenand_ooblayout_32_64_free() argument 153 int sections = (mtd->oobsize / 32) * 2; in onenand_ooblayout_32_64_free() 377 int flexonenand_region(struct mtd_info *mtd, loff_t addr) in flexonenand_region() argument 381 for (i = 0; i < mtd->numeraseregions; i++) in flexonenand_region() 382 if (addr < mtd->eraseregions[i].offset) in flexonenand_region() [all …]
|
/openbmc/linux/drivers/mtd/nand/raw/ |
H A D | mpc5121_nfc.c | 119 static void mpc5121_nfc_done(struct mtd_info *mtd); 122 static inline u16 nfc_read(struct mtd_info *mtd, uint reg) in nfc_read() argument 124 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_read() 131 static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val) in nfc_write() argument 133 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_write() 140 static inline void nfc_set(struct mtd_info *mtd, uint reg, u16 bits) in nfc_set() argument 142 nfc_write(mtd, reg, nfc_read(mtd, reg) | bits); in nfc_set() 146 static inline void nfc_clear(struct mtd_info *mtd, uint reg, u16 bits) in nfc_clear() argument 148 nfc_write(mtd, reg, nfc_read(mtd, reg) & ~bits); in nfc_clear() 152 static inline void mpc5121_nfc_send_addr(struct mtd_info *mtd, u16 addr) in mpc5121_nfc_send_addr() argument [all …]
|
/openbmc/u-boot/drivers/mtd/onenand/ |
H A D | onenand_base.c | 293 int flexonenand_region(struct mtd_info *mtd, loff_t addr) in flexonenand_region() argument 297 for (i = 0; i < mtd->numeraseregions; i++) in flexonenand_region() 298 if (addr < mtd->eraseregions[i].offset) in flexonenand_region() 325 static int onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, in onenand_command() argument 328 struct onenand_chip *this = mtd->priv; in onenand_command() 468 static int onenand_wait(struct mtd_info *mtd, int state) in onenand_wait() argument 470 struct onenand_chip *this = mtd->priv; in onenand_wait() 515 static inline int onenand_bufferram_offset(struct mtd_info *mtd, int area) in onenand_bufferram_offset() argument 517 struct onenand_chip *this = mtd->priv; in onenand_bufferram_offset() 521 return mtd->writesize; in onenand_bufferram_offset() [all …]
|
/openbmc/linux/drivers/mtd/ubi/ |
H A D | gluebi.c | 44 struct mtd_info mtd; member 84 static int gluebi_get_device(struct mtd_info *mtd) in gluebi_get_device() argument 89 if (mtd->flags & MTD_WRITEABLE) in gluebi_get_device() 92 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_get_device() 130 static void gluebi_put_device(struct mtd_info *mtd) in gluebi_put_device() argument 134 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_put_device() 153 static int gluebi_read(struct mtd_info *mtd, loff_t from, size_t len, in gluebi_read() argument 159 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_read() 160 lnum = div_u64_rem(from, mtd->erasesize, &offs); in gluebi_read() 163 size_t to_read = mtd->erasesize - offs; in gluebi_read() [all …]
|
/openbmc/linux/drivers/mtd/chips/ |
H A D | map_ram.c | 24 static int mapram_point (struct mtd_info *mtd, loff_t from, size_t len, 26 static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 37 struct mtd_info *mtd; in map_ram_probe() local 60 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_ram_probe() 61 if (!mtd) in map_ram_probe() 65 mtd->priv = map; in map_ram_probe() 66 mtd->name = map->name; in map_ram_probe() 67 mtd->type = MTD_RAM; in map_ram_probe() 68 mtd->size = map->size; in map_ram_probe() 69 mtd->_erase = mapram_erase; in map_ram_probe() [all …]
|
H A D | map_rom.c | 23 static int maprom_erase (struct mtd_info *mtd, struct erase_info *info); 24 static int maprom_point (struct mtd_info *mtd, loff_t from, size_t len, 26 static int maprom_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 46 struct mtd_info *mtd; in map_rom_probe() local 48 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_rom_probe() 49 if (!mtd) in map_rom_probe() 53 mtd->priv = map; in map_rom_probe() 54 mtd->name = map->name; in map_rom_probe() 55 mtd->type = MTD_ROM; in map_rom_probe() 56 mtd->size = map->size; in map_rom_probe() [all …]
|
/openbmc/linux/drivers/mtd/devices/ |
H A D | mtdram.c | 37 static int check_offs_len(struct mtd_info *mtd, loff_t ofs, uint64_t len) in check_offs_len() argument 42 if (mtd_mod_by_eb(ofs, mtd)) { in check_offs_len() 48 if (mtd_mod_by_eb(len, mtd)) { in check_offs_len() 56 static int ram_erase(struct mtd_info *mtd, struct erase_info *instr) in ram_erase() argument 58 if (check_offs_len(mtd, instr->addr, instr->len)) in ram_erase() 60 memset((char *)mtd->priv + instr->addr, 0xff, instr->len); in ram_erase() 65 static int ram_point(struct mtd_info *mtd, loff_t from, size_t len, in ram_point() argument 68 *virt = mtd->priv + from; in ram_point() 94 static int ram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in ram_unpoint() argument 99 static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, in ram_read() argument [all …]
|
/openbmc/linux/drivers/mtd/tests/ |
H A D | oobtest.c | 31 static struct mtd_info *mtd; variable 61 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 64 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in write_eraseblock() 73 err = mtd_write_oob(mtd, addr, &ops); in write_eraseblock() 170 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 174 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock() 183 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock() 209 if (use_offset != 0 || use_len < mtd->oobavail) { in verify_eraseblock() 215 ops.ooblen = mtd->oobavail; in verify_eraseblock() 220 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock() [all …]
|
H A D | pagetest.c | 28 static struct mtd_info *mtd; variable 43 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 45 prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize); in write_eraseblock() 47 return mtdtest_write(mtd, addr, mtd->erasesize, writebuf); in write_eraseblock() 55 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 59 addr0 += mtd->erasesize; in verify_eraseblock() 61 addrn = mtd->size; in verify_eraseblock() 63 addrn -= mtd->erasesize; in verify_eraseblock() 65 prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize); in verify_eraseblock() 68 err = mtdtest_read(mtd, addr0, bufsize, twopages); in verify_eraseblock() [all …]
|