mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
mtd: nand: Pass mode information to nand_page_io_req
The NAND sub-layers are likely to need the MTD_OPS_XXX mode information in order to decide if they should enable/disable ECC or how they should place the OOB bytes in the provided OOB buffer. Add a field to nand_page_io_req to pass this information. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
b95db8d33a
commit
f86787280b
1 changed files with 3 additions and 0 deletions
|
@ -86,6 +86,7 @@ struct nand_pos {
|
|||
* @ooboffs: the OOB offset within the page
|
||||
* @ooblen: the number of OOB bytes to read from/write to this page
|
||||
* @oobbuf: buffer to store OOB data in or get OOB data from
|
||||
* @mode: one of the %MTD_OPS_XXX mode
|
||||
*
|
||||
* This object is used to pass per-page I/O requests to NAND sub-layers. This
|
||||
* way all useful information are already formatted in a useful way and
|
||||
|
@ -106,6 +107,7 @@ struct nand_page_io_req {
|
|||
const void *out;
|
||||
void *in;
|
||||
} oobbuf;
|
||||
int mode;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -599,6 +601,7 @@ static inline void nanddev_io_iter_init(struct nand_device *nand,
|
|||
{
|
||||
struct mtd_info *mtd = nanddev_to_mtd(nand);
|
||||
|
||||
iter->req.mode = req->mode;
|
||||
iter->req.dataoffs = nanddev_offs_to_pos(nand, offs, &iter->req.pos);
|
||||
iter->req.ooboffs = req->ooboffs;
|
||||
iter->oobbytes_per_page = mtd_oobavail(mtd, req);
|
||||
|
|
Loading…
Reference in a new issue