Received: by 10.192.165.148 with SMTP id m20csp5574992imm; Wed, 9 May 2018 07:13:21 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqyGUNCSz3+GEZeasmhhpw0/ZWEjmd07jYVCoRgv5KSPSyr+U6kU0++Uyq5AQPuPx7FjrbD X-Received: by 2002:a17:902:d808:: with SMTP id a8-v6mr46017255plz.177.1525875201738; Wed, 09 May 2018 07:13:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525875201; cv=none; d=google.com; s=arc-20160816; b=WKa0eXmEXFjQNPavxGtYe/AN+Mj6BbJsfYNFEMgTG9ZFea1aOgPR1HAALlJh9/DeAA KZtSp3IHI5c2pREJBZuHzUiYtvXictVxWAfA/vPEQjIUu7IBJHeW/X+LCiBj3tbPdSPo g7V+j7EjcG6MEKUuuuKAsYOqP/9yZ6+yLdWJ7BtIUzkXI908HtTGqEyDqbjzAvh/QFym IUut4b1lMwMFiri6VtQ4JUDldoRrAl6M4cjoHMoGVH7zMz2bj/8iIKNn6H3UNbcgQ2vT /s5hfiVtR42m8/frc0pNeDq8Am/G0Jk/YUYDQgq4oK6CbexIIioLNazHxTDId0TPsGix jOLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=sHPpisKhP67V9HdtDFA8sb0uAowjV2JCV6ESHL90luA=; b=iPN4lt+ftnSiu20HJKuHr7rb3ia/imgtn07XuzTQE6Yo3Jmt2kD7zR30NlSugsAqw6 SNbdpy2hKHceQoTwuy5AtoqNeXhnBnpkOLAmfZa+/SqhPebTJvilKnwPd6KV62ag7ZM+ 300IsoUmGeq9R144G7C5L4knp7PQxouoYqoO27d5TWlSQmFKDs7TjwldVMpesVABU0Az Sv0ONwYZ4/pFfGUTFazXSd8vcjevWp8Q7+MnxQBNUcd8+ZdUvVMogXSKbvYs1T6zCX2A vM6bUqyd8XdDXbaKby8rCqcnFFlZOJodEApN8KFogQEk1NzSxKw2A1SremkLmEeNxhL2 b/yA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id az5-v6si15255977plb.369.2018.05.09.07.13.07; Wed, 09 May 2018 07:13:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756603AbeEIOMj (ORCPT + 99 others); Wed, 9 May 2018 10:12:39 -0400 Received: from mail.bootlin.com ([62.4.15.54]:59448 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756594AbeEIOMh (ORCPT ); Wed, 9 May 2018 10:12:37 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id A8265208A6; Wed, 9 May 2018 16:12:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.bootlin.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from bbrezillon (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.bootlin.com (Postfix) with ESMTPSA id 40C53207EA; Wed, 9 May 2018 16:12:25 +0200 (CEST) Date: Wed, 9 May 2018 16:12:25 +0200 From: Boris Brezillon To: Jane Wan Cc: miquel.raynal@bootlin.com, dwmw2@infradead.org, computersforpeace@gmail.com, richard@nod.at, marek.vasut@gmail.com, yamada.masahiro@socionext.com, prabhakar.kushwaha@nxp.com, shawnguo@kernel.org, jagdish.gediya@nxp.com, shreeya.patel23498@gmail.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, ties.bos@nokia.com Subject: Re: [PATCH v4 1/2] mtd: rawnand: fsl_ifc: fix FSL NAND driver to read all ONFI parameter pages Message-ID: <20180509161225.218fe332@bbrezillon> In-Reply-To: <1525814394-30067-1-git-send-email-Jane.Wan@nokia.com> References: <1525814394-30067-1-git-send-email-Jane.Wan@nokia.com> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 8 May 2018 14:19:53 -0700 Jane Wan wrote: > Per ONFI specification (Rev. 4.0), if the CRC of the first parameter page > read is not valid, the host should read redundant parameter page copies. > Fix FSL NAND driver to read the two redundant copies which are mandatory > in the specification. > > Signed-off-by: Jane Wan I'm gonna take this patch, but I'd like to make it clear: this is the last time I accept fixes touching fsl_ifc_cmdfunc() for bugs that could have been addressed by switching to ->exec_op() (note that I had a look at a freescale datasheet, and I'm now 100% sure this driver can be converted to ->exec_op()). > --- > drivers/mtd/nand/raw/fsl_ifc_nand.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c > index 61aae02..98aac1f 100644 > --- a/drivers/mtd/nand/raw/fsl_ifc_nand.c > +++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c > @@ -342,9 +342,16 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command, > > case NAND_CMD_READID: > case NAND_CMD_PARAM: { > + /* > + * For READID, read 8 bytes that are currently used. > + * For PARAM, read all 3 copies of 256-bytes pages. > + */ > + int len = 8; > int timing = IFC_FIR_OP_RB; > - if (command == NAND_CMD_PARAM) > + if (command == NAND_CMD_PARAM) { > timing = IFC_FIR_OP_RBCD; > + len = 256 * 3; > + } > > ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) | > (IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) | > @@ -354,12 +361,8 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command, > &ifc->ifc_nand.nand_fcr0); > ifc_out32(column, &ifc->ifc_nand.row3); > > - /* > - * although currently it's 8 bytes for READID, we always read > - * the maximum 256 bytes(for PARAM) > - */ > - ifc_out32(256, &ifc->ifc_nand.nand_fbcr); > - ifc_nand_ctrl->read_bytes = 256; > + ifc_out32(len, &ifc->ifc_nand.nand_fbcr); > + ifc_nand_ctrl->read_bytes = len; > > set_addr(mtd, 0, 0, 0); > fsl_ifc_run_command(mtd);