/kernel/linux/linux-5.10/drivers/mtd/spi-nor/ |
H A D | core.c | 30 * For everything but full-chip erase; probably could be much smaller, but kept 36 * For full-chip erase, calibrated to a 2MB flash (M25P16); should be scaled up 564 * WEL bit remains set to one when an erase or page program in spi_nor_sr_ready() 631 * WEL bit remains set to one when an erase or page program in spi_nor_fsr_ready() 1099 struct spi_nor_erase_type *erase; in spi_nor_set_4byte_opcodes() local 1103 erase = &map->erase_type[i]; in spi_nor_set_4byte_opcodes() 1104 erase->opcode = in spi_nor_set_4byte_opcodes() 1105 spi_nor_convert_3to4_erase(erase->opcode); in spi_nor_set_4byte_opcodes() 1158 } else if (nor->controller_ops->erase) { in spi_nor_erase_sector() 1159 return nor->controller_ops->erase(no in spi_nor_erase_sector() 1183 spi_nor_div_by_erase_size(const struct spi_nor_erase_type *erase, u64 dividend, u32 *remainder) spi_nor_div_by_erase_size() argument 1209 const struct spi_nor_erase_type *erase; spi_nor_find_best_erase_type() local 1308 spi_nor_init_erase_cmd(const struct spi_nor_erase_region *region, const struct spi_nor_erase_type *erase) spi_nor_init_erase_cmd() argument 1361 const struct spi_nor_erase_type *erase, *prev_erase = NULL; spi_nor_init_erase_cmd_list() local 2418 spi_nor_set_erase_type(struct spi_nor_erase_type *erase, u32 size, u8 opcode) spi_nor_set_erase_type() argument 2432 spi_nor_mask_erase_type(struct spi_nor_erase_type *erase) spi_nor_mask_erase_type() argument 2543 const struct spi_nor_erase_type *tested_erase, *erase = NULL; spi_nor_select_uniform_erase() local 2583 const struct spi_nor_erase_type *erase = NULL; spi_nor_select_erase() local [all...] |
H A D | sfdp.c | 63 * op code and erase sector size to be used by Sector Erase commands. 300 * spi_nor_set_erase_settings_from_bfpt() - set erase type settings from BFPT 301 * @erase: pointer to a structure that describes a SPI NOR erase type 302 * @size: the size of the sector/block erased by the erase type 303 * @opcode: the SPI command op code to erase the sector/block 304 * @i: erase type index as sorted in the Basic Flash Parameter Table 313 spi_nor_set_erase_settings_from_bfpt(struct spi_nor_erase_type *erase, in spi_nor_set_erase_settings_from_bfpt() argument 316 erase->idx = i; in spi_nor_set_erase_settings_from_bfpt() 317 spi_nor_set_erase_type(erase, siz in spi_nor_set_erase_settings_from_bfpt() 756 spi_nor_region_check_overlay(struct spi_nor_erase_region *region, const struct spi_nor_erase_type *erase, const u8 erase_type) spi_nor_region_check_overlay() argument 787 struct spi_nor_erase_type *erase = map->erase_type; spi_nor_init_non_uniform_erase_map() local 1017 const struct sfdp_4bait *erase = &erases[i]; spi_nor_parse_4bait() local [all...] |
/kernel/linux/linux-6.6/drivers/mtd/spi-nor/ |
H A D | core.c | 30 * For everything but full-chip erase; probably could be much smaller, but kept 36 * For full-chip erase, calibrated to a 2MB flash (M25P16); should be scaled up 183 return nor->controller_ops->erase(nor, offs); in spi_nor_controller_ops_erase() 1164 struct spi_nor_erase_type *erase; in spi_nor_set_4byte_opcodes() local 1168 erase = &map->erase_type[i]; in spi_nor_set_4byte_opcodes() 1169 erase->opcode = in spi_nor_set_4byte_opcodes() 1170 spi_nor_convert_3to4_erase(erase->opcode); in spi_nor_set_4byte_opcodes() 1302 /* Internal locking helpers for program and erase operations */ 1483 } else if (nor->controller_ops->erase) { in spi_nor_erase_sector() 1502 * @erase 1508 spi_nor_div_by_erase_size(const struct spi_nor_erase_type *erase, u64 dividend, u32 *remainder) spi_nor_div_by_erase_size() argument 1534 const struct spi_nor_erase_type *erase; spi_nor_find_best_erase_type() local 1631 spi_nor_init_erase_cmd(const struct spi_nor_erase_region *region, const struct spi_nor_erase_type *erase) spi_nor_init_erase_cmd() argument 1684 const struct spi_nor_erase_type *erase, *prev_erase = NULL; spi_nor_init_erase_cmd_list() local 2413 spi_nor_set_erase_type(struct spi_nor_erase_type *erase, u32 size, u8 opcode) spi_nor_set_erase_type() argument 2427 spi_nor_mask_erase_type(struct spi_nor_erase_type *erase) spi_nor_mask_erase_type() argument 2540 const struct spi_nor_erase_type *tested_erase, *erase = NULL; spi_nor_select_uniform_erase() local 2584 const struct spi_nor_erase_type *erase = NULL; spi_nor_select_erase() local [all...] |
H A D | sfdp.c | 75 * op code and erase sector size to be used by Sector Erase commands. 311 * spi_nor_set_erase_settings_from_bfpt() - set erase type settings from BFPT 312 * @erase: pointer to a structure that describes a SPI NOR erase type 313 * @size: the size of the sector/block erased by the erase type 314 * @opcode: the SPI command op code to erase the sector/block 315 * @i: erase type index as sorted in the Basic Flash Parameter Table 324 spi_nor_set_erase_settings_from_bfpt(struct spi_nor_erase_type *erase, in spi_nor_set_erase_settings_from_bfpt() argument 327 erase->idx = i; in spi_nor_set_erase_settings_from_bfpt() 328 spi_nor_set_erase_type(erase, siz in spi_nor_set_erase_settings_from_bfpt() 799 spi_nor_region_check_overlay(struct spi_nor_erase_region *region, const struct spi_nor_erase_type *erase, const u8 erase_type) spi_nor_region_check_overlay() argument 826 struct spi_nor_erase_type *erase = map->erase_type; spi_nor_init_non_uniform_erase_map() local 1052 const struct sfdp_4bait *erase = &erases[i]; spi_nor_parse_4bait() local [all...] |
/kernel/linux/linux-6.6/drivers/cxl/ |
H A D | security.c | 174 struct cxl_pass_erase erase; in cxl_pmem_security_passphrase_erase() local 177 erase = (struct cxl_pass_erase) { in cxl_pmem_security_passphrase_erase() 181 memcpy(erase.pass, key->data, NVDIMM_PASSPHRASE_LEN); in cxl_pmem_security_passphrase_erase() 184 .size_in = sizeof(erase), in cxl_pmem_security_passphrase_erase() 185 .payload_in = &erase, in cxl_pmem_security_passphrase_erase() 201 .erase = cxl_pmem_security_passphrase_erase,
|
/kernel/linux/linux-5.10/drivers/mtd/ |
H A D | mtdconcat.c | 369 struct erase_info *erase; in concat_erase() local 372 * Check for proper erase block alignment of the to-be-erased area. in concat_erase() 373 * It is easier to do this based on the super device's erase in concat_erase() 378 /* the easy case: device has uniform erase block size */ in concat_erase() 384 /* device has variable erase size */ in concat_erase() 389 * Find the erase region where the to-be-erased area begins: in concat_erase() 398 * offset is aligned to this region's erase size: in concat_erase() 404 * now find the erase region where the to-be-erased area ends: in concat_erase() 411 * check if the ending offset is aligned to this region's erase size in concat_erase() 419 erase in concat_erase() [all...] |
H A D | mtdpstore.c | 186 struct erase_info erase; in mtdpstore_erase_do() local 190 dev_dbg(&mtd->dev, "try to erase off 0x%llx\n", off); in mtdpstore_erase_do() 191 erase.len = cxt->mtd->erasesize; in mtdpstore_erase_do() 192 erase.addr = off; in mtdpstore_erase_do() 193 ret = mtd_erase(cxt->mtd, &erase); in mtdpstore_erase_do() 197 dev_err(&mtd->dev, "erase of region [0x%llx, 0x%llx] on \"%s\" failed\n", in mtdpstore_erase_do() 198 (unsigned long long)erase.addr, in mtdpstore_erase_do() 199 (unsigned long long)erase.len, cxt->info.device); in mtdpstore_erase_do() 206 * Avoiding over erasing, do erase block only when the whole block is unused. 207 * If the block contains valid log, do erase lazil 451 struct erase_info erase; mtdpstore_flush_removed_do() local [all...] |
H A D | mtdchar.c | 730 struct erase_info *erase; in mtdchar_ioctl() local 732 erase=kzalloc(sizeof(struct erase_info),GFP_KERNEL); in mtdchar_ioctl() 733 if (!erase) in mtdchar_ioctl() 741 kfree(erase); in mtdchar_ioctl() 744 erase->addr = einfo64.start; in mtdchar_ioctl() 745 erase->len = einfo64.length; in mtdchar_ioctl() 751 kfree(erase); in mtdchar_ioctl() 754 erase->addr = einfo32.start; in mtdchar_ioctl() 755 erase->len = einfo32.length; in mtdchar_ioctl() 758 ret = mtd_erase(mtd, erase); in mtdchar_ioctl() [all...] |
H A D | mtdoops.c | 79 struct erase_info erase; in mtdoops_erase_block() local 83 erase.addr = offset; in mtdoops_erase_block() 84 erase.len = mtd->erasesize; in mtdoops_erase_block() 86 ret = mtd_erase(mtd, &erase); in mtdoops_erase_block() 88 printk(KERN_WARNING "mtdoops: erase of region [0x%llx, 0x%llx] on \"%s\" failed\n", in mtdoops_erase_block() 89 (unsigned long long)erase.addr, in mtdoops_erase_block() 90 (unsigned long long)erase.len, mtddev); in mtdoops_erase_block() 115 printk(KERN_DEBUG "mtdoops: ready %d, %d (no erase)\n", in mtdoops_inc_counter()
|
H A D | mtdblock.c | 47 struct erase_info erase; in erase_write() local 52 * First, let's erase the flash block. in erase_write() 54 erase.addr = pos; in erase_write() 55 erase.len = len; in erase_write() 57 ret = mtd_erase(mtd, &erase); in erase_write() 59 printk (KERN_WARNING "mtdblock: erase of region [0x%lx, 0x%x] " in erase_write() 369 MODULE_DESCRIPTION("Caching read/erase/writeback block device emulation access to MTD devices");
|
/kernel/linux/linux-6.6/drivers/mtd/ |
H A D | mtdconcat.c | 369 struct erase_info *erase; in concat_erase() local 372 * Check for proper erase block alignment of the to-be-erased area. in concat_erase() 373 * It is easier to do this based on the super device's erase in concat_erase() 378 /* the easy case: device has uniform erase block size */ in concat_erase() 384 /* device has variable erase size */ in concat_erase() 389 * Find the erase region where the to-be-erased area begins: in concat_erase() 398 * offset is aligned to this region's erase size: in concat_erase() 404 * now find the erase region where the to-be-erased area ends: in concat_erase() 411 * check if the ending offset is aligned to this region's erase size in concat_erase() 419 erase in concat_erase() [all...] |
H A D | mtdpstore.c | 186 struct erase_info erase; in mtdpstore_erase_do() local 190 dev_dbg(&mtd->dev, "try to erase off 0x%llx\n", off); in mtdpstore_erase_do() 191 erase.len = cxt->mtd->erasesize; in mtdpstore_erase_do() 192 erase.addr = off; in mtdpstore_erase_do() 193 ret = mtd_erase(cxt->mtd, &erase); in mtdpstore_erase_do() 197 dev_err(&mtd->dev, "erase of region [0x%llx, 0x%llx] on \"%s\" failed\n", in mtdpstore_erase_do() 198 (unsigned long long)erase.addr, in mtdpstore_erase_do() 199 (unsigned long long)erase.len, cxt->info.device); in mtdpstore_erase_do() 206 * Avoiding over erasing, do erase block only when the whole block is unused. 207 * If the block contains valid log, do erase lazil 451 struct erase_info erase; mtdpstore_flush_removed_do() local [all...] |
H A D | mtdoops.c | 89 struct erase_info erase; in mtdoops_erase_block() local 93 erase.addr = offset; in mtdoops_erase_block() 94 erase.len = mtd->erasesize; in mtdoops_erase_block() 96 ret = mtd_erase(mtd, &erase); in mtdoops_erase_block() 98 pr_warn("erase of region [0x%llx, 0x%llx] on \"%s\" failed\n", in mtdoops_erase_block() 99 (unsigned long long)erase.addr, in mtdoops_erase_block() 100 (unsigned long long)erase.len, mtddev); in mtdoops_erase_block() 183 pr_debug("not ready %d, %d (erase %s)\n", in mtdoops_inc_counter() 187 /* In case of panic, erase immediately */ in mtdoops_inc_counter() 190 /* Otherwise, schedule work to erase i in mtdoops_inc_counter() [all...] |
H A D | mtdblock.c | 47 struct erase_info erase; in erase_write() local 52 * First, let's erase the flash block. in erase_write() 54 erase.addr = pos; in erase_write() 55 erase.len = len; in erase_write() 57 ret = mtd_erase(mtd, &erase); in erase_write() 59 printk (KERN_WARNING "mtdblock: erase of region [0x%lx, 0x%x] " in erase_write() 361 MODULE_DESCRIPTION("Caching read/erase/writeback block device emulation access to MTD devices");
|
/kernel/linux/linux-5.10/drivers/mtd/devices/ |
H A D | powernv_flash.c | 162 * @erase: the erase info 163 * Returns 0 if erase successful or -ERRNO if an error occurred 165 static int powernv_flash_erase(struct mtd_info *mtd, struct erase_info *erase) in powernv_flash_erase() argument 169 rc = powernv_flash_async_op(mtd, FLASH_OP_ERASE, erase->addr, in powernv_flash_erase() 170 erase->len, NULL, NULL); in powernv_flash_erase() 172 erase->fail_addr = erase->addr; in powernv_flash_erase()
|
/kernel/linux/linux-6.6/drivers/mtd/devices/ |
H A D | powernv_flash.c | 165 * @erase: the erase info 166 * Returns 0 if erase successful or -ERRNO if an error occurred 168 static int powernv_flash_erase(struct mtd_info *mtd, struct erase_info *erase) in powernv_flash_erase() argument 172 rc = powernv_flash_async_op(mtd, FLASH_OP_ERASE, erase->addr, in powernv_flash_erase() 173 erase->len, NULL, NULL); in powernv_flash_erase() 175 erase->fail_addr = erase->addr; in powernv_flash_erase()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/falcon/ |
H A D | mtd.c | 21 static int ef4_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in ef4_mtd_erase() argument 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in ef4_mtd_erase()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
H A D | mtd.c | 21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/falcon/ |
H A D | mtd.c | 21 static int ef4_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in ef4_mtd_erase() argument 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in ef4_mtd_erase()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
H A D | mtd.c | 21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/siena/ |
H A D | mtd.c | 21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase()
|
/kernel/linux/linux-5.10/drivers/mtd/ubi/ |
H A D | attach.c | 27 * erased are put to the @erase list. 47 * the reason is a power cut, UBI puts this PEB to the @erase list, and all 48 * PEBs in the @erase list are scheduled for erasure later. 64 * to just erase this PEB - this is corruption type 1. 171 * @ec: erase counter of the physical eraseblock 214 * @ec: erase counter of the physical eraseblock 219 * eraseblock @pnum and adds it to the "free", "erase", or "alien" lists. 224 * PEBs (corrupted due to power cuts) to the head of the erase list to make 225 * sure we erase them first and get rid of corruptions ASAP. This function 236 } else if (list == &ai->erase) { in add_to_list() [all...] |
/kernel/linux/linux-6.6/drivers/mtd/ubi/ |
H A D | attach.c | 27 * erased are put to the @erase list. 47 * the reason is a power cut, UBI puts this PEB to the @erase list, and all 48 * PEBs in the @erase list are scheduled for erasure later. 64 * to just erase this PEB - this is corruption type 1. 171 * @ec: erase counter of the physical eraseblock 214 * @ec: erase counter of the physical eraseblock 219 * eraseblock @pnum and adds it to the "free", "erase", or "alien" lists. 224 * PEBs (corrupted due to power cuts) to the head of the erase list to make 225 * sure we erase them first and get rid of corruptions ASAP. This function 236 } else if (list == &ai->erase) { in add_to_list() [all...] |
/kernel/linux/linux-5.10/drivers/fpga/ |
H A D | machxo2-spi.c | 140 static const u8 erase[] = ISC_ERASE; in machxo2_cleanup() local 146 tx[0].tx_buf = &erase; in machxo2_cleanup() 147 tx[0].len = sizeof(erase); in machxo2_cleanup() 195 static const u8 erase[] = ISC_ERASE; in machxo2_write_init() local 216 tx[1].tx_buf = &erase; in machxo2_write_init() 217 tx[1].len = sizeof(erase); in machxo2_write_init()
|
/kernel/linux/linux-6.6/drivers/fpga/ |
H A D | machxo2-spi.c | 140 static const u8 erase[] = ISC_ERASE; in machxo2_cleanup() local 146 tx[0].tx_buf = &erase; in machxo2_cleanup() 147 tx[0].len = sizeof(erase); in machxo2_cleanup() 195 static const u8 erase[] = ISC_ERASE; in machxo2_write_init() local 216 tx[1].tx_buf = &erase; in machxo2_write_init() 217 tx[1].len = sizeof(erase); in machxo2_write_init()
|