From patchwork Mon Jun 5 23:22:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 103108 Delivered-To: patch@linaro.org Received: by 10.182.29.35 with SMTP id g3csp1008954obh; Mon, 5 Jun 2017 16:27:17 -0700 (PDT) X-Received: by 10.101.83.143 with SMTP id x15mr13825808pgq.205.1496705237331; Mon, 05 Jun 2017 16:27:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496705237; cv=none; d=google.com; s=arc-20160816; b=u8M9SkicJiaAeG76g5AyIFTYIG3W+q1+kCWGPpxxXNykJTvHy1ENV5o/8YBqc/Uauj wqKuBijqKjYw8pcZWcDZdAqxyDXjXEh4CRCc61lQc5KFYhmiqdi/l2Cn3sYc3m2Vzv2k h69MeesJcrhGGbwPLENbPXWbB1EpUanvwdgEd9lqLfYo+XylRm7MOGhlPycT8R0TB+gX /trSRwgxzRqTLSPeH6Lyd9aWC+j6VwxhLYWwJegGRL1dwyEn2cUSIVqlvyNAvV7bwOMx 6LglObyzET2FtrEHG0mKK4XDLcIEAQ43vQn25xTpyGoqqngWsVEonhgSCD5jbNa9zqCP oW9w== 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=pSQIQQPbnzDx4Brpq0HoAJS6AnQqzqXm60jWxZfUhDs=; b=kDCcbsCqVPahegNhFqCSG2lsWv03PLudX0u4F/Y5H7Xjq6XSIbx/PTF6crex1RwE2Z sdLbh5qTzyl0b+jbJYdXY4LX9aPgoB7xHwQmPKMBXf2QRXzAqUh4WeHgMkZj+DgY+kbv 5ZXGkp70mDUwQthbtj3K+45nQyp/PrQmhQvV/guXtmTQ2RsXWF2XDM0hirfvZ0IigsQy 0Q2ByxXpPgaSKwaWNTct6Wi9DlbMnPWedciTGtMw4v70YXy0qqq1gmkNx58R7FMF2cnw YDM7n4k5Yw5sVjIX2qK2WtjoEMkjw7g7s/XIVjv7Qsp0dgJRk/E/Nf2A/sCyVoQxsdQP ypOA== 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 i7si32017216pfi.233.2017.06.05.16.27.17; Mon, 05 Jun 2017 16:27:17 -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 S1751483AbdFEX0x (ORCPT + 25 others); Mon, 5 Jun 2017 19:26:53 -0400 Received: from conuserg-10.nifty.com ([210.131.2.77]:32327 "EHLO conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751348AbdFEXZX (ORCPT ); Mon, 5 Jun 2017 19:25:23 -0400 Received: from grover.sesame (FL1-118-110-19-204.osk.mesh.ad.jp [118.110.19.204]) (authenticated) by conuserg-10.nifty.com with ESMTP id v55NMD5x004412; Tue, 6 Jun 2017 08:22:54 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com v55NMD5x004412 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1496704975; bh=pSQIQQPbnzDx4Brpq0HoAJS6AnQqzqXm60jWxZfUhDs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qj99ugpepQP3G9SzRNFEUrwBJq4ata2rZJ2P0YFcuLP7N+bHPtquqB3AtOj1Hna1w 25xghXNrnYXI4UXzKap+il5FTJuJ7gFXDTDfvbRoqrCfxqnujdkVf9r85u5Ch5cBHS S/FG60N9aZPJ68WamYaYmDX8to70gfi0Av0QRVixsyc1AFspkimT14XifADUSJIovS Zsg+oaJEMbcMF5yTL4GPkr4D1QlEt/wca4VjyHmSsGuYo2PSRuXFQUWX0EO1ek5ScW d1so5zYgiSA2AwP4uTCxe1SdhvT2i+DWasvxZ5A2BZpNKSBjqw0Oe5zh0zin5Je7we yBdxjZbI5IS3Q== X-Nifty-SrcIP: [118.110.19.204] From: Masahiro Yamada To: linux-mtd@lists.infradead.org Cc: Enrico Jorns , Artem Bityutskiy , Dinh Nguyen , Boris Brezillon , Marek Vasut , Graham Moore , David Woodhouse , Masami Hiramatsu , Chuanxiao Dong , Jassi Brar , Masahiro Yamada , Cyrille Pitchen , linux-kernel@vger.kernel.org, Brian Norris , Richard Weinberger Subject: [PATCH v4 23/23] mtd: nand: denali: enable bad block table scan Date: Tue, 6 Jun 2017 08:22:02 +0900 Message-Id: <1496704922-12261-24-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1496704922-12261-1-git-send-email-yamada.masahiro@socionext.com> References: <1496704922-12261-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 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 f2b1592..5a58bd7 100644 --- a/drivers/mtd/nand/denali.c +++ b/drivers/mtd/nand/denali.c @@ -1263,29 +1263,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) { @@ -1428,13 +1405,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 */