From patchwork Fri Jan 6 17:19:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "mar.krzeminski" X-Patchwork-Id: 712056 X-Patchwork-Delegate: cyrille.pitchen@atmel.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3twBBK6BfYz9ryv for ; Sat, 7 Jan 2017 04:19:53 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KWsRQf1h"; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cPYBB-0005aE-IN; Fri, 06 Jan 2017 17:19:49 +0000 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cPYAy-000589-2s for linux-mtd@lists.infradead.org; Fri, 06 Jan 2017 17:19:37 +0000 Received: by mail-lf0-x244.google.com with SMTP id j75so6523725lfe.3 for ; Fri, 06 Jan 2017 09:19:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zr/OBKOUwJknrVATCIblYyrBsAhJY07erpu2KTMi1HQ=; b=KWsRQf1hdMU0UfWXLQfvUc7AU7+i5G3lYGY++vtMG11jIoI1pfyqoBjohgJz/6Sh/M HTBNM5W0MVKflKk6iqB0dElml0JwWBgzKS4knIeIjo8h+cYQBDFYcfZiJCQ1q4gI74bJ Ep/q3qY9tsiT/2IJiUrSXpaXhMshjYRH67XkakwDPNWPkTJBOjzP9wMhQl4uV7enEu5l Y/JGn39JsgamVzU98dxnXKU7vSCa6hdcnFivVuCxjne7S8NEGcLfcOeCohwCjAUFoEVA ZkPjtCBhK8HeUgPM7d8CCzWmVUIwSjNidLJH6fuT2cYpjeDtWvfyj1UD87FQEPMwoAbL G+mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zr/OBKOUwJknrVATCIblYyrBsAhJY07erpu2KTMi1HQ=; b=Fmy3HbZKy9EW+h16AKM+jLJRZcoET7/xJe4bQqRySjZv17jZWSF3GH5jy816bCBXhC 5zCiP0fn/Omtnw93eYj7N0dOuZBIbZn5YAvqSxDk4wlmFly7c5ioob7VIUVORWAIVzjn qDQCrSXQwvUBlpmBr4Mbt620+EVzE1SBxnQUEFXnJbExM5DREUh46mxPMviuJnvDd9G1 0wwPgOD6L8O+KGjD+tnm5DLZfkfDH45UMJ2Jjhz3zjUzkru3CffOQur/TgE5HF4BXBMg rwVvWtWuPPV6ZB1OM6stFMyI1F1xUTdK1iPqL8EuWGi2XZsbLIskp4pJxtsF5UH19OX/ 2uKg== X-Gm-Message-State: AIkVDXJxbbgDJ+3A8udiG8Lr78c+2wpiCABHpQulEjLN4ayio3y/5+u1+yA/QQYzpOEsPQ== X-Received: by 10.25.202.9 with SMTP id a9mr30300877lfg.161.1483723153912; Fri, 06 Jan 2017 09:19:13 -0800 (PST) Received: from localhost.localdomain (89-78-94-50.dynamic.chello.pl. [89.78.94.50]) by smtp.gmail.com with ESMTPSA id o91sm12411061lfg.17.2017.01.06.09.19.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Jan 2017 09:19:13 -0800 (PST) From: Marcin Krzeminski To: cyrille.pitchen@atmel.com, marek.vasut@gmail.com, linux-mtd@lists.infradead.org Subject: [PATCH v4 1/2] mtd: spi-nor: Fix whole chip erasing for stacked chips. Date: Fri, 6 Jan 2017 18:19:00 +0100 Message-Id: <20170106171901.27565-2-mar.krzeminski@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170106171901.27565-1-mar.krzeminski@gmail.com> References: <20170106171901.27565-1-mar.krzeminski@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170106_091936_314554_B013AE7C X-CRM114-Status: GOOD ( 10.54 ) X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:4010:c07:0:0:0:244 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mar.krzeminski[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, dwmw2@infradead.org, mar.krzeminski@gmail.com MIME-Version: 1.0 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Currently it is possible to disable chip erase for spi-nor driver. Some modern stacked (multi die) flash chips do not support chip erase opcode at all but spi-nor framework needs to cope with them too. This commit extends existing functionality to allow disable chip erase for a single flash chip. Signed-off-by: Marcin Krzeminski --- drivers/mtd/spi-nor/spi-nor.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 2a643a1..595de54 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -85,6 +85,7 @@ struct flash_info { * Use dedicated 4byte address op codes * to support memory size above 128Mib. */ +#define NO_CHIP_ERASE BIT(12) /* Chip does not support chip erase */ }; #define JEDEC_MFR(info) ((info)->id[0]) @@ -1621,6 +1622,8 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode) nor->flags |= SNOR_F_USE_FSR; if (info->flags & SPI_NOR_HAS_TB) nor->flags |= SNOR_F_HAS_SR_TB; + if (info->flags & NO_CHIP_ERASE) + nor->flags |= SNOR_F_NO_OP_CHIP_ERASE; #ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS /* prefer "small sector" erase if possible */