Received: by 10.192.165.148 with SMTP id m20csp69505imm; Wed, 9 May 2018 08:56:58 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoHvvuJkLg6zfN5yKJLuP/VTMkoTygh2ScvU/XV3As7QlmfANbgurXz+KZrgNkKpQhd+WdM X-Received: by 2002:a63:86c8:: with SMTP id x191-v6mr2521198pgd.321.1525881418822; Wed, 09 May 2018 08:56:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525881418; cv=none; d=google.com; s=arc-20160816; b=KJbxiduB066qg4B/Q9ufO3e8t4kOELNUGK+wF6EiCiD/sEXT95EWcfth0JynMz4aqa aZd+lMx0ZyvdlSykutF3GCnaCfTRMLuXXhQ7WMz5rf4bzDCh77G2i0X3MzhHF02mDQpu nulCRy+tKeok3a4AaG+fch2mLcDnSA5CFfiJBZVL/azjQpdirHuvxmRxViS4XHrJVWbq 1UUvge8cIGQqObnPnrUHEtBJBxEH4xNOe+MN5w719VKkiCHkF7l4ZMG4Ft1olgsklGmJ IUExfBFF/gXcPVDBR1htWSzHw2J6dbRDRrSIFwcoHj2UTfKCpt4NcP7/p+JBJrTR7qrT JRjg== 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=GNS2skxb7A+/bbPSXnEVJ22zen0y5SJy+ueB/eAvlmM=; b=OMBDKssBV5OTgTp9Nvls4IV1tdSfhBbq03JJLwQZdIFLRCxgb4LRhX8GN3RdAp/dNa PhIrqzmfmRM0lbM+HQoFxVl8wwNWBApTz4svK6Wtl0lu/KNK4skayX+pFvHgHSthOF8X Hk1A+3UO+8kU7sqih6fKDNl2X+ST706ORG0pnP07DOAeSLW4+y7x8XUGTfUiRjxhSVOK BD0BSnU6X00NJHwe0s8jGSSoFWd5u0k3UVDxUN6nunoEQFQNavMxpHOTt9++Zfu1o3bU mHVrn6mEJRE2OWclT85coajCtp182ZF8SDhSYrwAVGnMgL/x17ALbavUFvEBOGFQMoNM 6ZIw== 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 u17-v6si26936189plj.182.2018.05.09.08.56.43; Wed, 09 May 2018 08:56:58 -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 S965275AbeEIPzy (ORCPT + 99 others); Wed, 9 May 2018 11:55:54 -0400 Received: from mail.bootlin.com ([62.4.15.54]:34880 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964984AbeEIPzw (ORCPT ); Wed, 9 May 2018 11:55:52 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id 88C2320720; Wed, 9 May 2018 17:55:50 +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 shortcircuit=ham autolearn=disabled version=3.4.0 Received: from bbrezillon (unknown [91.160.177.164]) by mail.bootlin.com (Postfix) with ESMTPSA id 2D4A120756; Wed, 9 May 2018 17:55:40 +0200 (CEST) Date: Wed, 9 May 2018 17:55:39 +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, ties.bos@nokia.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 1/2] mtd: rawnand: fsl_ifc: fix FSL NAND driver to read all ONFI parameter pages Message-ID: <20180509175539.5791831e@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 Applied. Thanks, Boris > --- > 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);