From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.bootlin.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fOjab-0002EO-A5 for linux-mtd@lists.infradead.org; Fri, 01 Jun 2018 12:55:31 +0000 Date: Fri, 1 Jun 2018 14:55:16 +0200 From: Boris Brezillon To: David Woodhouse , Brian Norris , Boris Brezillon , Marek Vasut , Richard Weinberger , linux-mtd@lists.infradead.org, Miquel Raynal Cc: Peter Pan , Frieder Schrempf , Vignesh R , Xiangsheng Hou Subject: Re: [PATCH v7 1/5] mtd: nand: Pass mode information to nand_page_io_req Message-ID: <20180601145516.54725217@bbrezillon> In-Reply-To: <20180515150825.19835-2-boris.brezillon@bootlin.com> References: <20180515150825.19835-1-boris.brezillon@bootlin.com> <20180515150825.19835-2-boris.brezillon@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 15 May 2018 17:08:21 +0200 Boris Brezillon wrote: > 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 Applied this one to nand/next. Will send a v8 fixing the issues in other patches. > --- > include/linux/mtd/nand.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h > index 792ea5c26329..abe975c87b90 100644 > --- a/include/linux/mtd/nand.h > +++ b/include/linux/mtd/nand.h > @@ -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);