From patchwork Sat Jul 13 21:42:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 1131658 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="QI31nAK9"; 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 45mNZn325zz9s7T for ; Sun, 14 Jul 2019 07:43:24 +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=vRYBIP18j3iLFCjRZ5ozS/8jCdS8w4X21yGZpA4H7U8=; b=QI31nAK9c0IoZ/ gE3OyGw4B/B9BQSFkHkW2uqZ/JZo7dslUFuUEVv0LENhf0YsAmXUV+AJBLVV0DDH5ZJxodW2HhkOU sYxyH1XImrueXWTWiD7gh7aJcEQD1dfhP55Wo3ndD/d93eryJQztZBRQHMIpKCT1axCrDQOQbdqty z+XHBHy5pIUlYEcCpeGaz9jFSkyI3fAdWW+dSKMh7HWs/tsBEfaahyxDELgm3BmmRO+9e8BCoF+gy eDqUBE6B+5aP/POLtGf0vSk5euHuCGbgTwnFMLTn/qAmV44wy8HXykyFz3rKl2fp97VPD3MYj1sr+ qD70UqBufRqvDd7yzjnQ==; 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 1hmPnZ-0004Bm-Ji; Sat, 13 Jul 2019 21:43:17 +0000 Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hmPnV-0004B8-Dh for linux-mtd@lists.infradead.org; Sat, 13 Jul 2019 21:43:15 +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 53E486000A; Sat, 13 Jul 2019 21:43:00 +0000 (UTC) Date: Sat, 13 Jul 2019 23:42:58 +0200 From: Miquel Raynal To: Linus Torvalds Subject: [GIT PULL] mtd: Changes for 5.3 Message-ID: <20190713234258.413d71e9@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-20190713_144313_780726_D2548232 X-CRM114-Status: GOOD ( 21.54 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -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_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [217.70.183.195 listed in wl.mailspike.net] 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: Richard Weinberger , 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 Linus, This is the MTD PR for 5.3. Because of treewide changes, you will encounter conflicts when merging the PR, here are the details. 1/ The first conflict is in drivers/mtd/spi-nor/stm32-quadspi.c between commit caab277b1de0 ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234") and commit "df6bd6c002a4 mtd: spi-nor: stm32: remove the driver as it was replaced by spi-stm32-qspi.c". -> The fix is to remove drivers/mtd/spi-nor/stm32-quadspi.c as the driver was replaced by spi-stm32-qspi.c 2/ The second conflict is in: drivers/mtd/spi-nor/intel-spi-pci.c drivers/mtd/spi-nor/intel-spi-platform.c drivers/mtd/spi-nor/intel-spi.c drivers/mtd/spi-nor/intel-spi.h include/linux/platform_data/intel-spi.h between commit d2912cb15bdd ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500") and commit 62de37da9f38 ("mtd: spi-nor: intel-spi: Convert to use SPDX identifier"). -> The fix is to keep the SPDX treewide change. 3/ Finally, there is a conflict in drivers/mtd/nand/raw/mtk_ecc.h between commit d2912cb15bdd ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500") and commit "mtd: rawnand: mtk: Re-license MTK NAND driver as Dual MIT/GPL". -> There, the fix is to keep the new license (dual MIT/GPL). 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/mtd/for-5.3 for you to fetch changes up to 46ce10df799fb0647a9c0e3f793e66463a8d6773: Merge tag 'spi-nor/for-5.3-v2' of gitolite.kernel.org:pub/scm/linux/kernel/git/mtd/linux into mtd/next (2019-07-07 22:53:15 +0200) ---------------------------------------------------------------- This pull-request contains the following changes for MTD: MTD core changes: - New Hyperbus framework - New _is_locked (concat) implementation - Various cleanups 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 SPI-NOR core changes: - add support for the mt25ql02g and w25q16jv flashes - print error in case of jedec read id fails - is25lp256: add post BFPT fix to correct the addr_width SPI NOR controller drivers changes: - intel-spi: Add support for Intel Elkhart Lake SPI serial flash - smt32: remove the driver as the driver was replaced by spi-stm32-qspi.c - cadence-quadspi: add reset control ---------------------------------------------------------------- Amelie Delaunay (1): mtd: rawnand: stm32_fmc2: increase DMA completion timeouts Andrey Smirnov (1): mtd: spi-nor: Add Micron MT25QL02 support Chris Packham (3): mtd: cfi_cmdset_0002: dynamically determine the max sectors mtd: concat: refactor concat_lock/concat_unlock mtd: concat: implement _is_locked mtd operation Colin Ian King (1): mtd: rawnand: gpmi: remove double assignment to block_size Ding Xiang (1): mtd: afs: remove unneeded NULL check Dinh Nguyen (2): dt-bindings: cadence-quadspi: add options reset property mtd: spi-nor: cadence-quadspi: add reset control Fabien Dessenne (1): mtd: rawnand: stm32_fmc2: manage the get_irq error case Flavio Suligoi (1): mtd: spi-nor: change "error reading JEDEC id" from dbg to err Fuqian Huang (1): mtd: rawnand: Use kzalloc() instead of kmalloc() and memset() Geert Uytterhoeven (1): mtd: spi-nor: Spelling s/Writ/Write/ 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 Liu Xiang (1): mtd: spi-nor: fix nor->addr_width when its value configured from SFDP does not match the actual width Ludovic Barre (1): mtd: spi-nor: stm32: remove the driver as it was replaced by spi-stm32-qspi.c Masahiro Yamada (1): mtd: abi: do not use C++ style comments in uapi header Mason Yang (1): mtd: rawnand: Add Macronix NAND read retry support Mika Westerberg (2): mtd: spi-nor: intel-spi: Add support for Intel Elkhart Lake SPI serial flash mtd: spi-nor: intel-spi: Convert to use SPDX identifier Miquel Raynal (1): Merge tag 'spi-nor/for-5.3-v2' of gitolite.kernel.org:pub/scm/linux/kernel/git/mtd/linux into mtd/next Richard Weinberger (1): Merge tag 'nand/for-5.3' of git://git.kernel.org/.../mtd/linux into mtd/next Robert Marko (1): mtd: spi-nor: Add Winbond w25q16jv 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 Vignesh Raghavendra (5): mtd: cfi_cmdset_0002: Add support for polling status register dt-bindings: mtd: Add binding documentation for HyperFlash mtd: Add support for HyperBus memory devices dt-bindings: mtd: Add bindings for TI's AM654 HyperBus memory controller mtd: hyperbus: Add driver for TI's HyperBus memory controller 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 +- .../devicetree/bindings/mtd/cadence-quadspi.txt | 5 + .../devicetree/bindings/mtd/cypress,hyperflash.txt | 13 + Documentation/devicetree/bindings/mtd/stm32-quadspi.txt | 43 - Documentation/devicetree/bindings/mtd/ti,am654-hbmc.txt | 51 + MAINTAINERS | 8 + drivers/dma/mxs-dma.c | 25 +- drivers/mtd/Kconfig | 2 + drivers/mtd/Makefile | 1 + drivers/mtd/chips/cfi_cmdset_0002.c | 143 +- drivers/mtd/hyperbus/Kconfig | 23 + drivers/mtd/hyperbus/Makefile | 4 + drivers/mtd/hyperbus/hbmc-am654.c | 147 ++ drivers/mtd/hyperbus/hyperbus-core.c | 153 ++ drivers/mtd/mtdconcat.c | 93 +- 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 ++ drivers/mtd/parsers/afs.c | 3 +- drivers/mtd/spi-nor/Kconfig | 7 - drivers/mtd/spi-nor/Makefile | 1 - drivers/mtd/spi-nor/cadence-quadspi.c | 21 + drivers/mtd/spi-nor/intel-spi-pci.c | 6 +- drivers/mtd/spi-nor/intel-spi-platform.c | 5 +- drivers/mtd/spi-nor/intel-spi.c | 5 +- drivers/mtd/spi-nor/intel-spi.h | 5 +- drivers/mtd/spi-nor/spi-nor.c | 37 +- drivers/mtd/spi-nor/stm32-quadspi.c | 720 --------- include/linux/dma/mxs-dma.h | 24 + include/linux/mtd/cfi.h | 7 + include/linux/mtd/hyperbus.h | 84 ++ 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 +- include/linux/platform_data/intel-spi.h | 5 +- include/uapi/mtd/mtd-abi.h | 10 +- 53 files changed, 2669 insertions(+), 2565 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/cypress,hyperflash.txt delete mode 100644 Documentation/devicetree/bindings/mtd/stm32-quadspi.txt create mode 100644 Documentation/devicetree/bindings/mtd/ti,am654-hbmc.txt create mode 100644 drivers/mtd/hyperbus/Kconfig create mode 100644 drivers/mtd/hyperbus/Makefile create mode 100644 drivers/mtd/hyperbus/hbmc-am654.c create mode 100644 drivers/mtd/hyperbus/hyperbus-core.c delete mode 100644 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c create mode 100644 drivers/mtd/nand/spi/paragon.c delete mode 100644 drivers/mtd/spi-nor/stm32-quadspi.c create mode 100644 include/linux/dma/mxs-dma.h create mode 100644 include/linux/mtd/hyperbus.h