From patchwork Tue Jun 13 13:45:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 105349 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp414933qgd; Tue, 13 Jun 2017 06:49:44 -0700 (PDT) X-Received: by 10.99.147.89 with SMTP id w25mr57485104pgm.24.1497361784715; Tue, 13 Jun 2017 06:49:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497361784; cv=none; d=google.com; s=arc-20160816; b=uzdzaLiYdtnLC7Eh3F9CSY3hVq+ElQExcPxXxB2UxOTxd0btvAn9tpRUryUvShZeiO 3uP5mGFickUfIvxCuflBs35UzUFkDwN/O/EFD1mSefGToivcakRuKeBoW2deu5Dk/U2S ouJX7cwtFK+6wed04m5ciMaoc7EdpznBZGP4miDqqFTza69pdeXnkt5KukFwngr66hOy UXnPvD4RNFkRh5K7uEcQix/MdJlz+Q/3OqLU4RvN/6mT+3CVWPiu8yKeEJUzQH+gUx1I B9093iv8xRykNXoxb/TnWTbgfHQVnyAIjcag3eqdSDzvEycAoIwI0tT+RYvPhmO+gNdm gxrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=47MMYJZHp3YWBRwpRufhAfE3DPy8M2KnIMYglZnJkns=; b=mv79vG/jaAug8Z8rqp2P46U3+EW9c+IypmEXg9AS4VUoo5J8XH3gOX7gJ0HkxXSQav dU2AbdY6SPUdvaS/rzzIM+H+ewNG4Q6RNJ1yr7vut2ZGKXqx+PhnsCCbMwwSgFuIcYzf mtKFyLWLb8k2DIFPtfJFacAU36PvtRLbZjTf5c8DG+2c4itxkVP3Px4T+oC5eDGlBgNM UJxBAvecXFiYji47eGUOn5x8SgTPSItK+yfdzsToLDkdJoz/jDT8ZP3rxF8P//KSbdPA 3l2U67ftYqIM5c0Y5Sl3Cn2quQl5LYzVWnBCQ8PyJkk16iLjwSbqAlExSVNKCq+Ljvm5 /akg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.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 p91si9675522plb.244.2017.06.13.06.49.44; Tue, 13 Jun 2017 06:49:44 -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; dkim=pass header.i=@nifty.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 S1753639AbdFMNsu (ORCPT + 25 others); Tue, 13 Jun 2017 09:48:50 -0400 Received: from conuserg-09.nifty.com ([210.131.2.76]:31217 "EHLO conuserg-09.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753578AbdFMNsl (ORCPT ); Tue, 13 Jun 2017 09:48:41 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-09.nifty.com with ESMTP id v5DDjxj0031338; Tue, 13 Jun 2017 22:46:24 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-09.nifty.com v5DDjxj0031338 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1497361585; bh=47MMYJZHp3YWBRwpRufhAfE3DPy8M2KnIMYglZnJkns=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RdXiAFvUpbhrGyjFB1iN2Wu7S9bouNmexGqGwrEYnVPAUo+Yz7lCxha/FOnYv5WM+ MokLwfG4J9bfYyjo+IaIl7oHShjC+1MqS8FWql6gqLIhApahFEH2ayVvbw3wH6x5AM GKiIK1hUzEGltcWN28DD312vrddJaCFnlRwbQ1SO1YkqTrqHFMqaxAAsjK7z/GGVQC B8aYGaSDIm3h2DLvcD8GDLEOaPjDeqCLWEs53XPTgdR6n+2bQrSZ3vkv2bNU8voP9o BWvXfThiwjQX3SAp5/3/fxehaBOQjaqlufHIRr1bq31GlZ8dBH1v3oycX8i2kc0nNp pLrD97H6domFg== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-mtd@lists.infradead.org Cc: Enrico Jorns , Artem Bityutskiy , Dinh Nguyen , Boris Brezillon , Marek Vasut , David Woodhouse , Masami Hiramatsu , Chuanxiao Dong , Jassi Brar , Masahiro Yamada , Cyrille Pitchen , linux-kernel@vger.kernel.org, Brian Norris , Richard Weinberger Subject: [PATCH v7 15/16] mtd: nand: denali: enable bad block table scan Date: Tue, 13 Jun 2017 22:45:49 +0900 Message-Id: <1497361550-8115-16-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1497361550-8115-1-git-send-email-yamada.masahiro@socionext.com> References: <1497361550-8115-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now this driver is ready to remove NAND_SKIP_BBTSCAN. The BBT descriptors in denali.c are equivalent to the ones in nand_bbt.c. There is no need to duplicate the equivalent structures. The with-oob decriptors do not work for this driver anyway. The bbt_pattern (offs = 8) and the version (veroffs = 12) area overlaps the ECC area. Set NAND_BBT_NO_OOB flag to use the no_oob variant of the BBT descriptors. Signed-off-by: Masahiro Yamada --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: - Newly added drivers/mtd/nand/denali.c | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) -- 2.7.4 diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c index bb2da2fd069e..5ac3eb07c6d6 100644 --- a/drivers/mtd/nand/denali.c +++ b/drivers/mtd/nand/denali.c @@ -1211,29 +1211,6 @@ static const struct mtd_ooblayout_ops denali_ooblayout_ops = { .free = denali_ooblayout_free, }; -static uint8_t bbt_pattern[] = {'B', 'b', 't', '0' }; -static uint8_t mirror_pattern[] = {'1', 't', 'b', 'B' }; - -static struct nand_bbt_descr bbt_main_descr = { - .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE - | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP, - .offs = 8, - .len = 4, - .veroffs = 12, - .maxblocks = 4, - .pattern = bbt_pattern, -}; - -static struct nand_bbt_descr bbt_mirror_descr = { - .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE - | NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP, - .offs = 8, - .len = 4, - .veroffs = 12, - .maxblocks = 4, - .pattern = mirror_pattern, -}; - /* initialize driver data structures */ static void denali_drv_init(struct denali_nand_info *denali) { @@ -1378,13 +1355,9 @@ int denali_init(struct denali_nand_info *denali) * bad block management. */ - /* Bad block management */ - chip->bbt_td = &bbt_main_descr; - chip->bbt_md = &bbt_mirror_descr; - - /* skip the scan for now until we have OOB read and write support */ chip->bbt_options |= NAND_BBT_USE_FLASH; - chip->options |= NAND_SKIP_BBTSCAN; + chip->bbt_options |= NAND_BBT_NO_OOB; + chip->ecc.mode = NAND_ECC_HW_SYNDROME; /* no subpage writes on denali */