Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b4773fd authored by Boris Brezillon's avatar Boris Brezillon
Browse files

mtd: nand: Drop unused cached programming support



Cached programming is always skipped, so drop the associated code until
we decide to really support it.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 6e532afa
Loading
Loading
Loading
Loading
+12 −26
Original line number Diff line number Diff line
@@ -2724,7 +2724,7 @@ static int nand_write_page_syndrome(struct mtd_info *mtd,
 */
static int nand_write_page(struct mtd_info *mtd, struct nand_chip *chip,
		uint32_t offset, int data_len, const uint8_t *buf,
		int oob_required, int page, int cached, int raw)
		int oob_required, int page, int raw)
{
	int status, subpage;

@@ -2750,14 +2750,6 @@ static int nand_write_page(struct mtd_info *mtd, struct nand_chip *chip,
	if (status < 0)
		return status;

	/*
	 * Cached progamming disabled for now. Not sure if it's worth the
	 * trouble. The speed gain is not very impressive. (2.3->2.6Mib/s).
	 */
	cached = 0;

	if (!cached || !NAND_HAS_CACHEPROG(chip)) {

	if (nand_standard_page_accessors(&chip->ecc))
		chip->cmdfunc(mtd, NAND_CMD_PAGEPROG, -1, -1);
	status = chip->waitfunc(mtd, chip);
@@ -2771,10 +2763,6 @@ static int nand_write_page(struct mtd_info *mtd, struct nand_chip *chip,

	if (status & NAND_STATUS_FAIL)
		return -EIO;
	} else {
		chip->cmdfunc(mtd, NAND_CMD_CACHEDPROG, -1, -1);
		status = chip->waitfunc(mtd, chip);
	}

	return 0;
}
@@ -2881,7 +2869,6 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,

	while (1) {
		int bytes = mtd->writesize;
		int cached = writelen > bytes && page != blockmask;
		uint8_t *wbuf = buf;
		int use_bufpoi;
		int part_pagewr = (column || writelen < mtd->writesize);
@@ -2899,7 +2886,6 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
		if (use_bufpoi) {
			pr_debug("%s: using write bounce buffer for buf@%p\n",
					 __func__, buf);
			cached = 0;
			if (part_pagewr)
				bytes = min_t(int, bytes - column, writelen);
			chip->pagebuf = -1;
@@ -2918,7 +2904,7 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
		}

		ret = nand_write_page(mtd, chip, column, bytes, wbuf,
				      oob_required, page, cached,
				      oob_required, page,
				      (ops->mode == MTD_OPS_RAW));
		if (ret)
			break;