From patchwork Wed Jun 13 06:08:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yogesh Narayan Gaur X-Patchwork-Id: 928677 X-Patchwork-Delegate: boris.brezillon@free-electrons.com 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=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="CpXBy8iO"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="lwCJiVBW"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 415GZ86FLcz9s3C for ; Wed, 13 Jun 2018 16:10:08 +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:Date:Subject:To :From: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=AIUoTBsfBemrdj7oa4+z12PwK69JBAEzmme/GNlHlnw=; b=CpXBy8iOQgSBYH q1xWB8+YpWu8IThndXwQOWmMzecDRWZXvkGWZ0b7RK/Albwe7K1JNa8OcOEo+/XPDQKCBU5kyGtjI WCdf4EnBWIwnUxY9L11qdkG7Cw+itX9WFocvoP5afSmW/5M6IscLUrbkDyEnuvjQL+V5E8bdCzm3c Yb0AY5auW8JWfoZYvGZ8/2nct88Z0UM9k/wt5yxazw69A3Ras3w0xB4gmH2I8XLPFRE/3cwFdg8lB PbpbiGrm2nGJIsKiiiyPpHProxPrj+Bz0fkbdzuOe9tw5jdIVvxtfvc8Ekt+QELdrmLNJq4vLf+Ou VRh+oOIKGP9vD0470hWg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fSyyj-0001Or-MV; Wed, 13 Jun 2018 06:09:57 +0000 Received: from mail-eopbgr50059.outbound.protection.outlook.com ([40.107.5.59] helo=EUR03-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fSyyf-0001NU-VR for linux-mtd@lists.infradead.org; Wed, 13 Jun 2018 06:09:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gh//wxILlwghAkKbK/VQG/ZPAIKnYD/teoCB7miznVc=; b=lwCJiVBW8yDgem1q/7aRbFcANp/3DPwgcDxE4lZEA0iRXIgk18sgVdvPbkFnpOOr35niltQuRo5thqfPJc7EcZd13oiDAGbQb6RKJFtUtdQZkThBKsu3Sjw/LJ8hkWVC9xfU5beLn+842BUqFA7h4LCTEJK4ESx9U4UMJ3E5/Tc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yogeshnarayan.gaur@nxp.com; Received: from idcbfarm.ap.freescale.net (14.142.187.166) by DB6PR0402MB2840.eurprd04.prod.outlook.com (2603:10a6:4:98::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.17; Wed, 13 Jun 2018 06:09:36 +0000 From: Yogesh Gaur To: linux-mtd@lists.infradead.org Subject: [PATCH] mtd: spi-nor: Support controllers with limited TX FIFO size Date: Wed, 13 Jun 2018 11:38:12 +0530 Message-Id: <1528870092-14526-1-git-send-email-yogeshnarayan.gaur@nxp.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: SG2PR06CA0183.apcprd06.prod.outlook.com (2603:1096:4:1::15) To DB6PR0402MB2840.eurprd04.prod.outlook.com (2603:10a6:4:98::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bd5294d4-e87a-43c6-ad26-08d5d0f43fcc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB6PR0402MB2840; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2840; 3:4laBD/48EYmC9dOA/wvMB7hD8nzyddwUic4jlkBKEkh79FhJVWrXSfNuz48hlMCJfEOIHpZreDdJOxdmP1qrNFzNZGJaXap0MbNZgLBnLG4FmAuszPlX7LkbhPZIYQ6YySJwIQMyYFV9RJ12PnOO+mZPsjkyga4FNZ+l4PlSH6otcjA64xtlV3CXUCFHjWiJYND5Zpc+vtN0h5uHQqmgClg2Ia9QRosXk5ahB86PQHzRfQuVuVnwoawaMwmKCSVl; 25:bOuxoYIVQypIs6nzdu+wZ6hRS2QzaDezdFsFWFudOkuovDYUD4WpXXcjp2oxpb56dlgBElkNOFaOVG04YOsyupj9Ycsa50oQ2ljwDW6uLHhVxhjMDqVEMso8cl6lXrl8rWatI+t0JqrofY98cK6N4/tqx1jD3B7K4JOcq+jRYk9Mv1RgDfAXAD9D70RCt+Ach5saW5XABDegFyJz+rll+jT+7uZ2G2hxBYn+ch3BpTIkRtLAuaFcXNX7dx/jFlxVcKEVdo5wtYer5BVbYKz0ClkgklAOHR5CT3ib+OcYjUOafrepNdv2KSuTSpHI8onV59NmfQiVgzLkx6j4LE+8ng==; 31:mYLINWBh1MwRFqo5T90u9B4hhKhV5h1Af0GxHaADDccq+YRPMvc6XtuZgae9bVjVD2nmrNNBBt2+hP56yKBTxL6OHL3Omi1uaFmxEBQ8FdyNnl18muIwZn451XpUK/SkHiSQpB73e3llUR6IYxdth7H5t5O2M1/nSkNUe3X0oghtTsjwUz/rsHrLqyn1K5LWjVpaTIPaVZ9rRcO/2djeG//iOP597tk1ekpGy28gp7U= X-MS-TrafficTypeDiagnostic: DB6PR0402MB2840: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2840; 20:zShxKM+G/2UtSQJKE+Wf4Xg145aRkSuX1PYCE7g06Dd3ryUH7MJ8ncSr/p7wulMPaJo/nT/4bUcNo3xFg9X2Gu1gmhnHvdYuORFFIvE8VtUFi7UoyqHuIXsbA5lt8rI4C7dnfdsaBGp+vFW26JxAWHVJqAGxUXm2Q06G3UcrBgdiTUPFktSQl7mGrahKoakWncOAU6XUDdxmoh9iKWGaUBzPWfqhAhCcDIZmHLq3YdwdXOixEUI2TzoTd8T5c4J+JKugT4EzKMPmbmvy+8J7x/TzioaZ55PNjHJSfAmyyl3j8FfhP9XTPNOr7kTk/fJXXJrFcW2U3sanAsU1XhGczm6Jf/xUMVtYmGGNKKmQ2VSV4SD0sWGQ14T7CKsE1NihqiF0YfFm5YqkMu4G0ThSXonikU1/YXNET2gmUbcAkmwxLxF9qz4a+5ZfDqdQe1mcKZTigNOUQATKxS2TAG7xNJ+MFOD4oRICEonCP15eUVl84YV4gUNOGYS5dkL855zJ; 4:5SZbM7QgR0yR5oc4L4o9k9d4ONiub73/MZMT7XDQIeXAhs7nffBJYmA7s26pkLVF64jhHBqP3NjrE38dsbZgnnC1Fn13ZW0NOwelD+ygW/GCbzWO04igxORKnED1w7PYdoFn26GX208WaO64Kq7DzWOC8jnceUXB05w7mj1HWFni9rw4vq9rqzKUAY38IjGFah1A6/hlmlPQaasims/TsEwrxTSsx59y1XMtqrFI+xXKzYsr4gFLWRLMiVGhw8ch5GVuEgFlyD/5EEuPh/UP+86sDHIDDgWko2scPVJy3SM/CC6KXI6npbI//frVFRbJ1Ag5zh2u4XDDgtNR2RolhUSW8aAV9XeTtSBQEYNw958= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(84791874153150); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:DB6PR0402MB2840; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0402MB2840; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(396003)(39380400002)(39860400002)(376002)(346002)(199004)(189003)(305945005)(6306002)(4326008)(106356001)(6512007)(51416003)(8676002)(2906002)(6666003)(386003)(6506007)(55236004)(25786009)(66066001)(68736007)(52116002)(5660300001)(48376002)(6916009)(81166006)(81156014)(6116002)(6486002)(3846002)(7736002)(50226002)(53936002)(50466002)(2351001)(2361001)(105586002)(47776003)(39060400002)(8936002)(16526019)(86362001)(186003)(97736004)(1857600001)(2616005)(316002)(486006)(26005)(476003)(36756003)(956004)(478600001)(5009440100003)(16586007)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0402MB2840; H:idcbfarm.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0402MB2840; 23:I9LTH1w4w4L+Cm+hF4+WkyeCnx19TO1MrSnSMtU?= HxYBOS9FS2Myo/63oymQo2ADyHF48VdEgRo2yvJZYCfpVMggYbNgy2iT2r9PkXVV0ZD4LYBgBPi1NhKKWvOWEMA3lYDZ/6eiGk4V4YJ0NDT6wQ+xWCmMmsSUT3ihDOTGVOeo4xOPVHVPDVljDZgHWaYStFX9efbNw15f2YHb0QC/Pz1TjCNCO2ky7wLlqo2pXSgFKq/uuNEbpa3ewl0GaIh+se4ZM42SNLRoGrEL+05YZ79YpBAW7OlAxGQ8CauzJb8agqOn6Bn/FPTB1N9OHA2kXjijbjFsqqAR9Ru9X+bMAcixA8seBsXBEKR+erLd9gEFyLhafMbOeMd3DlwedXsLyLho18Wcb5So73zajcHJEvMrof9ACNOF3PIOWj9ph8fXHkFxKidw1qH+hkdi2XjVYpmCdsay83LOdQjqKNReESKRzUSjBrVDuzemjUmqAyuaMRE4JwMD4ubO74PqqTEkfSHqjAst0U2Pi+XzhImRusnNnf2VRTYRrngHo1HSSTbeb8uZCYh9DzCEMcWeNt/BCTs+6tVQkcdeWxBNbnxaCeALtYTBVOIdd0hm/UDib3BrLEN0Gxt2vsI7xW2+JlbNzJ58+caJW9IrHXeLR7iNMSF1di/zRosbulhBmZfWXge4uMew99DjP4hzId9ZP3TLy83MstNdvLzEntpbo+Uo+2x7pe0zi94XF6xVe8+XuWM/kBnRiF7FehDaqKkgoJpa3RKOCG9fJzbB8CmJ4tqDct58j6uI64oAKdAcqjFknWgF9hyuL6rAO19qltVBMr8RmtSoEYvfd08wV4OGum7Gm0POXARMzMcP5gLtiLBD+Cfth6hTLEPo9CHia4eKYHLOG/1TVspu1UacMNPr+hbOn0kI2G3CPZ5iJC6bN/MU9rO7OIpfOgTprnXVdhq3sLGZN2oh+g9amXlky4VaJ4bLuKR0HUpS+vH/g35RGPDrFOxHrTWITBziXqvsD9pyEEa2+WNoyLaMxJolkK4rks09LBUpdv+IsGKgemxe4hDb/a7aKmNAYzNeaDgSXUp93z9R0vwsRpXpzGChus6bjUMt46WBGfq3aVYS5B3hjTJaSswI1Xq09y2cqUQLI9sjKmaLTA7bczgGD2evBxVRuK+yMBoQNYc65S7J1dgwg6v+sYVGkca2naMEBME8uGQUNNtaAd8Byef96Strf1Kx9qsmaWQVvyL8qMilIgcKxsfLD+4NrejrF7bkJF6nWVKMbYOMbZXjd/gdTvtmB7ghRmzuiTWHzBqngrFNSWC5DkingL8I= X-Microsoft-Antispam-Message-Info: XbU+MzrS5SAnLqSDVJ0BAfDLT+llQ7bvMjbJvit3SGTmm4mjSZP3oES7rb8PuXZcdVoDsJNLD8VgeQV4oBopon/ATlu/NQIiG6kr4ABUhSdceEJMXnxmA6HrhMKIa8U9XEWt8F9Ozftdbx1xdEGOj8UEsrrnqU3mWQJxbdq5VHWSYE7LTod4OSPQYQk3X/jE X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2840; 6:y7RiIzOIPeP3lOKbGEvguH7qS3pT5tx5geXsJczLLooJ0XR73jlLFQwRjqlO0p+nVZyU1444RA9pvVbWIZHFG1Pi1/c6KnsNuQpYktlnS0+5iJFe/gJNiB4Ag3U5FWBOzi1CyzFGLhdOdGYeQWt3rP5HHJyrHMxmRJ3oyVUZEYSqDkEVoOFoomFlq6osDYsEV7L7fLpwPSzH6532QzukaSCBcqkkFoJw31+X7fe8ZrURyh/ZWV79Ujibc5YFyLIrkB2Edx893eAp+AdMUsQsORhYCNSSeNlOT7dYQNoAqfqGK1OOQLBqZK/GWuIM6C7sfiYJpb/7160KPNHiVbtbTAnZOxI5/BCSAYPbmeAONupuCxH02MQ2+OsrhZ4mfqQPmTqyxv+l2k7fcFCOrYBOSDi3VfYOBNm+IV9/IKnF2ejAlKspa0V12biEBgpKatAjBDRyXZAWhzTqgEeIGdVWpA==; 5:PmXVsJOUKHmsWZBPrNNXvMolqrRchK4QkBhOTST6u584vYkiyvM73lphvfwl30eHBqP0IFs7wt1I6k3GOGXvU5lLZPMeDubkPPNvEwqY4KZfneWg7AZ7OE+iEa3qyoYOeRZRtoLftkKcUCsOD0kTOjtfYEEmfNCTXbLmZQjIK+Q=; 24:9loRNfpbhc8GcaiZaiPXoGSCCQim6uTcaRlyF8H+W/ITm7+3nP2MklPikLsBmP8axhbdRltf3PnNWZBHD8DiVp/zEQgcGcznJDQqZhSzl8Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2840; 7:nVKE03mvZt33UDjN9k0twv3MMVaiGT0FQjnp0ra/ae8NxTKvolDM/nMbPOAjKI6BQo8IPj48+Epcms+fvW5iVg1dyriBwMEsV2sSEglxMviREAsKVSnC6LJRhpXMDJ3ARgJzuU9zHcQw5K3mUT2UC7KtWllG4R4aDRqMYq60x1Z+XUYk3lAiXOnR7Bthpu0/ykmZLw0pGtxfrcTltNdGRR9CJtAK5IR5RomM1Q0B0qxUAnFkKHdpVelnpFj6i6eO X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 06:09:36.3886 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd5294d4-e87a-43c6-ad26-08d5d0f43fcc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2840 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180612_230954_178527_D5FAF7C8 X-CRM114-Status: UNSURE ( 9.23 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.1 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-0.1 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [40.107.5.59 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 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: Yogesh Gaur , marek.vasut@gmail.com, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, boris.brezillon@bootlin.com, frieder.schrempf@exceet.de, prabhakar.kushwaha@nxp.com, david.wolfe@nxp.com, han.xu@nxp.com, computersforpeace@gmail.com, festevam@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Some SPI controllers can't write nor->page_size bytes in a single step because their TX FIFO is too small. Allow nor->write() to return a size that is smaller than the requested write size to gracefully handle this case. Signed-off-by: Yogesh Gaur --- drivers/mtd/spi-nor/spi-nor.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 5bfa36e..3e63543 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1431,13 +1431,6 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len, goto write_err; *retlen += written; i += written; - if (written != page_remain) { - dev_err(nor->dev, - "While writing %zu bytes written %zd bytes\n", - page_remain, written); - ret = -EIO; - goto write_err; - } } write_err: