Commit 1af0b314 authored by Sascha Hauer's avatar Sascha Hauer Committed by Boris Brezillon

mtd: nand: mxc: Add buffer argument to copy_spare

With following patches we will have to copy the spare data to/from
other buffers, so add the buffer as argument to copy_spare().
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
parent 040bd3f6
...@@ -262,14 +262,14 @@ static void memcpy16_toio(void __iomem *trg, const void *src, int size) ...@@ -262,14 +262,14 @@ static void memcpy16_toio(void __iomem *trg, const void *src, int size)
* holds a page in natural order, i.e. writesize bytes data + oobsize bytes * holds a page in natural order, i.e. writesize bytes data + oobsize bytes
* spare) and the NFC buffer. * spare) and the NFC buffer.
*/ */
static void copy_spare(struct mtd_info *mtd, bool bfrom) static void copy_spare(struct mtd_info *mtd, bool bfrom, void *buf)
{ {
struct nand_chip *this = mtd_to_nand(mtd); struct nand_chip *this = mtd_to_nand(mtd);
struct mxc_nand_host *host = nand_get_controller_data(this); struct mxc_nand_host *host = nand_get_controller_data(this);
u16 i, oob_chunk_size; u16 i, oob_chunk_size;
u16 num_chunks = mtd->writesize / 512; u16 num_chunks = mtd->writesize / 512;
u8 *d = host->data_buf + mtd->writesize; u8 *d = buf;
u8 __iomem *s = host->spare0; u8 __iomem *s = host->spare0;
u16 sparebuf_size = host->devtype_data->spare_len; u16 sparebuf_size = host->devtype_data->spare_len;
...@@ -1295,7 +1295,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command, ...@@ -1295,7 +1295,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command,
memcpy32_fromio(host->data_buf, host->main_area0, memcpy32_fromio(host->data_buf, host->main_area0,
mtd->writesize); mtd->writesize);
copy_spare(mtd, true); copy_spare(mtd, true, host->data_buf + mtd->writesize);
break; break;
case NAND_CMD_SEQIN: case NAND_CMD_SEQIN:
...@@ -1314,7 +1314,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command, ...@@ -1314,7 +1314,7 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command,
case NAND_CMD_PAGEPROG: case NAND_CMD_PAGEPROG:
memcpy32_toio(host->main_area0, host->data_buf, mtd->writesize); memcpy32_toio(host->main_area0, host->data_buf, mtd->writesize);
copy_spare(mtd, false); copy_spare(mtd, false, host->data_buf + mtd->writesize);
host->devtype_data->send_page(mtd, NFC_INPUT); host->devtype_data->send_page(mtd, NFC_INPUT);
host->devtype_data->send_cmd(host, command, true); host->devtype_data->send_cmd(host, command, true);
WARN_ONCE(column != -1 || page_addr != -1, WARN_ONCE(column != -1 || page_addr != -1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment