From nobody Mon Feb 9 18:52:25 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020122.outbound.protection.outlook.com [52.101.69.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BEC223373D; Mon, 4 Aug 2025 19:21:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.122 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335311; cv=fail; b=fI8FW7ZK/JsdZ/hYvwEzvgInauvQgqLB38p862+jhKcnmui3hVKJ5h64bhhoWv0Hco6Pt/YjLwHzOL5/ZUxz9YfOvkU0RAyoZhzEQQdpsMMhfQkA0fW2N3AaSenGJlaQ2IJp4igGupWnfRYqF61tf/3L9cWaVI8ynV9iL1/pM1c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335311; c=relaxed/simple; bh=GxzkJZqVV5f89LXuc/29VDCh/LRT1YyYzT1otNiWoLc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=NNseT5EwbxwrSqkGL+NGear/msJto5iGcFenh7bHnX1q67RPeKexgmVV/jyFoV6hGiXmv82mx0rb2GZWxeOUBTFrpeLgtn/6acfoG6aCINcZK0U3SEROorh/VIs4Nt3I7Oy37iyx94XR/QbJADe0gRtjNmdHWvzF/+910jsArU4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu; spf=pass smtp.mailfrom=genexis.eu; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b=jxILdh/W; arc=fail smtp.client-ip=52.101.69.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=genexis.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b="jxILdh/W" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JRo90yzXW2Ef999jaYjNJN+S/7WpRUHNxzQNF6a2ifFrz1wYjI8z0wM7p+2Hb2Ketc4bb5me9a6eMD52xD9yLxUOJRE+pqQdyjaTekHselfAvT4ezT1LgHXLk6twIYYRTDkjbWmjvAo1pXZXslOU3eHWYmy4NlM/vdPhBD8EEwlucRArzvTu46IlFcv4eHkKtueUOn9nMhquManxyPbm7N+XmhXzKqZMO46uJZtn8JdcoCXBUEJu9mfc1IVXe1pCVFj5uI64vv8MOOkhFqKlJ60uLH48+crJ43WHCm6ftalSxtT8A7HTm1M+n9LVQr58PZ4rdHmqV3lAqQeZCm/oaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vkgThLF+kcjzUNTmCPXJceKxHzl2DBmQRyw5RMCTthg=; b=rpEDVL0eO15NQ/zxi7eo5BLzjjipb5PQn+kcqGNygFwFJTEc1ZFk/reaVyxXUZaDMIAHECKYRCGm556Kny3UzlfYDoZMxQs6MNLItFpkRVLY22PVBcbjoAgM58iNuioOrQri+uuZ0mxGvTekmCy/3S3THqLvHxaSfWJ182/V0v9Pce48SZL/qZDfAHahhffAWUx+MVI2vmlGOqzeDKM6JdnCDAcMnbmEIknCiGIrPRFE7OoOOfb9y3VSHnXQXkyk6E31Fz12Odt3v6Z9ujaCq/hvvFIsmpJbu9pT+WEQmsA73Uqymf8Doo3+yJDdpWbjnm4JENHHpMoPLA8NDMMBTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=genexis.eu; dmarc=pass action=none header.from=iopsys.eu; dkim=pass header.d=iopsys.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iopsys.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vkgThLF+kcjzUNTmCPXJceKxHzl2DBmQRyw5RMCTthg=; b=jxILdh/Wlm05y+6IHbMxSDNi1vHf/OdK+okUeXRizo2OgFadMrxfWaEDth/Y5fhbOYS5PzdL//ylNq/yo3BhpiWU2ILa9foqRts1RWAWPpkLEXHOCc/VQ/e13xOE0EPrFVXOLcr2mOwoCH6Tsnf6VIG0hrYTlQQdXKpH/rV4BEeloifBVz5eCzjjrMSheBeozU//KwR/Fe5inCab/6r5WLO0tHoBGVs7UKkkGzcedjC42qTkr/1jjxuy+eZGRwiH8oG85o+z1JL+errxPpoSKhGjBW7a5BdnfUhg7sEkCzGkcUiMXCAsK6aZvB6REiaC65lbxQXvcSgzHfYtoo1SIA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iopsys.eu; Received: from GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) by DBBPR08MB10844.eurprd08.prod.outlook.com (2603:10a6:10:538::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.27; Mon, 4 Aug 2025 19:21:43 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%4]) with mapi id 15.20.8989.018; Mon, 4 Aug 2025 19:21:43 +0000 From: Mikhail Kshevetskiy To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Lorenzo Bianconi , Ray Liu , Mark Brown , Tudor Ambarus , Martin Kurbanov , Takahiro Kuwano , Cheng Ming Lin , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org Cc: Mikhail Kshevetskiy Subject: [PATCH 1/4] drivers: mtd: spi-nand: fix direct mapping creation sizes. Date: Mon, 4 Aug 2025 22:21:29 +0300 Message-ID: <20250804192132.1406387-2-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> References: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0219.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::9) To GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR08MB8121:EE_|DBBPR08MB10844:EE_ X-MS-Office365-Filtering-Correlation-Id: ee90a7fd-bee9-4b28-76bd-08ddd38c2568 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|7416014|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QLTxEfzlwzseiTCbJrpDdEF/LgKNb5J4K1u160gh4Hiog+PKvSLxQGKBJsV8?= =?us-ascii?Q?goMYo45Yi1LpSdkPItL/mNCJjDoUm6/+ztiR+rUjpJgVl2NyNQxo/wOqX8PD?= =?us-ascii?Q?ODiZ1sotpuCcBvaczP0/W6ULjXUr3wjxDNPD7r1ibrU5WaiDPop2yPPo8l9T?= =?us-ascii?Q?MnWlsTr3z2IgB8qgRCcdVCL/4XvDtvQMvBVAIM50Eg46gGmhZOHydHPAKtwO?= =?us-ascii?Q?yqDTguqL5P0nCsY1KDGiCcWYzpnrlWtKsZA/DEi5+OWaM/2+wx1cpsQk74Zm?= =?us-ascii?Q?ZjKWlhmNi6jNic5U1lh85R0Yc9N4n6G6YKlpAynLy1lvO8K3sJbQ5MVf/4Iv?= =?us-ascii?Q?pwK+pF0qTmnNzRMrgSTqzjAkQuEV57Zx8aMUuu0O2ua/t7ZvhVN8a83dt7Xr?= =?us-ascii?Q?BQqbAMySbhSL6pW6aXbotc6RH7MxuQXnaIyVR3TEbpf/K+CJmPP4i0Pc1rwy?= =?us-ascii?Q?y5pgnFVulB9l8/xFJ6xuOQVG5S8nIc1MKqsYNYDtBx/oqmlPAKZ/P5CPNkSS?= =?us-ascii?Q?GcZLSMtLclbe+SninewTbQchyTXCsO+3jZj5oWHaKxbl91+sZgK1+ZdbIfOM?= =?us-ascii?Q?sC6lZwdHTRUp7ADMC9qXwt9Q71tyAR16EcIneEtZ3jJertUe4UGIqUQOfWzP?= =?us-ascii?Q?KEBBFsObIOxpd3uK06WoHtdUALyjxm4JbWwJlmezb5iONEIccQTjA/k+Ym+J?= =?us-ascii?Q?CwePtpypn6aJ/Nm0btdohyLrq/CeC/kBEkncpDnjWf8QAApwQ4b6iKYoOFXX?= =?us-ascii?Q?fUARBP1bEzLQwWbPQAk2g4FGlfX58jaX3xbDPLybUGFMuO/y6gorTDJZmPmB?= =?us-ascii?Q?f8AESBBpqLV5bTZDyrFHqjzGhYaX8GoomexoXPFduHMUJ/dz3yffpvQ7I9fj?= =?us-ascii?Q?+Xox0HSDSFAPmcoxvey89pmjeRbs64IL2uIxdhQZlJlVr8QKESJ76MBchfkK?= =?us-ascii?Q?V2tDVl0W6ZJ2t8Wr8jghSRTJ+eScvl0wMadRLf6CGBwbCvY6QtaKJYFSrvT5?= =?us-ascii?Q?HjBdPHLPSAJnCDMyqI7YjnnfV5tf2Ux/oqPiSozdqHOuwitad5wY+5VIWMyY?= =?us-ascii?Q?F7FaiMCtxNEKCirzH1u9YHXjL19jyBIzYcwh9AgFM6433gwd8BrII+UPhVBB?= =?us-ascii?Q?qIWpLEbhjcHp09cr46QRSKVbxmypTQzPFBuGzYsG8qlywUzIT2l9L8+KBgtT?= =?us-ascii?Q?o8hsejyUFxwPrPlLeZ9FYdsNi2oYLVzQuN8EcF5FwBlSlGDebHjKiBtsZi5C?= =?us-ascii?Q?RcZdBEWVRpB0MCqGPIz4MpYAxXImYp0bfKHW5zH42tcT9/F+k6UM5U11yX9x?= =?us-ascii?Q?NEmviDcMCycRtT+kIKZETVVyx6abfb7uTqwefZqHLVjHm+Zcyf6DdruEpQ2k?= =?us-ascii?Q?hN71a6InXyggpA1NE4EAu0W2yq/IqGkJIgkCHrNIviwW/BjDOXkCgz8Em+MG?= =?us-ascii?Q?LJ9rjHfKRkQLcsBRijd4m0keFZKxKwFdjPGCcPS6lFbOu0UG54Z1+/NFTMeD?= =?us-ascii?Q?UYh23HJl8iXBJXc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8121.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(376014)(7416014)(366016)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2p9q4d7XV4R+qxL2m9C2j4qozIaiQZgsEwLSpSnKqnhneyfFfXGPa240A26U?= =?us-ascii?Q?i2ZbBp3P6esE4GzbhYQSEP5rph5QcEjnwW7daZdp+5+cxmKSiwZKE0O4GrkG?= =?us-ascii?Q?lB2FLtuf0VxxCdmhv229ZfdDgFqslagZWPu0TtfKxLWfraPHuA2nz2q8iDCK?= =?us-ascii?Q?N8PnDchsfOZ7M4z//ZVw2s8mKCYPust8tXlyn1nLyCBl4s4WXteu0v6k2Kjf?= =?us-ascii?Q?ggjF4FS4hchGyQLDUKdLTkrDIAaDGh2VkJSJ/UnNXEFYXm79525OLGWXvfHk?= =?us-ascii?Q?Xfx/Taz/5NlJf7TPprwgIhfd2AgUHsyB4NHBUnS2XGrWx+12jrRQEuxcxd3t?= =?us-ascii?Q?gejc0zOLtOQfilpJFcg0nNQ/137CdLrF2COYrvotCBQhxbwiq3H4vStmkOV9?= =?us-ascii?Q?MefTLsgOVQr3Bn4f244P9WclKs8vqGvvh2V1UAjbu8C2PIl6tzAYu9I0zSrM?= =?us-ascii?Q?6og+qzaRhsN4iINuwxm+mY9GpCMNp91riFuUFgefyeHG22SznUzcg7SNiqF4?= =?us-ascii?Q?7TNitEV1VlflLwMOj70ROHaCo7cH9hjUk6PXmARYOFbFMwcaUY0kj2RfxNDq?= =?us-ascii?Q?uf4Wo66TCg37qHGF62zUpa4URMERExk1s1Wc5vb98dAjVmlfjYls+NQdGEbS?= =?us-ascii?Q?4AL6V9OMVSWu7fx+WcrQloJH8wYxILDbvsW0a3F20lF/c9fKfZCBWAK62xjv?= =?us-ascii?Q?eS7NqPdrOZhPnegwfcs06bh2rH5Qk3I289P7kRjl8dsCoAii8AGI8Y9czyDM?= =?us-ascii?Q?E/ex02EnrREPZH6QilqB+sUtFjkx1kGQMS2A8/dBdSCRTpYllO7oCPEUPE0H?= =?us-ascii?Q?gvm8pHWNWyp6YALryMlMZS95IlnYHayiI5xJbWXt8tyEGg6BHJOdHpeCnZ1H?= =?us-ascii?Q?MjjeaUMMJwdyG08hrvnraC1+ikI3H+qZVBsrEzjw50Dkf7+2/E2iiEtXIKOp?= =?us-ascii?Q?4zNsK78IyUbbGn/OUnpsksMabhv+i5bxr1u7XjUq0W1VpB89lkDDjyu1kPBy?= =?us-ascii?Q?tUc8Dx23PJdq93zZCu4FhGUccBakt/8LmJEnaWLxbiCVxpzwiA8UMq5rQFpJ?= =?us-ascii?Q?DgQ4rQngKjUEPxHi5a9W0QG1cz/ROLOnWPHVwqfrIB1ABrZ0HeglTfyJTJiq?= =?us-ascii?Q?aRedayX8HsZIQQyjgYTlm+48IQdZ1WCsaBIdR93rY4AYjsrNf+lAlmcjeY4R?= =?us-ascii?Q?ZQKuY1Y1Su0KETke7vBU7HxYYipxdjqMaNs7wBpdBIXGnDv0FAZqqHEXB6Ro?= =?us-ascii?Q?vvV1sz0Gcjrs8ColGu0bTDKATUv8bPfKX4JRKz5h1hO2XLl9KMkHqoeAIBUo?= =?us-ascii?Q?4SLjjx20EvdOuqrntXJo0bTuPY/Dk5qtxXR+om49KBuBl7dz0VTfAYBnzRMj?= =?us-ascii?Q?DSgITeutEF/f9/FCxiIBr5apppndkuh1T0xIHYW0rVpjMBI2MsMhKmlv13nW?= =?us-ascii?Q?QgYfEfBYj0ihji8yjeeimuQxZUtzCksA+sb8nTbLWz1XQGpeN6/Ked1eDYmm?= =?us-ascii?Q?eWQ0ohBXzFbQRutFP0MSxIm8wF8pAtA2xfwoOyjI6FFxpiboe1LB1c5HkgBP?= =?us-ascii?Q?71uDjj1YsnBMgZZXY4CJQ/juzN7sSpIrKedfvA7utjO/T4KZhZ8wMbeTSPum?= =?us-ascii?Q?ig=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: ee90a7fd-bee9-4b28-76bd-08ddd38c2568 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 19:21:43.5199 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8d891be1-7bce-4216-9a99-bee9de02ba58 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +HB91TruTGjdKvIBIrQcQBLNe0KwEz19m3b81ENSk79ZuNytarOvaj8rtGS49TR80YZxBCN42ckUwZRU7v4p/OI965MBFfYGR4AOYNVLsU4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10844 Content-Type: text/plain; charset="utf-8" Continuous mode is only supported for non-raw data reads, thus raw I/O or non-raw writing requires only single flash page mapping. Signed-off-by: Mikhail Kshevetskiy --- drivers/mtd/nand/spi/core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index b0898990b2a5..b42c42ec58a4 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -1103,9 +1103,6 @@ static int spinand_create_dirmap(struct spinand_devic= e *spinand, }; struct spi_mem_dirmap_desc *desc; =20 - if (spinand->cont_read_possible) - info.length =3D nanddev_eraseblock_size(nand); - /* The plane number is passed in MSB just above the column address */ info.offset =3D plane << fls(nand->memorg.pagesize); =20 @@ -1117,6 +1114,8 @@ static int spinand_create_dirmap(struct spinand_devic= e *spinand, =20 spinand->dirmaps[plane].wdesc =3D desc; =20 + if (spinand->cont_read_possible) + info.length =3D nanddev_eraseblock_size(nand); info.op_tmpl =3D *spinand->op_templates.read_cache; desc =3D devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev, spinand->spimem, &info); @@ -1132,6 +1131,9 @@ static int spinand_create_dirmap(struct spinand_devic= e *spinand, return 0; } =20 + // ECC reading/writing always happen in non-continuous mode + info.length =3D nanddev_page_size(nand) + nanddev_per_page_oobsize(nand); + info.op_tmpl =3D *spinand->op_templates.update_cache; info.op_tmpl.data.ecc =3D true; desc =3D devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev, --=20 2.47.2 From nobody Mon Feb 9 18:52:25 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020122.outbound.protection.outlook.com [52.101.69.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D88AC28B4EB; Mon, 4 Aug 2025 19:21:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.122 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335313; cv=fail; b=sRJ+8lXte9whQ6N/V/MB8ZZv6Ds9Q/0edOZmKOt2RRvnOifhKG5xCyY68C7xRcpeZAyI363goC36iwRcpH6G2PbTLpTNF+Cf6BhSGFnyAokot/bzNSwvIY9FYNfDRo/nk0PhFG7t+MN/Jd2ZPcWeSZ8ueD3hIVNaV3SI2lnx9mE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335313; c=relaxed/simple; bh=7kPBCiCf9IR/oAkt7lidVlNSLSxAki6UXFkCqnj7J2s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=CumJmGY3FObDEL23QDi+0Q2K8xihSIwtcfN/w28SwfaTcPrYGgcBweIw7rvoGv9YlGGID45EwgjIWDbYg2+hAvvcgiPD4WWVA97Y765dGroH16G+OMgjylgUtHZKJI2xUOC2v1TRhPsZCG5sNJFPdVd+iQyVKeE2owtUnjafskQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu; spf=pass smtp.mailfrom=genexis.eu; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b=TExfEQvI; arc=fail smtp.client-ip=52.101.69.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=genexis.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b="TExfEQvI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X2X3XQncJt9JpH9mv+q6Cqccc5xZ4Gp0P2mtsUW32wUgHXihsDodXOaHxRVNncqeH59zUaI1LZPZgUXfMtibqdpJcbp5MXhxoAFCh30ms/OdPSWOptCgjiCdKF8IxIlWRH4+2yTHKjZIN0itb5wW3S6S+0VddprVjH61U6t/W9VO8oqUg1HutCmPqw4vqinFOfuyMC9vFjh2K/Y9D6oNE2gJ4dJtlQ/O6SHOARR8P/O0Ms+95gJ3RvsI/qYoqkRCTZoO23/DaDTUQ9ePVGxMRJoG9JPT19RX6zLMmC2uSK4iLjL9MprdlBUu9itodzpBfNZZpt8HEAplBNCYOH/8Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BZlQfwT0L/ixL+7GHKWaK2ffYME/N0CYVb4pemxy5j4=; b=EnzlxMKLCfOaU0c/54Rgh0LBupGv2gzAjIm7xWsl+9fU+f/M5YN3lJwjVkHYW2O9PMMhsJWXY9os4DFyhWBGnWqqzeyHAXBSrBZ07wVCd9GqDiuYQKo/PF7WSm8vnUOgfLiCTE1Zmex4x9GdguvC5VwANTtlC9OmJaKvPqXkNwGJfd3F0ItXVl+QDnr31SO/ErLbzJ76gCdfuODO0Z07xEASH0Fn80XqVCp7zB36hxmVmTDsIuZFJr1q9uT+t0AVKqLjwvrBkyO3rYONOrOLSF1P9v+XnfgPEDq0jpeZ1PZOmLU9kvhlENryqYpydhTHogfMUV4z/Uw7CQSp79i84g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=genexis.eu; dmarc=pass action=none header.from=iopsys.eu; dkim=pass header.d=iopsys.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iopsys.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BZlQfwT0L/ixL+7GHKWaK2ffYME/N0CYVb4pemxy5j4=; b=TExfEQvIkf7EkUhEzaOQMelDOdfJdqnRVbCGePf81qtJ2s0BH+Dm0VUwzaPWPiYMDYGuDE2L4M5E7dl/F3qylL1L3O5wYOkbDhGTXhiXJhX1xZvj5+KhUqSmkNXRcYZWrRy83g7rbtBMkt5X3p+rC32zBSsF9MYXSMheGxdZ2JPLfdLRVEoWjWkBfU/aWJ1UerZgKgh0k8+M7EecQKZuMFwpnzae7ueiL81P6KSuGNdHwxE0C6lwxKIGjznmp0aBtgaK/yZRhonmS0R7bbWsYxdopRdxKSoBh9cCr9/W0MTAn8tXp2YcXZBZUzzrToOzaK8M6k8O4pIj3Hjj8L1iOA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iopsys.eu; Received: from GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) by DBBPR08MB10844.eurprd08.prod.outlook.com (2603:10a6:10:538::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.27; Mon, 4 Aug 2025 19:21:45 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%4]) with mapi id 15.20.8989.018; Mon, 4 Aug 2025 19:21:45 +0000 From: Mikhail Kshevetskiy To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Lorenzo Bianconi , Ray Liu , Mark Brown , Tudor Ambarus , Martin Kurbanov , Takahiro Kuwano , Cheng Ming Lin , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org Cc: Mikhail Kshevetskiy Subject: [PATCH 2/4] drivers: mtd: spi-nand: try a regular dirmap if creating a dirmap for continuous reading fails Date: Mon, 4 Aug 2025 22:21:30 +0300 Message-ID: <20250804192132.1406387-3-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> References: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0219.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::9) To GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR08MB8121:EE_|DBBPR08MB10844:EE_ X-MS-Office365-Filtering-Correlation-Id: 10739877-cd66-44d8-fad8-08ddd38c265b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|7416014|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EBQXK9LetDGwpdqz8YTcLMlGnhv/poc6aG/dqEi2Wn6xhUEa55/FwBbWLXzK?= =?us-ascii?Q?UI9Aho66d9jtZG3HlYELKYaFNPIWUQzsoVw3LYKSAHIQkr9xo11QsOdAJDkW?= =?us-ascii?Q?hWCP8ZAEF1yWiET/hHK/U49rSpbzOSxfinHkWJbEsYTyf+FVGR3aa5oGA2I+?= =?us-ascii?Q?7cZRLs/DG7jnme/dOigXJ/xNEjyo5We0q30VLnVMqh67cy7Pv3+6mkfHsu65?= =?us-ascii?Q?x97k34+HZtPssdRRz4lrc0TAo9r1Omk4N1KoJVbTH3pKKNNFVtZrYHAKCPOv?= =?us-ascii?Q?vA8YLHl7SBjk7siewClVzQKJ+1rK9YPjzzeNI/oMu65C2LpB+Roj+0Mjzx1N?= =?us-ascii?Q?kCvHU/ynzmw6MuvYybqFzqQmF8jm+ntPUpcqznGR2dfHAkZYQBSllrhw2Gch?= =?us-ascii?Q?8hOa79kVov/YCGDnEr3Ypet9ecFLaP6QDONss10xDVGKP7lj5O1q8Y2cBb3n?= =?us-ascii?Q?ya1AP2UPpbRkJboYWGYY2r5AirFkN4gLLKYr+Zr06Qe7hqlBCQePxdC2baF6?= =?us-ascii?Q?tAzsP+EOR+VJassI8qfFPo097OP1tOW9hktVKOl0c2eFa0UQKTVOF9BTaInP?= =?us-ascii?Q?ViPixsmmWHw7F4GuV+Wnoy+zFVZMf3/LW4OTx5DN2ZqDGgfLcaCD6evbXVTp?= =?us-ascii?Q?WYfEe/JE8B9yPk7HWODlQyOMQow5EXUQpErtjAJxYDVmJ5h+57iwXVrF7WCd?= =?us-ascii?Q?8Ow9rWOj1D6zXeHJHsrX65jyjLtL1Nl2cl6CV69MVALtEWXmMe6+Jb1pxc+e?= =?us-ascii?Q?ZimS03zA7UQCn9GI3L+3AMygTmvXnaL4D2wUoxkpqzq3czWjb+9HKLtnYFzD?= =?us-ascii?Q?D0M95VPPd7IN9g8Pb5EGsxcpSQtcGXaEQ58JVhgM175s/YW6XFBNZ6lEc6S5?= =?us-ascii?Q?3qZh2qjE8NM/KO8fg9HdKR1vffr1TAZJGWJmeA0br1rlBSX69Vtdl7IAA2DM?= =?us-ascii?Q?qq4EmJ+Uhitk8bPovtaGSMR0TBqAgTNoZgnqht6R0HEOozj+4fPci0DRUowS?= =?us-ascii?Q?QGvItXEo/+7NmzJz92rARTHMhiGXYQSr49Xc5T6k9bR3xTw9IYu4IvP7TtIY?= =?us-ascii?Q?F1ayMk2Z2WYXw9ai3beSKZkJyffA4D6XCfHumC/FP3t+YEbV7RkaN4DnM6bb?= =?us-ascii?Q?rjWP6VK7qRTjnhN6qIjppiH2sOOXSuLxolQQv+TjoANFRPUWVRkkESLBHqbQ?= =?us-ascii?Q?9BzlrZVyotWH5xwjknn159VJXJ1zHJxhgWlRr5UHLtar00ZWZ6+SbyrVTcPI?= =?us-ascii?Q?p2TVNRE0Z+EmFfId9aT30obzOQCWgYfIMrLWw75SKCE92KP1yNuDDllF/kpy?= =?us-ascii?Q?DwSed9THldrEE5wCpEo1YFNOaySfOEcGz1HNQ8h66rtaeZsCErlNaQkNwCfu?= =?us-ascii?Q?Ke9mi/7B7B5ZUsy62+fkpJpuxze0lhVcEstCYi0PJm/GgyLQOFqYWFEn6buw?= =?us-ascii?Q?rgpMQIXfkekoDx7Eg59+ZFQ2pTuuI5VcUkSeC5wAdlxJqr62sTvmaqZTZRI/?= =?us-ascii?Q?9Ey42a4pOA6rsv4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8121.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(376014)(7416014)(366016)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qEcK2NxXWa0JIDl8Qa/IGO4jXfcxa3ZszrmGNKAK9OtwWSlFATNeMUFOPg6z?= =?us-ascii?Q?DcBqW6DvPscxunMI6QtapU5Z5Xw3B3YRnh3oKzmCkV7dDUy/8/AcTXt8oWpP?= =?us-ascii?Q?KWOPwrIX33dxBXZECVztdtjp/0RuUH00cvNp957Cde05BSjn/8wue6BGVPT5?= =?us-ascii?Q?TR3OPpaQ8zNf2OQaO9rANF3Xu7N5GFhZWVeq8Fa+IXzQVjCwV84mPGGWIJG2?= =?us-ascii?Q?GVTruTDeGQyWiutBDJ1JDJ4204rw+dNd49hzeptK13Hp9KFjOKnBgxU2v7I9?= =?us-ascii?Q?1PfkilBsvh3e2GB8MCvLLR0+gd3t5bODtWxl9W03XwXN/xCwxqYJMVYZ2oKd?= =?us-ascii?Q?vv+N+WJqvrjuQa+lh2Y/GGHk+ZVqdtNrm6RWum6AChEJTlziaNQ6OL3eUqs8?= =?us-ascii?Q?JNdeEJYDCOq53tvp8XVo+U/gt4yRZyrJCyTUgvv4L5QTzii23zX6YY4gukIT?= =?us-ascii?Q?ml4rL2YRQlK+ZPINQVgJC9mYF4U8SGAIb0JtgaFO7YrtrTSm6V2r/Vnpt8aI?= =?us-ascii?Q?Lbf64kpcmv8Lg7ytZVSY8vLlOPl+V1gPfM/zAZGZ2mw7NoWZ5Al6wTy4cjQX?= =?us-ascii?Q?SqKA75q8jIhFKQ9+Iq1OsCdFczoxSEhog2VCGNon05zU0wTy1jHkVnuV7jN1?= =?us-ascii?Q?GrOt2YtFW0nA7FzUe3LgRpm7oH29PDzfJPKYzH183Q+9EteeoDssiWIIm1oX?= =?us-ascii?Q?W0nH7FdWbE9tqWloVjTQHh0JwoWjP3i1Vtj5eCgQ4m8JQWInQYVVcO7k96Qn?= =?us-ascii?Q?D6A676OBrH93K+5mQAi0zgXq07SOoifJpgwnY16hVf9cHHbBdWBE/IbGA8yE?= =?us-ascii?Q?XklrZQi/p4JqQ4Fmgyu9SvkwBBIKO8/hhwTUTMtgjnx/EUf6W/tNiixLM0B4?= =?us-ascii?Q?tsj5tTd4qbxQSj67OEAUwrdrOSetu5154pZd1QcABoA87Y7iJFlSMqmymyf/?= =?us-ascii?Q?QXtAo26+Sz3baxCIHGUif2Iw3AuBh+ndbLGcrd4RvAR78U0wtk2yuWoMdGpO?= =?us-ascii?Q?+Yp7QTFnOYf1w27Jyjkh/TfDGh+hNrBpHmbO6tPiCyVvVSxhXAuxoVbWmQUg?= =?us-ascii?Q?6y1qYyzMEYi1JuDfwCTM+l6KUR0iVN4l6cJIATWK3vboZiO5aiiGpnysNv08?= =?us-ascii?Q?dNoNV2OQGUNdpdR67+7qtBpkyimpd02MXlSjnLcgGPM8zdDyGdCVQnmLSEvU?= =?us-ascii?Q?Ln9J5oyLAjsWeDto2ivOnSifYxYoOHWKItbvohiWnwwDdLdTvaCtCe9mTf9b?= =?us-ascii?Q?df8RDMF/OpcaVrcCArLVhmPqQp7o3cHTdthAhQPSMxdWB5tv/Jrh+Bwr0eeB?= =?us-ascii?Q?jeirpKZANjNYHYXHD1usDL17WSrpCMLXHGan5pRnEb6tdIcSn3zJsDHwWZsg?= =?us-ascii?Q?G1xTRE6s15R2D41FNGOrAw3tjTSfHwTXqJqa/ejjEkm2CPRsHdNMlNtvstI2?= =?us-ascii?Q?GxXSwtxn5/SoQ2XsAMTRnTj4x1iXFcgKmwEsJJUSfze/hvhRejbGc5HIBhKI?= =?us-ascii?Q?qvxaVrY8PAY2zKh9D+4V3m7NgKxBmO9biNPIs8wE/5qiD7rMz1pPgCq3HePz?= =?us-ascii?Q?8VlLpKEBRQn/ToH3JNk9yZNxEXAtJ4Oi+PgGerGYvWMUCg9vY76l+xut5vCF?= =?us-ascii?Q?9A=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 10739877-cd66-44d8-fad8-08ddd38c265b X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 19:21:45.1445 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8d891be1-7bce-4216-9a99-bee9de02ba58 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1bRK48d29Da6ev+/Nwjvu8/DEPMZXUvrPVaOqHGhiT9xrd5l66PL23J2+Fp6Hp5hyOEcgwfyYzuZRLyOtgqPLI4KKOvn71ENx9+K9XNzVXc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10844 Content-Type: text/plain; charset="utf-8" Continuous reading may result in multiple flash pages reading in one operation. Typically only one flash page has read/written (a little bit more than 2-4 Kb), but continuous reading requires the spi-controller to read up to 512 Kb in one operation without togling CS in beetween. Roughly speaking spi-controllers can be divided on 2 categories: * spi-controllers without dirmap acceleration support * spi-controllers with dirmap acceleration support Usually, first of them have no issues with large reading support. Second group often supports acceleration of single page only reading. Thus enabling of continuous reading can break flash reading. This patch tries to create dirmap for continuous reading first and fallback to regular reading if spi-controller refuses to create it. Signed-off-by: Mikhail Kshevetskiy --- drivers/mtd/nand/spi/core.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index b42c42ec58a4..ff6a1e2fcfdc 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -1114,11 +1114,32 @@ static int spinand_create_dirmap(struct spinand_dev= ice *spinand, =20 spinand->dirmaps[plane].wdesc =3D desc; =20 - if (spinand->cont_read_possible) + desc =3D NULL; + if (spinand->cont_read_possible) { + /* + * spi-controllers may return an error if info.length is + * too large + */ info.length =3D nanddev_eraseblock_size(nand); - info.op_tmpl =3D *spinand->op_templates.read_cache; - desc =3D devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev, - spinand->spimem, &info); + info.op_tmpl =3D *spinand->op_templates.read_cache; + desc =3D devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev, + spinand->spimem, &info); + } + + if (IS_ERR_OR_NULL(desc)) { + /* + * continuous reading is not supported by flash or + * its spi-controller, try regular reading + */ + spinand->cont_read_possible =3D false; + + info.length =3D nanddev_page_size(nand) + + nanddev_per_page_oobsize(nand); + info.op_tmpl =3D *spinand->op_templates.read_cache; + desc =3D devm_spi_mem_dirmap_create(&spinand->spimem->spi->dev, + spinand->spimem, &info); + } + if (IS_ERR(desc)) return PTR_ERR(desc); =20 --=20 2.47.2 From nobody Mon Feb 9 18:52:25 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020122.outbound.protection.outlook.com [52.101.69.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E041228B7E5; Mon, 4 Aug 2025 19:21:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.122 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335315; cv=fail; b=cA+T911WN1k6Dd682zkKdQG6X/2AnkERWaybis1+y9tNbIOVd6kzYRmuNJjs16Z63tZeqowL19GymSflP8swG7bsJwwbbhhjPeOw5zPNH5Y8qj7JpQBOA1SiGI5k1N/hwCYBUTw9sxRq24uNXIVLIX+YeAGtMoOgvT6hMs4f8cI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335315; c=relaxed/simple; bh=N9sR8IAIr1yK0G0JMCwihYzxE4YrfQl7RxAfcU9xV5g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=qT7T6//Ry91kAeS24hMO3NrwBG2BUqQG5iTwbU0xbRz00o3Gk369rMi6HwzSVlNJVSZr+RbMrBBWGlwzb5En4J0Dfq8QN81MR1XGwVEsQ6HHAvvcVdo3MXpMfZblekdO8SB+azswuMdyN8APvYPrq56muBFjAaMJA09DIKGvihE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu; spf=pass smtp.mailfrom=genexis.eu; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b=gvi/cFVl; arc=fail smtp.client-ip=52.101.69.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=genexis.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b="gvi/cFVl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e4d/w6FkHmtkY6JUkE3pJeXFxG2h1MT4aO9gGvOLl/hz3JQA+c/03h5TQmCQAl22R1VOkZbzBsnJ2tJ1Eu0Wzqt9WOAHFpPKd9lDpHCXePa7fIFAf4bM2JJFmgkNGW57qmgdN3aryTVkI59jm+RnNk5K4AXCDWzRwQjeKjzyjyYz6uJ3fc1ttC9uRPMoLIf/QTROFQkpfxlYxZD8kq0byhrEo/vSo9pk1TrQXOLJtbUftiYxLK08SNwy1lrf24LKBnLVfse9AMCxFIZSkcE44mxM7aHRcNVYL++QJfRl0FBUAgRYK7RxgSu8kT4NqhpsgRIJNw2A7cUhOQlA00JzRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GBShVbwgHH/AhZfRCHhKRES2mNxkwK7WJ3UZ3dwEL4k=; b=tTziFOF9x4V4By4stzltc64rLEKYmWTXoU9ejzMsL+khAh3lMuG0pnCiY9lzi0S1U4jeFWHZlLU4JAwKHiPwZjT7JjXEMjHBcgpFAMZui6y3XqcdVRWXPvcScMon61UBersEfYXGCsRI2RnOlatIGaATY1nfsFe29+ZX5MQUDthinmK6C3OlqnAyk7tXNeGPm+q9IUSnmktenvjqvBtXdwoK9pYiQ7W3xE3Wx6xmDCvvf1Mm5DpTSvO5exM2+822Js+CdZ3iHW5ZD3fKtmepVZepYftjVliRQlW/5ELQXPHR9cJyb+IB1eFRyk5jxv08h2c0oUjqQVJ/OHUyFQ5OgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=genexis.eu; dmarc=pass action=none header.from=iopsys.eu; dkim=pass header.d=iopsys.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iopsys.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GBShVbwgHH/AhZfRCHhKRES2mNxkwK7WJ3UZ3dwEL4k=; b=gvi/cFVldKWdJSrZ9RKTtOe3bJeOG+EXARY6/QeqjY1MoNYGjU3kXY6iAG3McoC0hv+YSb1jD4bbAT+oF+25jKvaOc1hVKHLHri8hXFeIuY8SOLdfgv5o85hK/gxBpBmKkUv2ej3fZVcYt2KbxU4M2y1WzUeTW53Y6NFQaDnWiA6IkQKXIkp8od50AHsGcLmcgBMCREWBftcg2eoYc+Ew8tOFYBScTT5KvYsUMQpRKtXZSRj1KyYS+zMkxjFsyMTZg+dMroyIWJv6ZhgmJgVI+DYNKnv218+vE+zcJXy4yAyv5RTspQwcCDZuO6ChDVoiNEnONA2nzMxCYqONjMShQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iopsys.eu; Received: from GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) by DBBPR08MB10844.eurprd08.prod.outlook.com (2603:10a6:10:538::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.27; Mon, 4 Aug 2025 19:21:46 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%4]) with mapi id 15.20.8989.018; Mon, 4 Aug 2025 19:21:46 +0000 From: Mikhail Kshevetskiy To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Lorenzo Bianconi , Ray Liu , Mark Brown , Tudor Ambarus , Martin Kurbanov , Takahiro Kuwano , Cheng Ming Lin , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org Cc: Mikhail Kshevetskiy Subject: [PATCH 3/4] drivers: mtd: spi-nand: repeat reading in regular mode if continuous reading fails Date: Mon, 4 Aug 2025 22:21:31 +0300 Message-ID: <20250804192132.1406387-4-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> References: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0219.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::9) To GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR08MB8121:EE_|DBBPR08MB10844:EE_ X-MS-Office365-Filtering-Correlation-Id: 4804a28d-ef6f-4eb3-bd02-08ddd38c2756 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|7416014|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Jbg9eRQ9XK/uTGzBsL1HnJsPTIUOh/z8w0oOJO/DCEV8SFPSP9ER8eLdiFIb?= =?us-ascii?Q?GwKsjtH/UK81eP43Bu98luli975jEjG/LuhaQOjhyPsb3MD5bOuhgsSi5mwY?= =?us-ascii?Q?F70buPdKqdDYPFAnqVzY5VAPKxTRt9AyXHuzVk4zeRZPmmTjClblBOCNBQnc?= =?us-ascii?Q?fJJsnR5/n5qd4dmzxj/5FaXf3zvZL5wSc8LzjJbD4p64KmAvad+LDHRCbPk5?= =?us-ascii?Q?Z5draVJB1FVoPOf53ONIkfx3KTAgrZB+0t2q1vxPAOHFqh354j9Na14tQocq?= =?us-ascii?Q?ioqZx10YLn5xGUW7jO6sZA1KA1gZNKzRtN2etBepLX8H0BbNB3ZmhlONYBsN?= =?us-ascii?Q?VlaI2/V14gY17/S89b9rkwulNvwUf13gzASSaZoPlKVr8bv7ToME+YaGUpr6?= =?us-ascii?Q?jejPTHR7FWJ318FFIbLzOnuneMWbpFR30+6sQTZVG6HsevfwpTKWw55Gqd6i?= =?us-ascii?Q?jCjqO7jAx3HYJAeobqNsXvpvvoMeazhyUyWoAMJHXAaI4RUfdrqWI0pgD9Cp?= =?us-ascii?Q?Giqm5t2+eMlgQfLxVF0GtQJdrTeDbEdQczEosZcykfDNrTSX6tzZYZ0sLNsX?= =?us-ascii?Q?SqVCye21amtaltxEBzU94e/wudt3mgBF6KFRvjOE+R8OjUClklNapDtneUUv?= =?us-ascii?Q?JVfxNupJtkuKNRZ8P3sDAzx55G/ojdrKQDxSwTKZUTQYCFfWgKrgN2Y1PWzj?= =?us-ascii?Q?2ogFoG3RMobaG1gp1XVTEN17KTlqcFKTH8addDZ5zDE6cTqEanxQrHgrSBaX?= =?us-ascii?Q?+F8BlVbh9/E67xBQXDluUHe3m198X4PJsG5HxSyS40f/tk1aGu10AnDAEi7L?= =?us-ascii?Q?gbxfmgPhyh1nj5NGWJR8st3CrEa9GiKrwSIi8zXXvbwgYsc4UubTjW/Xw8BG?= =?us-ascii?Q?Z9/0JEOfeiP5lV2WRWcLZWHgaGHKRWoVdWyouTy8Qf9Y729sCJOFHG1DOHGq?= =?us-ascii?Q?jj6yfTgWdM/PBiIMrA3bexiDaiTB7xIdyf1FfGk5Xd4rtOs4eBqbD55iXQTD?= =?us-ascii?Q?T5n/S6QRDYcD5sw7oled3KDrPeu+FA5wC+My2CE1DUOGvlSSvQbMtXEUHYjf?= =?us-ascii?Q?LOv0LRzDYiGqASqVWlM6q8/xIqiSpqpl6R1DxFQarIm4OL9s3posztBIjjYf?= =?us-ascii?Q?eFKsM2zsC+6Nbd/TSQajXx1VoeBDVBL+qILLg17Qh3BWIwyXh8APML1+A9Xd?= =?us-ascii?Q?9dwhCOQjX2wXZok1uTFSKFhazcPbB89/LfstWKLUsMoJWlDIJZ2R4+qXNZ8d?= =?us-ascii?Q?4uUg+3ElCpo7ZfIzBbqddTH0kWvX4ewYtHGZ7XCQQZQHkh7i75mZdBVG3PLL?= =?us-ascii?Q?clKrJztNDuXNEuPkobpgn6ugcnI3PGnU7+BlUS/ASQST3B3l8oV6WqrwQEgo?= =?us-ascii?Q?xb/VLYTVHogu8G3TGqkZhf7zANgyrS00Hdp0L7IBrIjhvAJkvqsyWIGiciYX?= =?us-ascii?Q?QhA+IXYKLIQV54i/InnbTNSHRVByzk3pAGfl209INCFSFcTiNyd0vMW1NdBA?= =?us-ascii?Q?csPIhGsHUekv3W8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8121.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(376014)(7416014)(366016)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?V65mN8l76JviN5iEAokl9pFFKxWBzC4/zgOepJq0vqpXkz3nO3bsqGRxnVHi?= =?us-ascii?Q?/EbZkXl0WDubNkBXPshGVzdsLiSzn7Y5HzF1wQhA8Ucv3yluaWkL7jX0JQs/?= =?us-ascii?Q?KxRylVcHRY6xR4qepI4d1a2VCVPzKAJjxZPZTLoItsKC9khijEzB+WI6F0yl?= =?us-ascii?Q?AtqrpVM0uGNlF2objoSdYDzOiOLUEI1BCIpUBs7jZcB+MMNM0/qZTqxrqBFY?= =?us-ascii?Q?uMwyxYXpDTWaQCZqTkMcaHWPjjWOWO382PR29aQkMYrRIxlLZ4UJzFxikvPR?= =?us-ascii?Q?bvwFIl55sFJ0wNF9IzHaYboTvk3DVsEuvPp3frOZWxkJ9A3fi9xYTW7GthZo?= =?us-ascii?Q?EL80jrCZWVj8oXz8H4yiQN4626jo6oXT1zgFYkJbOnDMnR6hX5x4JTyVPDh+?= =?us-ascii?Q?DvHqYrgGuQX4rzLClpFNWMDTBD3kF6iHBEEKEOOj90RtriCyndM1yHvRsIXV?= =?us-ascii?Q?ex93NvxVlmdoKILB3xFriuYf5jBLtOYhSj1ohgP+1BrbsZHuoYBhUBNgh1d9?= =?us-ascii?Q?iKAw4rUYjTpEyZPsGXZ14poykn6aS46QfOqr8GY6JDRciUOQaGE935/XYEyn?= =?us-ascii?Q?v5U6VcFHDoN9fhs9jzBfREYIZhxtCgN5wi3Wo6I8bMr5X/DcYYfWrKqrLmUj?= =?us-ascii?Q?vO2syLRREd2b0N+AtcpieNe3HwHZQjCFw8r37gy5KnqmV2sRuVq7B0XC71pT?= =?us-ascii?Q?dBRRBgwgkdNqJn5Pb0Dkf20L40YXMijLNpddQKV6JQ09IYVI2l3clJKfRsLY?= =?us-ascii?Q?BKPB6J6H50JxJYA5VhvznzuqZETQff6XAGmsxhqOa1Ly1ntsXU+E5zcj5jVW?= =?us-ascii?Q?zc+TNrUpUnQl6vjhRGEG14B+KJlzMlCS+SZTMS3QYowUZ7yb0Z8EgjQEqroX?= =?us-ascii?Q?a4K1k3kKGIk8De8RTeBlXVhEE3REFGXPKIvsWZze+x+H15hnEqSOZVuCzC1m?= =?us-ascii?Q?HnYJNn5ioSFmQqKdN9m6I3vPgJuyTuYPI4fMZm6b8WKEYeacYn9raiykadYD?= =?us-ascii?Q?1EAw9motOhQDBR6nVtHPRPaJdjjeISIpVr8t4UpTfPKxbFkCpdiXk4y0kmMt?= =?us-ascii?Q?cZPogfuxVC/K2QHmuU6nYSvJR7wcBb9kluGA+803FD7ZARGP1gLOaNJr8usv?= =?us-ascii?Q?oFW46hUU4IQgShzfm0K4Fqiw4bd6LHhgLXXZ/CxOQcmKN6peen7GfTxZePy8?= =?us-ascii?Q?y9KzI5MAVyigSlJIvK1HUVaSvKr4E6q02w5KHEGuyrfVqjf6a8PcxSpJ6D7I?= =?us-ascii?Q?TDN5OeklQxoe3GWYHlcb6WU3u9ww2+227wKsGyKwFWi+hY7cJK5sIT5ksscT?= =?us-ascii?Q?jRc/BK+Y1PwdmkAeo8DbIP4X6zhpZ7v2BgHAFNV/5Br7rFeQWyy6DyuNxIjr?= =?us-ascii?Q?TYRcVs0n0vpEUXrZMhIwhwS02yClbIquostzMm0K1/B0Sqz7WlrLj8jg0T6H?= =?us-ascii?Q?SpVY/iTZgtLR2a9QcryhrxoyAFR+TsDTl6Jbt7T7AwowbAXib6F5s0DwCvB2?= =?us-ascii?Q?CnAOgcbkfhoseV+5hkEO9giY2Q6fPhJWxTjrOdK9xk4yAQd6J75LM1CfwdvT?= =?us-ascii?Q?KOcxtAQTOMGVF5lw0lMzMJs4UzlW7hN1ftOOZha5Fnygs1XVq6B42ZA/rCVw?= =?us-ascii?Q?9Q=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 4804a28d-ef6f-4eb3-bd02-08ddd38c2756 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 19:21:46.6920 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8d891be1-7bce-4216-9a99-bee9de02ba58 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: J8xN9G9yRJFl+X3Ny5o5yDyWFTWY69/OvCTWDypDvvszWektt25ipikZzFwO5BLmatJvOLY2CT+aPwjIEr4D5p3rDJBu67VqnKKc32DIt6k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10844 Content-Type: text/plain; charset="utf-8" Continuous reading may result in multiple flash pages reading in one operation. Unfortunately, not all spi-nand controllers support such large reading. They will read less data. Unfortunately, the operation can't be continued. In this case: * disable continuous reading on this (not good enough) spi controller * repeat reading in regular mode. Signed-off-by: Mikhail Kshevetskiy --- drivers/mtd/nand/spi/core.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index ff6a1e2fcfdc..88e4c00cccc4 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -431,7 +431,7 @@ static int spinand_read_from_cache_op(struct spinand_de= vice *spinand, * Toggling the CS during a continuous read is forbidden. */ if (nbytes && req->continuous) - return -EIO; + return -E2BIG; } =20 if (req->datalen) @@ -893,15 +893,26 @@ static int spinand_mtd_read(struct mtd_info *mtd, lof= f_t from, struct spinand_device *spinand =3D mtd_to_spinand(mtd); struct mtd_ecc_stats old_stats; unsigned int max_bitflips =3D 0; - int ret; + int ret =3D -E2BIG; =20 mutex_lock(&spinand->lock); =20 old_stats =3D mtd->ecc_stats; =20 - if (spinand_use_cont_read(mtd, from, ops)) + if (spinand_use_cont_read(mtd, from, ops)) { ret =3D spinand_mtd_continuous_page_read(mtd, from, ops, &max_bitflips); - else + if (ret =3D=3D -E2BIG) { + /* + * Some spi controllers may not support reading up to + * erase block size. They will read less data than + * expected. If this happen disable continuous mode + * and repeat reading in normal mode. + */ + spinand->cont_read_possible =3D false; + } + } + + if (ret =3D=3D -E2BIG) ret =3D spinand_mtd_regular_page_read(mtd, from, ops, &max_bitflips); =20 if (ops->stats) { --=20 2.47.2 From nobody Mon Feb 9 18:52:25 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020122.outbound.protection.outlook.com [52.101.69.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D8BE28C2C3; Mon, 4 Aug 2025 19:21:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.122 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335317; cv=fail; b=u4FO4ZNQxBhNasBy2gZoSyNUytA1RRiJ4AiUkld6y3WmrCddX4A1r2ijf24YetvxUrfPXo6oGhIfR+HBPVwdB+CATlkGa/pOdm0rrdAV175KJezXgExYrQBuJrYU48XRwVzP7gv1ciSIqvzWg31g8XxC5J1jp/xTsAVpLZcd7w0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754335317; c=relaxed/simple; bh=AfEfCBnAM0/Kx8tkEurMUWUbJjo2jjPJSDPJRNKNJdg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ZHOClyBHqlYdBOpKfVWP0JUaqc4oD3lMSRywFdG++Ty0glCrCWhPV9tLmt+BvTD0D2K/MUFtTgPa0VIbUobJuAlCn/zTPB5Mq3x57Jfq4VmJuQ7/QDQqm5DegGNPJEDa9BHY7b8I+SvW/tSmgWMviOKTb0XKu2YeB68VDNryXBM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu; spf=pass smtp.mailfrom=genexis.eu; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b=NnSt/XuL; arc=fail smtp.client-ip=52.101.69.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iopsys.eu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=genexis.eu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iopsys.eu header.i=@iopsys.eu header.b="NnSt/XuL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n+vX4nAoQfOOrQiU9Ln3BhFRGTDmmb08HMWE0LFOzBrz4Bh23Ar6n82PoM8FhBAJS7Rwx6Wjy1JBB0kpwvlZ3Zf2HBCtS7o2znMJ2ZV4XBThZRFV9WbuqGAyhRfADsNUOkSka7CK2Jq8LJy7drAaHss26tJbFyitLUT4JFIdxuG3FfJiHlN/rG7+2jlvd9LrpYuC+9Clg8e7LR6v0NynFuFjHDYiNt+lKGFWNWHPwOKkj3LRATpwEW17Ty9FBiADYZXoRaIJy5QIZHgBQxHYNi4mjMtrzl4RcA+UaUWXUdjlpKlv8+YhK/zlR5fXC3hkBKGc/7x/pR5f5vIX8zz6Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Jkk+3t535n4/UAVvjzJbOsMv5YHbb19o1eB9ufbaG6U=; b=jQeWXYmgnFAKTxzwQfN1erUT073iiBHTJcYR9tYOEQfvgG6nUc0k5/iHYeZ2jqXWx/iZ389s3Zk9CdtAioQ8X+ttfA6mYGDHR5OrfFPZLSE+RW7LFlC2X2O7Ctc9H7zuHQ3ZpIZFNWbi1ddq+E7+1Cr1xrXOMSnLdeanKdO8Mwew/3jbabM1oWmvwj9l6sAOgyVgyeuBV/j+HjhZQN9FN0+EgbpKd/5IUKfjxXjX0a/jA8wXhpwszQZTL8peRRV5ZQ28YA5YjASAIB3xhru10K5P/XudT3ZA2AM95ShGXoP0ZYQ6n6whZWC62gh+wUcbHlucX7aAX46KpaRdXtB3lA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=genexis.eu; dmarc=pass action=none header.from=iopsys.eu; dkim=pass header.d=iopsys.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iopsys.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jkk+3t535n4/UAVvjzJbOsMv5YHbb19o1eB9ufbaG6U=; b=NnSt/XuLSaUfIRjK8juwwJyXBRnUzN7uxSzLYsikgpmiS7q6wlWOg4hIZidCbRBHD9ajltXsP2/d+grdl/tARnqb6ZtopTe+jpHtq1PO/vo4ROOMrYDZRfRNyIWh9k/bXdOmhJvanRsfPuAC6Xq06l8eYvmDaUK1g6CBiOH1gPBlW/33cglklUDmFJPIdUETa8pR1xFCrF8KotseKx8AcQrcDi4P4i+X8oQhiXUMI2z4j3KTXgw1dvhox4lBXAaFC4CrNYCVsJvpAmWd4EOTCFZgCbCGDkJNDm1I3k+b2iPQrPzN+xhQu2r7h9SXLx6ezApQiOEN4RIvr83UcdSRmQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iopsys.eu; Received: from GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) by DBBPR08MB10844.eurprd08.prod.outlook.com (2603:10a6:10:538::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.27; Mon, 4 Aug 2025 19:21:48 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%4]) with mapi id 15.20.8989.018; Mon, 4 Aug 2025 19:21:48 +0000 From: Mikhail Kshevetskiy To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Lorenzo Bianconi , Ray Liu , Mark Brown , Tudor Ambarus , Martin Kurbanov , Takahiro Kuwano , Cheng Ming Lin , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org Cc: Mikhail Kshevetskiy Subject: [PATCH 4/4] drivers: spi: spi-airoha-snfi: return an error for continuous mode dirmap creation cases Date: Mon, 4 Aug 2025 22:21:32 +0300 Message-ID: <20250804192132.1406387-5-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> References: <20250804192132.1406387-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0219.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::9) To GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR08MB8121:EE_|DBBPR08MB10844:EE_ X-MS-Office365-Filtering-Correlation-Id: 4715abc4-2d64-49bb-96c9-08ddd38c283d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|7416014|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?U7aDrEGbxhzRYthTN24Uh1CiLCgRgZ4ud4IeJmlDzHwTgiG8UzO9ab25ykMi?= =?us-ascii?Q?+/qSfHG2YrINbwtLzV4dwCPj5Q4tRwX9iEl/Jl6XQRtsRTBlkvfb5FhhSO0d?= =?us-ascii?Q?c5r4lDWkbyRrFiKiose/auC40hbDHItTWfPrv+lbd9i2RDUYOrgS+P4DcjFb?= =?us-ascii?Q?9pLJXcUuGda3TVabMZQ352466bIc9/XPQ8Ake2vetqy8CqTBU+sehq/AhLeo?= =?us-ascii?Q?HUiQzwD7/7/MJOPdMuU+1DudHInFg8Tn158q0m2iJ/g9O24KMTiyr8B+8f4M?= =?us-ascii?Q?kKVqca4FJsIiUzLhIwVfjAv27HjGo1g6PI+sn+frp2hxXbhxj6AydrcX72KB?= =?us-ascii?Q?zVA5PMdEEoFGUnQSnFBOjPYqRxwJ0zrzlWWgOMz44WW8X1UMc32lPrbZ3zP7?= =?us-ascii?Q?vgiDsxIhEFGOoKHI+xx9li/z/upoenu/7VkdojlUM+QVMv+uv4oE1hH89mhF?= =?us-ascii?Q?UndtfE6qu/blLXIvFVoAZzDFy2QPC6L/XYMR7muoNmJT4/Q2+yj8IHk2vNxH?= =?us-ascii?Q?fnYnGL7XdLpeaLlsGn6Eb0G44Si/jlzBHyTAUnyWpFysYj5ed+BzIJI7UDYg?= =?us-ascii?Q?Dn9uF0YMAW9niWChSzojkqodp+C809l5voy8jwtbxn43+CJ+kgAZu/R6T5ow?= =?us-ascii?Q?cPFt5FwfQviRXuchpUz66IVx4WcClH370LNfAEMe+VdG3hoMt6nzxsTPo08E?= =?us-ascii?Q?jeZyAwUjK0aR1/m5Z2SsvtsWtQSu2rie9ytTkJjL/2OJNjLQLKZzcNdNXHIW?= =?us-ascii?Q?NkMiomzwxRezgTuIj2Gr1myO8iQDrdGStS+W85N9/NNzjDMRBlOx80xTezmX?= =?us-ascii?Q?lLm0lWDQZwtcMDOkEFS7alqLS7m/vgyxsQjNJba4w2IPvYqdJFUsQZmXm0cs?= =?us-ascii?Q?y1O51Z8qcfj1Y1yQ1WKp3Dd9H5caBmVWKoEtpoldqn8M2sE/3LpfRRYyj7xj?= =?us-ascii?Q?S9pUvfWSN7ybwJLM/l4MR+UK3hvYAwDdqWjFoOd/3/ihd0xu7dyauhs002cv?= =?us-ascii?Q?+iY//AL7d6moX1eRq7ItSpoi3pRYTYt58Ket/ZRnvNAnSgoKnj0EVP/DeyY0?= =?us-ascii?Q?ei1awqDkLqHTUKrZYAz/95g3DDtHs/bG8/5qbkNSxyAuKAknoTUWS9oJxyZb?= =?us-ascii?Q?PtCMKtIoxzXQk3Jp4aoeTQqur2p7qjDQwSHbM2hOWJXpCkDo6OQWw8uSTihY?= =?us-ascii?Q?ABsArQxQPC9KmtIoS8X+xZYozZsQEdiL05zNe29TiJzoSOMO6shfsabQCFgy?= =?us-ascii?Q?HcXGPCDOQoCjqEDkmZXPLx6v3J1Z2RCHKvSs56tWWaWxfCvECdcRfooOFPoi?= =?us-ascii?Q?KtMAU93bFKNwoBtInQR3G6H/55N6v3DxGyVUEn8iBmhPMADOYhtmXH9JDNUp?= =?us-ascii?Q?x/UeHM9mEt5Bt4VtqBuvlv11uSYqh3rvAnF1q4INEky0LGNBUpO6LzjNcdBj?= =?us-ascii?Q?5AA2ePCby+SNiFmHneNNj08QWyNw/npJXFmEBOz4LH8hZ8Ejtqjg5h5fDlIk?= =?us-ascii?Q?c56KzCuoi1v84po=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8121.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(376014)(7416014)(366016)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xmQZS1b32/cYIg0M/JLuooLIMfQOpy/Zhq8oApUSUQNoYJY+fnzfQuT7vRv4?= =?us-ascii?Q?Cfkr0BYC0kE2EH9VTEv4Z2mhqdmqDxFd2zk+PnnmhPAzjZ5WhoBh7jW78VCY?= =?us-ascii?Q?gmD6A/O5G3brJt0U7qhcOiTiku96RGe5/Mr33KCbNVXQ+P5pekpHEoD61zgt?= =?us-ascii?Q?S6LuwjdS+7RyZHWtVWjiiQzOEsYt0FEekUISrh3o24v4ye/moAk/W4RDpSCo?= =?us-ascii?Q?89obwrDR8F2Ina7MQ6XjXcZI9shDpYE8F5KJSZxk/fM0fyPteoU3ai2R/bL3?= =?us-ascii?Q?BiQELBlzPQKePLx7OAyUlblfjzB9lq9GQ1qDcMgqXBIXh+lKhqsVNOLRUnDv?= =?us-ascii?Q?4PHgxJQBPPZmh790uqfzc7nHqYmaKjFcEbBjW89NFfLHKTQh78wlW5yMX8ad?= =?us-ascii?Q?E1ICws1aQFDH2JLDpsvjNVxZGIX1T3TujUHJtVzYqKWKLnrpwt/maH+qAlDx?= =?us-ascii?Q?bRG6OGmRXY4BPTc9JCbH1LBznaSzt7U+gSy220p13uu7dORIHoLWk4QGoz39?= =?us-ascii?Q?YipUip06DNwbgCQLTUcm9GTHsej9c3EiZlWQBjoGDai7JY8SjnRrqb7QoGMy?= =?us-ascii?Q?8D99WhGdRZF3JhrHkhUNZ9dRpwHBXrPPvB0DyugnoovMrAyUNEmqQVcRan/+?= =?us-ascii?Q?f+vgV3pRhntb7CcMh7MkL5qMmCfp1rxn7bdPfx1tTTh/FFJGVBG8b+vG0quX?= =?us-ascii?Q?dMh1mgIm+oIcUKOHGiu16qsZE8Yd+821iMCgdp4l6g24FnaVXmasSXzPdTZy?= =?us-ascii?Q?0W57Ay2YLldJPf9f3wZjfavWaLaN+ecmoUNxL3Af17H98XZ0wt+lPGqa/DbF?= =?us-ascii?Q?AjtomEhsRPOKHTWz+R5+VwpAXXAPcvnXlIdR0V7XGcEXWJUTRqHUaH25ZGlp?= =?us-ascii?Q?HkW/Bhg2wqLBNO5BEgBN27rlYzYgZM8fajC4ED8yxir8wfsuO+FJGjBXvm9z?= =?us-ascii?Q?VnSi7asYuDYUZ5UfE1Jb4944fbczOKHkM9HOlmm6K9vL0vhGPUEF3WMDuilv?= =?us-ascii?Q?VA5vKTJyL+INSxaLz/TTN6sQ1BivPZCNUrRxBtBwXcWRBkDZg8vYfyarLT30?= =?us-ascii?Q?EOvTGMR7ZyjSWNqwbb0rqIokrI5kwjuVptiZXnsPMZegD1sACRcPIyJRLn8n?= =?us-ascii?Q?bvP0n4rbU1Lc73t7za5tC/+2Ozk7piC3ahhqIOgEPvkHGykP9AkUf+ZAY11N?= =?us-ascii?Q?piuDwbY7qVIK0NM4PAYgF1JPledyL0dKlRVzjkPe8vGd3t9buEkJsnNf++cH?= =?us-ascii?Q?9jeIQWUImDtlLbZIiKNBIGCbvULinlpGE7yJz5EK1qqnLq0LnfHJ7XT1vlWR?= =?us-ascii?Q?1XnUskbK/sigEt8NHM+gNB/Ofc/4ySml1aclIrd2QoFX+KD8ikN/4oOKqPk2?= =?us-ascii?Q?9h4soTGzVTOlx6gclwOUGPDG1NILayVOR2ynB+BxT3yW1swJekiQLRiFbUCX?= =?us-ascii?Q?se3e/omGLhUOGbdgMyMyISau9AE+9pvpfV2qhxOhbLrAYIz0OvCc1PhnzkND?= =?us-ascii?Q?NnHRNmM7sGsJXl+FRXmlq5+seYXZcz2hg2sLHzn63+aw9yU4W3p0MQXzmbCa?= =?us-ascii?Q?/CD5vL6/xfd5RiPD1bfYgtvLqis4yKY2FD6Mzya8Imj7+TY8Awvs555uXVBT?= =?us-ascii?Q?HA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 4715abc4-2d64-49bb-96c9-08ddd38c283d X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 19:21:48.2475 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8d891be1-7bce-4216-9a99-bee9de02ba58 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CB7nPK0DI/AYmofRWNgMvHX2uQB37LgD+jxsbHDob+S+es9rMkZqD/NZmTHwZpNLbV7lAdXdhcLuaiRgfl360BPJg9lEFw8PLB6nIzgEtMw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10844 Content-Type: text/plain; charset="utf-8" This driver can accelerate single page operations only, thus continuous reading mode should not be used. Continuous reading will use sizes up to the size of one erase block. This size is much larger than the size of single flash page. Use this difference to identify continuous reading and return an error. Signed-off-by: Mikhail Kshevetskiy --- drivers/spi/spi-airoha-snfi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index dbe640986825..043a03cd90a1 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -618,6 +618,10 @@ static int airoha_snand_dirmap_create(struct spi_mem_d= irmap_desc *desc) if (desc->info.offset + desc->info.length > U32_MAX) return -EINVAL; =20 + /* continuous reading is not supported */ + if (desc->info.length > SPI_NAND_CACHE_SIZE) + return -E2BIG; + if (!airoha_snand_supports_op(desc->mem, &desc->info.op_tmpl)) return -EOPNOTSUPP; =20 --=20 2.47.2