From patchwork Fri Jul 5 21:56:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 1128314 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JsGcJABJ"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="OE2whsXy"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45gTGx6SLlz9sNH for ; Sat, 6 Jul 2019 07:57:45 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:To:From :Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=ZLHbqraxZn0PzRtJTrqwiwkUtt9ziic7w1pQQ3FMDnY=; b=JsGcJABJ+NaQEv 73dt9UiEb2O5dZdEnFqgKYJeYczjbm52FtVTCtb7FkGAaGeRR+DfturHw68ueWoVkpzGaI4zjphJe qYbA9273yr4cZncxrTaSIZ7GwU2nmlgd9a+1N7iY5PR6d++L8AWa9/52j9MZeSGdShrzefHRkMykl KN+2jeUXhX+phH2JHw86bSGKXvz6Y9ek+bHicuCU1OhD5xcvgtgrub9OnH9dQpq3R5E/pTgxmdTET /XjVCzpEbwwPOehSGb5mvoQxcReDCeKxmEwM7qxSIYqZpvcoBC1EFu0kDfEOLX6aVNZbKnpfwP6bK 4nB5aCcDY6AVjvZ9030Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hjWD6-0000T2-Np; Fri, 05 Jul 2019 21:57:40 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hjWD4-0000Sq-CS for linux-mtd@bombadil.infradead.org; Fri, 05 Jul 2019 21:57:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=KI2hQTPUEBfESODIP4uAPwfd44C5nxVjOj7bJbqjNzk=; b=OE2whsXypHArcmtqYvtBezkGGR FKAEaK2Zat+UXPVwyyawWPKYIKE16YTdG2ur1FyNunUzaRkccYoBgCSyjZUdnQ0LXlqkturXqqWVz OF1Ios3O76LzcYLiTxjbOOc+w/clth7/R4ftmGQMDuO2vzswSDVAynZxt+kWEWgi6uMJHCQNmOZxT yP/g/PDN3l4223uqtsjM78i7fEnVFFu2OxiAZt6k5REtaOHGuQ6IND0D4VPHuolIh4PoPVbIK1y9a BH6KJK1WjLzBIH1iR5gzm/pgL2XzZQxA4N5iHkSS8ibz+1RKz4+PRuS1bJT28HupaUAW/0Uk6bWti vGQONh0w==; Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by casper.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hjWD6-0005cU-Ss for linux-mtd@lists.infradead.org; Fri, 05 Jul 2019 21:57:42 +0000 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id F1C5A60003; Fri, 5 Jul 2019 21:56:52 +0000 (UTC) Date: Fri, 5 Jul 2019 23:56:49 +0200 From: Miquel Raynal To: Richard Weinberger Subject: [GIT PULL] mtd: nand: Changes for 5.3 Message-ID: <20190705235649.72b513b1@xps13> Organization: Bootlin X-Mailer: Claws Mail 3.17.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190705_225740_992571_A8BA8169 X-CRM114-Status: GOOD ( 15.15 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.2 on casper.infradead.org summary: Content analysis details: (-0.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.1 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [217.70.183.195 listed in wl.mailspike.net] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [217.70.183.195 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Frieder Schrempf , linux-mtd@lists.infradead.org, Vignesh Raghavendra , Tudor Ambarus Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Hello, This is the NAND PR for 5.3. Thanks, Miquèl The following changes since commit f2c7c76c5d0a443053e94adb9f0918fa2fb85c3a: Linux 5.2-rc3 (2019-06-02 13:55:33 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/nand/for-5.3 for you to fetch changes up to bce9437a0a48dd5e19490f56e1cdc39a9be5563c: mtd: rawnand: stm32_fmc2: increase DMA completion timeouts (2019-06-28 12:01:53 +0200) ---------------------------------------------------------------- NAND core changes: - use longest matching pattern in ->exec_op() default parser - export NAND operation tracer - add flag to indicate panic_write in MTD - use kzalloc() instead of kmalloc() and memset() Raw NAND controller drivers changes: - brcmnand: * fix BCH ECC layout for large page NAND parts * fallback to detected ecc-strength, ecc-step-size * when oops in progress use pio and interrupt polling * code refactor code to introduce helper functions * add support for v7.3 controller - FSMC: * use nand_op_trace for operation tracing - GPMI: * move all driver code into single file * various cleanups (including dmaengine changes) * use runtime PM to manage clocks * implement exec_op - MTK: * correct low level time calculation of r/w cycle * improve data sampling timing for read cycle * add validity check for CE# pin setting * fix wrongly assigned OOB buffer pointer issue * re-license MTK NAND driver as Dual MIT/GPL - STM32: * manage the get_irq error case * increase DMA completion timeouts Raw NAND chips drivers changes: - Macronix: add read-retry support Onenand driver changes: - add support for 8Gb datasize chips - avoid fall-through warnings SPI-NAND changes: - define macros for page-read ops with three-byte addresses - add support for two-byte device IDs and then for GigaDevice GD5F1GQ4UFxxG - add initial support for Paragon PN26G0xA - handle the case where the last page read has bitflips ---------------------------------------------------------------- Amelie Delaunay (1): mtd: rawnand: stm32_fmc2: increase DMA completion timeouts Colin Ian King (1): mtd: rawnand: gpmi: remove double assignment to block_size Fabien Dessenne (1): mtd: rawnand: stm32_fmc2: manage the get_irq error case Fuqian Huang (1): mtd: rawnand: Use kzalloc() instead of kmalloc() and memset() Gustavo A. R. Silva (1): mtd: onenand: Avoid fall-through warnings Jeff Kletsky (4): mtd: spinand: Define macros for page-read ops with three-byte addresses mtd: spinand: Add support for two-byte device IDs mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG mtd: spinand: Add initial support for Paragon PN26G0xA Jonathan Bakker (1): mtd: onenand: Add support for 8Gb datasize onenand Kamal Dasu (8): mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts dt-bindings: mtd: brcmnand: Make nand-ecc-strength and nand-ecc-step-size optional mtd: rawnand: brcmnand: fallback to detected ecc-strength, ecc-step-size mtd: Add flag to indicate panic_write mtd: rawnand: brcmnand: When oops in progress use pio and interrupt polling mtd: rawnand: brcmnand: Refactored code to introduce helper functions mtd: rawnand: brcmnand: Add support for v7.3 controller dt-bindings: mtd: brcmnand: Add brcmnand, brcmnand-v7.3 support Mason Yang (1): mtd: rawnand: Add Macronix NAND read retry support Sascha Hauer (14): mtd: rawnand: export NAND operation tracer mtd: rawnand: fsmc: Use nand_op_trace for operation tracing mtd: rawnand: gpmi: move all driver code into single file mtd: rawnand: gpmi: remove unused variable mtd: rawnand: gpmi: Remove unnecessary variables mtd: rawnand: gpmi: read buf in nand_read_page_op mtd: rawnand: gpmi: remove unused parameters mtd: rawnand: gpmi: Drop unnecessary restoring of previous chipselection mtd: rawnand: gpmi: use runtime PM to manage clocks dmaengine: mxs: Drop unnecessary flag mtd: rawnand: gpmi: drop unnecessary flag dmaengine: mxs: Add header file to be shared with gpmi nand driver dmaengine: mxs: rename custom flag mtd: rawnand: gpmi: Implement exec_op Stefan Agner (1): mtd: rawnand: use longest matching pattern Xiaolei Li (5): mtd: rawnand: mtk: Correct low level time calculation of r/w cycle mtd: rawnand: mtk: Improve data sampling timing for read cycle mtd: rawnand: mtk: Add validity check for CE# pin setting mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue mtd: rawnand: mtk: Re-license MTK NAND driver as Dual MIT/GPL liaoweixiong (1): mtd: spinand: read returns badly if the last page has bitflips Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt | 5 +- drivers/dma/mxs-dma.c | 25 +- drivers/mtd/mtdcore.c | 3 + drivers/mtd/nand/onenand/onenand_base.c | 5 + drivers/mtd/nand/raw/brcmnand/brcmnand.c | 263 +++- drivers/mtd/nand/raw/fsmc_nand.c | 19 +- drivers/mtd/nand/raw/gpmi-nand/Makefile | 1 - drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c | 934 ------------ drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 1731 +++++++++++++++------- drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h | 64 +- drivers/mtd/nand/raw/mtk_ecc.c | 4 +- drivers/mtd/nand/raw/mtk_ecc.h | 4 +- drivers/mtd/nand/raw/mtk_nand.c | 88 +- drivers/mtd/nand/raw/nand_base.c | 80 +- drivers/mtd/nand/raw/nand_bch.c | 3 +- drivers/mtd/nand/raw/nand_macronix.c | 45 + drivers/mtd/nand/raw/stm32_fmc2_nand.c | 21 +- drivers/mtd/nand/spi/Makefile | 2 +- drivers/mtd/nand/spi/core.c | 5 +- drivers/mtd/nand/spi/gigadevice.c | 81 +- drivers/mtd/nand/spi/paragon.c | 147 ++ include/linux/dma/mxs-dma.h | 24 + include/linux/mtd/mtd.h | 6 + include/linux/mtd/onenand_regs.h | 1 + include/linux/mtd/rawnand.h | 36 + include/linux/mtd/spinand.h | 35 +- 26 files changed, 1935 insertions(+), 1697 deletions(-) delete mode 100644 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c create mode 100644 drivers/mtd/nand/spi/paragon.c create mode 100644 include/linux/dma/mxs-dma.h