From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 4986E2561AA; Sun, 12 Oct 2025 12:17:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271446; cv=fail; b=Kt9GrtuhukXyLkwNtZEezKfTzMUKonnB1QnNINY0//5mj+H0qUJoJ+LxhTUEU35DoGjH6HmdQSuww66YDEm9z7OlsgczYQ8la3uNcFdmiVzJjs9f8ycm1JlDPP09wJTB6bu63llVJ0/tBNZmLforeVuS9nLM3hOoiGbI6xWpvkc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271446; c=relaxed/simple; bh=A1bSBGy2kZH8EFv3WwQRHeaHSvuGuDCdM/uEwJlCwto=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=iIuGnU6oYwknsDvb3uDpXegkq7SU3O/iDaK4yyxwOZ3GaBYl+MJPKWDeYkzkhPfHmd/LVCbKXMknyYgEqeFlhpluhb6LvWb0OU07/kGZGZpZx3jpOswPpDiHqlpwz7KNRnczKccKrOYWovbCi5PzCdaH0hN7CU+n5uoNCmsj5k4= 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=zf6dcFBH; arc=fail smtp.client-ip=40.107.130.88 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="zf6dcFBH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BAa1b141QWQ92Sk9TGuXb9H2i/IM3TiWZ0gTXbSQ60ZKgbNfgFyK//L1gEXzVnQLWARvNeEh5RleHM1pogADQGv8oL8PW2xkSr8dMhUFfEZ/Z+buotaOotek53BpY19MLQT5PLbtXBh6ag/lf4A0mtAhvv87dSwEnblYwE4+pr30IQzRauLLzGuWXituP+Tg3B2XWi16w7fdlI13BE/4B09Uqw7Q1reQ4qEIegcO4WXgpXAm48L44tTVt+6pct2/0BeInCPF4l1x6CYpPFj2WaFJvXfCXxe7GZ+ZjDn9k4f0kfcySpm6dCUf9xih+1ZtN19qzQN7ih2WsBbWbB8IdA== 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=DHZ5zpP9tC1wl8ucs9JOwOjBMT1xIexdwM8R+ImbukQ=; b=KWxlGp95jz5DUQzmBHNuYNbjnj59JBZHGru7IMUdSDA5uq6T76Mlfn0rwhOpVKpaSPTELwpb9nSJvXP6kHyWarU9zvcRO5vXpoHClAnGwmqdKWB6S/1d2zLeOVQnJF3+gTp+9599PavdsA6VqI1EPl/8x1DhA1qQzez4sihEC5Sf4b+pxh4Jr7rrb1YamNqpN2F+7x4aHcJ8isw5tGjEd3LnKU3lCAR2Z1zrx5+CabYp8ZG7QggdgbWZO07LMXieiKVQSraXd95ca3AxKpzyR6kWE/eWinQw4d0nfRVf3N5wbKF9CrinSqnLwoeoUylBd6rdLyplqcMEuZLy1tZCWQ== 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=DHZ5zpP9tC1wl8ucs9JOwOjBMT1xIexdwM8R+ImbukQ=; b=zf6dcFBHQI7CfbMaToqO+Q74nTAYH0Oe3PeydohZsIwpGp0QQ6vuPTPPgAckcovJBjffniXSzl66F+K4QfL8Pp2V9wLUmZvL+xIuDKXDSPSmFa/azxxMXuTSRNS0pbOZRT4UBZX41v/jyEw2wfyF9yEihNXD/Oa6qWoVcDpEyqVw4EREudrdgeX4BgTHIRDpGVwz3MfuVOvHHPhTmis1Bgiq4itDJ+wZ2Efofqf4XDq5RkCGS/g2Q5mUHu8a2A9gpQDHHaxhVnrcRQauRPdnD9uFH8l702RdkqqI+pD/PTQf7tfpzeCGJMMxJZE1iZbttcS+bxVkkTNATjivVGPruA== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:18 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:18 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau , Frieder Schrempf Subject: [PATCH v10 01/16] spi: airoha: return an error for continuous mode dirmap creation cases Date: Sun, 12 Oct 2025 15:16:52 +0300 Message-ID: <20251012121707.2296160-2-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b4f578b-1dc8-4d60-fa30-08de098949c1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?9lX6rkcIDHm5WNJb5dirs2fw4Y9EPVTM4RNaPhgVF7kkIuCaDAw4Epq5qeq3?= =?us-ascii?Q?DYOoh6zMVUkbOgDQlhUX1cVW9Fso+Jnb346h6f14YEs+cV7Zo+gWJSojlNtt?= =?us-ascii?Q?2DjtoxFOD1CL/pV4t2PP79bns9HwAmbslPOk8O5oiBxxjpU5FwCKj8MSKzXr?= =?us-ascii?Q?aEiMlHfu54CE4EeJLaaNWsFFQDlZmRMNOTLSde9IXmcH7hz9OoKbAdS/v8ik?= =?us-ascii?Q?ZUA/eVro0SJyxwmEH9WBoM3YdlXamDXvbptkhH352cxFDhENMs+sv6hrx3Zi?= =?us-ascii?Q?22Jfl0BPQJ2YImGCAKFmU7pyOIwvw/0Sw+bD9dzfcXLMSGBq+ID7eWoQROHJ?= =?us-ascii?Q?A7UaT86E2gWY65N7NSP9OR0u05NmbSiedD6r5HYzXtBgdxuZpJqZ7G1QciCq?= =?us-ascii?Q?BBRYMhxwWGq+zGooH0/wCXUWfGDlZZFmbCTVmkx3R+g1Kp8qOzePLoU90UBe?= =?us-ascii?Q?eCNOA54FV4McNVhHA7PtyKns9roWo5CddnKHMtDJeQG8V36I5Je4alo3NbcK?= =?us-ascii?Q?GhPTN06pAu2D/4qDbmNmkKGZtssmAO/B0OKhgpnvbiW3Ey7+SHjIUbmPOBTz?= =?us-ascii?Q?RDhobLul1uyiLcfZBR78GGQiK2s3CWYpOdN41zdoMzZ/9lieFSAIGehsr7xm?= =?us-ascii?Q?mAnQ69oTy86qAyiAA6SLf6EUNB7J+BS6t9l5T3A6KxeSXKN1S02bbNMqqGsi?= =?us-ascii?Q?PmHstFV14RD8q2vW/caiGDzNiZcotV41cjq5pNgA3EEV3UsxFR18TmU6F6qM?= =?us-ascii?Q?eXcsR6f0J7VqIXPSetCRQRk9JA97D4LsIMrhcFRkPctvfuiXTqnpmmX7jaAj?= =?us-ascii?Q?9TayG0tTw33BKft952z6LUlMlROazLm+75j83WJZwiwIk0S5Axa33L1I5ONP?= =?us-ascii?Q?6zfr9trBsiqV6ydHWPNQiRWTq5vf5k6UdGS2M39iY27qni8cpeAWBicl1he7?= =?us-ascii?Q?Fo1eYWFhbHWWFqFrh6EjDrvwhvPZgJ2cc5sMC5mzDfpAVfgqyfps2C1kVOYa?= =?us-ascii?Q?hAmyxyd6rD4rhzFICA1xUhH7PKF0juG1NDwjYVfFndYwz+GBkeA80UQrdiUh?= =?us-ascii?Q?6inoFRvyrzsXkuJUHimMhHdW4KI74VMGbCR14WZiYdUBfqmWw11/x+rnIlBw?= =?us-ascii?Q?eCMlXrtpEqzB0fZjR6QCodvP18+GC4fvUIbpPGMlw965sVKRjamVCEXPBRzL?= =?us-ascii?Q?Mkw4Y/Ic0mMSLcFcH3uSpMxHtHGPCW6k16zrsMnIfCKU/TTivubv8DDMi0ap?= =?us-ascii?Q?Kf1q6r1Zhs0CLTUr674Mq09T52m75yFuiaXKCnrTjCG5ob/I3K6DJVJJwzbf?= =?us-ascii?Q?YJg1ZyPqKwu/nEN6SLEhjTHy3EnnW5fO5RtOv/VENu/cYmHF1wNeGNP9LddV?= =?us-ascii?Q?nZJtpmcFMbed1a6DBv5QbtGNDXC2UbLXxDkPdw3Yr0aGCPHo/6/hmdegvyk/?= =?us-ascii?Q?rTtYN9GuwIJPPYcRNWwt0HgXDcmEzGp+7oR9PEbZb1C1hjK4Wz5DMYHXkbWN?= =?us-ascii?Q?VfmD3T79WhS6WKleyyKs3CwaF0zLPJkDNJ7GkEugGa9TLsmDQ2prMO3Dtw?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Y9CYaKcgOrBBPzU8NYn/8jx5QMB9EBWmj7v+ZJbhReHqMxxwLL6nkSPfy8dR?= =?us-ascii?Q?lTsAYLno3cAxXCo3JmL6DQsq5YAGpzA9Oe6zl3U+YlyniUX3qLS0nus61xto?= =?us-ascii?Q?lN17k5iT0cgQfFm8gt/Bzef9X9yATh7Pa9TQEEfuL3y/hsWKgwqhdgrgUwJQ?= =?us-ascii?Q?2lo8SuwJbCzjLeVsLO4bFKi4pD9T1aJ40eXroTDYCfXARkCXs8lp/84V+GhC?= =?us-ascii?Q?0KdqrT+Wwkv+kUW9Y9xINeO6jRnARIAKPdnBTmzDJzkMn2zYZ81zvlTB5mfR?= =?us-ascii?Q?/sCF6c3X7yuGKp3/edr/a5ZyGzPKzizPM01YJfD0lquXJvlyAP84/Iw1ZgoV?= =?us-ascii?Q?DFshjUsoAtNsquqT7O7UCtkbWKiGSBFGnXdYhaUrNXTLXb7U8enW5LacBnlC?= =?us-ascii?Q?pGqvJf7HztToGiMpvVzorXPpXPf3JpUtWkWlOF2jvLIoFEXJVwKk4CPnfHhD?= =?us-ascii?Q?Pi9FIdZ6rs8n/1AHzmzD2gZVyLkvnNRtR2b4Kp3wMhBVTfP/HzoCbRKRqMK2?= =?us-ascii?Q?JMCBNkw8LoqbwBHYtrfRjc+p7KnbCFAIGJU8OT35hwD0Jbe1z03/acc//glB?= =?us-ascii?Q?UxOgsQIUApq/Ea5IZpCnT3zV0KnaelOPskAKf5jImRNqpd7OO2OB5pBVe16l?= =?us-ascii?Q?oKZPt6MEWOEGfV0M4OcpgtgGfeE2LZgX2nW9k+aixlbrCpro42r6yKeYu7w0?= =?us-ascii?Q?5/YWfbEIyud2aIS2ibYXJ1piQCaXhO61W3wHGqPz5bHupHj9eh0crNdpqzQV?= =?us-ascii?Q?GEh8jUOmvBDl7aEia4rrlVZe6Op5JeaXToVLbnmI+lNqUhlp3akx6DRHhd4b?= =?us-ascii?Q?1/vC0ny1URSpHy78MRSmkaxKE70+1T5vicAdLsGRv/HFrgD23CPdJdyZyPoy?= =?us-ascii?Q?DxMt6OIEBXzXwN0u+POaDRIwYi9+1u7VPGA+5fVxYkLZXOXksbjNoySOt4Aw?= =?us-ascii?Q?8JPyzCYAr7jVMgp7TxrL4l7ENa3RzsIah3mh1+RLjqc3Ytou1KnnCGRTnz7k?= =?us-ascii?Q?unyzn8Eezj4NK7DBPfxf0BIljMKBVe03wAhbpIF7qxWGYa9l4biFxDAm7GHy?= =?us-ascii?Q?FQuqGurWlMFdyX7SKZi7L9mSlvWJVX2W2svszMBDHyd45zkbz/ZNsgDXTiGe?= =?us-ascii?Q?qRC5CyYdaa2mxKPwx0HX6vLMaWCV6IfeUBBtQgTgoqKBqGwWGKsy7EBYMVCv?= =?us-ascii?Q?3rSaIe8AU7qzwvN7HlbWHU7v05+0+xxfc0W9t8by2tRKyopyerxJ3UnDDqGd?= =?us-ascii?Q?pNAmb5PeM9WDPPVeH6rQT1ia+48CV/vVul4aUSOmV12ht/ae8wk87whmwy31?= =?us-ascii?Q?IYaX8XfMYyz5HlP4uKfaOnQERMJ/dsbL8SmvYQahOk7FOlqDOvHwyH/qPIB2?= =?us-ascii?Q?LsoieApehdpprXsL0TxczaqSjXtTebxM7OAnoi9/FmZxjnVm8LE0KKVIyNRk?= =?us-ascii?Q?PU6RdDdzb2Qsau/bNdszYeIqxZqWWvbK0x6AfalBZufMo7B7RsqKtxcQl7Wi?= =?us-ascii?Q?3jqBChKV9d4SsktxhI+wvhWM8fmrdKYSwdECW3YR9/IlvJjdQDvXS6R2O16s?= =?us-ascii?Q?V1R47OWkMg34CXKfOvIXl+JnpOQiodhEvgBaqtr5atF2Ant+8wVv/HsSN7dp?= =?us-ascii?Q?/w=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 2b4f578b-1dc8-4d60-fa30-08de098949c1 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:18.8130 (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: l4LaHMXYWHmdFpYA+7lz+eTQ3vudQfk1yqOYJw6zHRUgA/gUGDJgFvGLGLs9WxrTTlHS+2RO6TCFgKj1959Absnh685Ef3GN++SVsmSeWGk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 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 Reviewed-by: Frieder Schrempf Reviewed-by: AngeloGioacchino Del Regno --- 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.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 7A15B2749E0; Sun, 12 Oct 2025 12:17:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271448; cv=fail; b=JddGGnSbj5J/cZONLhLMMgkrenKLAZPbSkkABslCEMru4WmvMryUAkpCjRhTgzKi9u8OxcYHS8hwt37TQr0U6tEHabnwkZCVIjtxR1GUtzdrpTRqJK2PekdDJ4I0pOxUDZNI6sMqIFf5wIzPlQr2P+Xgt8CKf9p3qdWLy/+jb+M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271448; c=relaxed/simple; bh=obHIhFUcGxmWKO6movIYZRxfkEvNHpdj1r8QrGoJf4Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=NgeXknEKXQwuE6ew38hvS7rmLXl/dcy+pVQtUD1AmVTHCGLtMzHn/jtC8jxnTfnyxSk/k8hpzbsnevYutQIhP0shl0At6Rjpnip9XRmQWKB/9FlMdy2YnDyd69b1kFSsxWSckzH0sRMss6AoZ9u3l/JQsIRv7IK1keHNar/rLtw= 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=Z3IqYL2v; arc=fail smtp.client-ip=40.107.130.88 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="Z3IqYL2v" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hFzi19etu0UzQ30FmOxQsTRnfN1jvOAAyjw1kIrpDYMoEiPDqoyNx9ndVnh6Y3FsdzaOUlGXx5WmZXfVDNbief/LhEOdmL5um5s6BuTHpdEPCeNw2FYUvH3wrgWfi5/LoQfJ+B+mwdmewqRxZq2JB28Ttljg6GFPUmXi7we65kELiMd1hxjOtP9BVfzwoWH1kDSvJvmqwCaI807EI+wvcwT4y+u3owuRDTs7QgfaBoOOvfXT0OF3olxxZ48t5i+BiyqcOBvkDMz7Yk/TxPbi/+iGFtei5Z57PbLkpmaJqmYgtUepBQDrjF1HrHluyUJr6osQDvDXu2q3t9J6gYJywg== 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=18eqlHdcSvn8mzWmPDAf/8pve1cI5mVsrNxED55XZZ8=; b=Wf8hIwGr5KL97qltW8zK/7aCPuV7yYWrI5x8WRozk8BjJwuwJx5LLEc6ybJeI/H90ewtP6+AHcD29/GpmfD3eSwxz73bgnOhZgJyblj/1yXbWO/L4OnUz00HWyT7YEWv5RnxDXQFiBoErYvb34icc6n/kJJ84jOObTXvkVV7ZPNjDG/W+NBk7wjTEDXKdJJ2+G2dOmYkNKzRLUlYfwYS2tJpGihzR37QM3FmzmuuLJiOrpLn9IL0q4tA9qpDc4cpR3DXe4IY/1ikt843E2DYSUn/tNUWLqKkRJ/fgbMqujEPT/PPUuTZQVvoLj9SPy7E6l8q9Y2KQ9/ecwbLhaKHxQ== 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=18eqlHdcSvn8mzWmPDAf/8pve1cI5mVsrNxED55XZZ8=; b=Z3IqYL2vmNEmmLmyS0a4KOOJdwtN3UtmxCFMJ7lHSSduaMmtX9tghJOCPP2xgEbBCBW8n3k9CAE/L5b5iGUpGByQ1BRAV7SdtZzUQUufjg8PV3pZHbWpVsHoxBbVMbWmsNLGM9pQkviAEWOnAhQPjnFQQjZlez7+NgufPvJP7Z9ubPEoS+mVbMipkbUKIu/D5XXGD6gAQ937mWUuRbmGH/9DZZDMO1yFBWK2LtVuLDfuCpEMrd4LutJQER7kTDIcH26XW6hguejjRIr9HCUWFHOiO3L1+t0m0mFjHcbAAYNUnG95HhLESsHwl4Ks1JgFMmypO+gST/5wi2V2+mVNlw== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:20 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:20 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 02/16] spi: airoha: remove unnecessary restriction length Date: Sun, 12 Oct 2025 15:16:53 +0300 Message-ID: <20251012121707.2296160-3-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 910fe365-c7bc-411f-8d96-08de09894ad3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jgxY7+QIP2Zb7eZEIJLYt++fUR/4GoKxaOGqwx4qKVZ0bx3bngez9Uaw6pFt?= =?us-ascii?Q?+OTEHGhOlTnJgHBmqZ5hBi06UhgmaLbM8gyah+aajjG88UhfwClhYMPw9ERv?= =?us-ascii?Q?lc2m1yLZ7WPRp3OX4+Tqv5d1VeVr9EBXpOd+gE3c6v+BSE2+cbsSQVQcxCj8?= =?us-ascii?Q?LCPf/gDmtSJ+Rl9mTwsN9akoHspQ4GQr0OF6nzIKbNeB9drcW9bN5qvLq04U?= =?us-ascii?Q?8pfEo260TC+0kKpIH3snxL8t3FiP7AxPxK0Xi8vnhcmWBCog9lxg+LqTm79d?= =?us-ascii?Q?YJ9zaqzv5uJoPk3zMyucyfqkhzxF/vJGE2OJMgYnMUMWz6eV6EHVMYoFVf72?= =?us-ascii?Q?IEO5yWNQhs2gEhYqaJs74UtLQW4Lu5QzBBowM/4r3nC7U/HUcuP81BmY6mju?= =?us-ascii?Q?zxLsZJHTTJwloz3Yf/Em79PaRsLnxxsSdaUYCcwGGO1kqY9GCfGiL8nywbgv?= =?us-ascii?Q?0wzZ967e+fM1858kY3HToKlnsgZY22u6C1RdV62swh+htLdfPnjjlFex8Zg9?= =?us-ascii?Q?2ZhAosb9X5+X0/Sk2UGQcwCqh0Bd3GKWmvzzEsgqsnGxlLS57yFQoKB1d4Lp?= =?us-ascii?Q?DdDaBQ56H9zZCRmDtaoUGM3ZbnBLqL5fTundDo01X3VyIGs3lw2hcLQOjS2X?= =?us-ascii?Q?ELm360qCS4d9OalUt90lZQCP3NwnlCY2R8CH1zdHRFK/6Lskz7jST+1p+88D?= =?us-ascii?Q?5qHxGuJ6FgLCNcjpzcpOMcylUtMcrqFbR+Qj9LPbHyg3JqgBTJ1yGEgxIIOc?= =?us-ascii?Q?tmoEOLwHSxgUxDdxStVeP9JuCuO0vNCdfU8DHf+FjI1ZsKE9Z/lU6xn/r+9H?= =?us-ascii?Q?N3O+xE9N55p/VXT1pucVYP6gHEefxxTKC2amswPDneO+/rL4YS98rv67I/kI?= =?us-ascii?Q?WV6rddGbhz7VU3Z/OF3x2NoZC+aSbIxAhxjmkAMgBZytOQg6hlHXgEvHsPwV?= =?us-ascii?Q?f+1GtzJEoABq62U/DbtinlZyKNSozkNpT87RoN9kwQOKkTDYYeoEymrJbgJo?= =?us-ascii?Q?CoMPlUlc+XUwv2HGrmdX9DU4dsWL6td+MZ+wQohhx42NYoXP0adHT7MxJvkf?= =?us-ascii?Q?Bsh6mqFvLDWCZEWmmPg4i2MfgHRGUtGGs9XPLc+8QXKJA/vkf2b3fl8GOa7M?= =?us-ascii?Q?t7WVfq0NxX2af+gMT+BjkRg0SXEWXJEONJEfGR43rkK9v1dnTTzZT1/nrz9b?= =?us-ascii?Q?paDKgKWQRm0uM7D2CdFMGYkl6iONGK14+ib6RWlFdctxugoxcFWz1AtTrGa+?= =?us-ascii?Q?bXgLvwL7Xydpz9WVQ1NJ9Z5iemRCdXwFrfZ+s+PmEzfEJK6XefGmWubWdgaF?= =?us-ascii?Q?06HSProycTuVB41U4rPd3aef20z9brdO7t5db4rx22hHxFGNuFjXeDO4A7uE?= =?us-ascii?Q?e8j/dfwvZAM5JGx5eysRSsgIZNMOM3u5ChCATTPMudk3YM5kNtlob8lV4bmZ?= =?us-ascii?Q?CxU4e51V3fwCb8rHUgipEpRyQZOP3dY9tD499aNgxFFH7fkTQAgqXU48LqTt?= =?us-ascii?Q?T9+JHxLdsc5DYSS1lqQyIVaFrG+KMS4qfNFi1CDxnY27pk3cjyesXYz6xA?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dVp3424DcCGSuH+MnbATvY7B+K+PuVt2CTArpeiyHNRou7y7Cuh0t3WqMIi3?= =?us-ascii?Q?OW2cQOJErPE/AXp1tj0bpVlEp8ZetgwurGFaj9ObkvIWcjTP/oCHdy3Z2was?= =?us-ascii?Q?dOJ0BmB17MjMBO9KhtzIGkNjmVh8FC6bjF3v3Ohrg2sYl3gHuUNP3Pb+qiIr?= =?us-ascii?Q?MK3I+nhDW3b4lQu+fg4RsTtHvFrTsByVksHWWj73W0qSJZ4g3BP6sR5vGM1f?= =?us-ascii?Q?8w58W3hvbYmOd2pAIvGQnzOeLRGYyRaTc6qhI1vHEq41yyl0CyXpTdQo45jL?= =?us-ascii?Q?b0g3K/H4hkGPMiDTya8yQSktrhH4DzIKb0u80rY21syvnbxsH6coylx9tifn?= =?us-ascii?Q?0BtuigUX24QtJzkV+z0nwsap1FpP2Kr+LRsls53A2quikdJ5h4I6L8gUsByb?= =?us-ascii?Q?p00qIbZw/qXYcZ1tNyf+n/w9xAhm2tGqhupUcb99DrFaXFlS1grmhd7E64sN?= =?us-ascii?Q?o2SEc5XNoCnUWaz/7Wo2Bxf+pAmlQ9MGFJVQLysQFSHyNps1fT2guQ+Q4jKu?= =?us-ascii?Q?wPpoGBuhIk5sqkm0r5AHzzTqyvn1oc9twH7Ft/hmzqrE/cQKtUVsSeAyQgGF?= =?us-ascii?Q?E4McL7OZxEwxvo8XiO5miGPChRsDOKBC8S0dkx5Q9k7ykCCLSTTMp55wryXz?= =?us-ascii?Q?tC97yruiLEh4rNzLFDm7tn800JwOIauiEGwr5ExNEJenVpOVfxCRc411fZ4Y?= =?us-ascii?Q?lBEUU+1jAq5ex3EmvwK6rFyWCIBoVU/nT4CWGh3DSnXVS3w9RUR4i+uVOQdT?= =?us-ascii?Q?7rThZ0a/pVe6o7qfQaw88OnZ8YHBmaoiuxQtiFpI9VB1S2gycQK+Y2P0Iv5a?= =?us-ascii?Q?9b40FexXYmLeSTAAfRuS7Vr6mUv+lNt3rN58e5iBHOxpB1Wf4NcaQuN9Rijs?= =?us-ascii?Q?YngLf0I0cenfLrFqRXaZ6p6rF5TLkyA4yU6Ak8nnA+pGbT63PaTurTVDwrkL?= =?us-ascii?Q?2QsprYX8jEouk4S1EuhDEMuvsE3j8waouTIxKKYEA8FMmh0nqQYI8EhGtXn5?= =?us-ascii?Q?8oEqOpsnSXc3hDoXp2PMR3U9zDVlW3H9dncRKVUoYAZFmfphOqtMbe+i0qbC?= =?us-ascii?Q?va/fsEAHa2xwN6LaDlLd8iDJPg357AksIS6/GrRPMZm6lcNaGg0KNX/L32sr?= =?us-ascii?Q?TA1lfR1ujV9UHpRf7OjBg44lfg6qVPZUteqJ8XjjuSKcrxduJY7Tk2DexOdu?= =?us-ascii?Q?DR4cQ5+3e3Bqrbx/ZWWaW3rS0v6mmtOj/ILFI7Mw5aW4XsdQLPrd8LIDFMv+?= =?us-ascii?Q?Zd+5H3QX0MRIrFdEc7YufBxkDhcQtcxAfKA46fp/eWNbOfeSTYh1I77seIIj?= =?us-ascii?Q?YsiC7qw9KvdEb3ixdLN6kzSjb235rfoudoRHIJgIAgPFUXhiAM7H4GneWO6k?= =?us-ascii?Q?TuJ0njktNuAzxedhdcxwu+J1No8dbILUPDDQzwyVaqu2sSKaP+vIciOZiNry?= =?us-ascii?Q?tK/nfBrn6JcVsEHTvXcEbzN7HT52ziEZgm9uPJWhIdtC3aN6CJ1yZ+BbKVlH?= =?us-ascii?Q?k/wWmTOeWjQYVif0sVQlzgxgVz2QJi3oCI6S1y4GiHc4rp9sgHMqAIHwewhf?= =?us-ascii?Q?SCyUZnfQiv7/uj3evpPieCsCbKVBfdJtoS66/UpUxZrYM2kHVJd5cUu5saMZ?= =?us-ascii?Q?1g=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 910fe365-c7bc-411f-8d96-08de09894ad3 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:20.5573 (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: odyRwSsT1Cd/k3sKS/sUFB4iM5EkJjGYZs15wKHotURZX8jK1ulBXNAzn4gpztTyjd0YMnyJ4mscDVvolm3tSuMt7k7ja8oybEQ0TjUV5Xg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" The "length < 160" restriction is not needed because airoha_snand_write_dat= a() and airoha_snand_read_data() will properly handle data transfers above SPI_MAX_TRANSFER_SIZE. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 043a03cd90a1..bcc464ec9c61 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -579,13 +579,6 @@ static int airoha_snand_adjust_op_size(struct spi_mem = *mem, =20 if (op->data.nbytes > max_len) op->data.nbytes =3D max_len; - } else { - max_len =3D 1 + op->addr.nbytes + op->dummy.nbytes; - if (max_len >=3D 160) - return -EOPNOTSUPP; - - if (op->data.nbytes > 160 - max_len) - op->data.nbytes =3D 160 - max_len; } =20 return 0; --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 98866274B58; Sun, 12 Oct 2025 12:17:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271450; cv=fail; b=rMYJtdru+FjDGxGhPxJUWJ4khSxCJX7ziCVZ69E2nQHy+WS2qNQ6YfSZRck8Dv148xiZZukI70u161RK3pLCn0IobrXHjtofEBhuxdJE6hBon0ethAEEYzMxpES/ceA6Qoo658oeK64+294CuvFhGpJ6UW9+y8LjQ4YGSWkmV4I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271450; c=relaxed/simple; bh=4vEupTlFblAxVYLWw8wNiQeHRVE4Pd1f1C8AoyYUpKI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=W7yNG8tEucT5RUn3RHSCU6E5UVSmSVuCACxXXjvt46zVZ14tM7RBFi5VksGF9Co0uk38WcqirslOByhSAUVqLZntOgH7DVFSkq7AisdYOU6Ao/pFXXzYzqTmJ8SJrDIiIyd+fdUFgYKsNicLZe8Z9X9Gns4s+F+Stk6GNmDOanc= 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=IAtmvP7R; arc=fail smtp.client-ip=40.107.130.88 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="IAtmvP7R" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hbzDYmqUTtK6BWIFJ7Qm6rZYqtZu7RujKdkNUqPULUwuN1U2gICRzDS+2S8OnBfBqxk0g1qzvLnAkHSEOgNnitIU/guaFDd/ecRibPSZU+rkBG57PtioMteLj5bfHzyCE73QfqPUEqqq4bE1lQCzzMVkApsKeYdOIIXzUom3UV3GY/DmpY8pJqIkzWN7A63TOryKIDGjUVdegt48MtgNNC/Getn5SWprngJ/J7NOcEayWCopP9q22TTLWkd28LPMWMppKeOM3I9/ghbu0QCbNdlIONo23KRe6e6suKumurTRUvcxA9tB/LPfa0OrzH0iTVblfQxitr/CvpqXrKswPw== 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=vYefZq1Kji++ENuMNeN4dsMVnRysysPfLivp5ZCp2Ho=; b=K/9rUxpSRKjcNCiqjJkaIaVv3u/bScF7qRz+I93ORz34iJDSOZtT95e9nFNy2Yf1cRvrAja1QoUeXLAQwBkss2AXtvD2TzUgiwf3SdFnCVAyMX6DJyfBDkRwqTzNe6OqQCvKiyX+/x80/KH3NJRsqGzsfyT2gkaneV7GWXzy712AAPv2Y2duKrjKJpfRCJw2lj+nYJ13y74urUD6NXUOEirKqjur+me6uzq3GKAFeEK02wJaUuOtw6Kw6IrBKBXGwL40uGqjAxwjLmiI2TtC/mYNdjxdAgpQJ+LF30YZ50iM09yw0WmmL+bMgxAq3/OCcZfJIN9eoLpWStics0DT2g== 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=vYefZq1Kji++ENuMNeN4dsMVnRysysPfLivp5ZCp2Ho=; b=IAtmvP7RNyPHRTg1r0SPQb0jxLAGfnFjodKoHI/KiS8fZ8828Vhhp3MBOl/ke+V/h3A21g+lKuttYZIUHLzmI3N+wN2xnmYK8WXEDeaetR8yIFBtYHnTVHljT/zbIP6V68JLw+fXHceYCzXngToKbMl+A5t2GVnpgDJV9Sd86ps9vKlt3FGm9vCtxBjkXzqTwZymIU8VbKl4+fQrVSZRsMaQIePgPDCkP6wVcuwZuhKnvcJrYjIfDXCwak95iSOx5FonEmEUzDB4TFHZgw3Bh5vAV/j5uE8RuZmlRax1c9IPEMicsvw3oZuGuRIEuok5BDjn8LHA/GaBRBE5J8HsKQ== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:22 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:22 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 03/16] spi: airoha: add support of dual/quad wires spi modes to exec_op() handler Date: Sun, 12 Oct 2025 15:16:54 +0300 Message-ID: <20251012121707.2296160-4-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 0db36259-18e1-4e15-ec69-08de09894bdc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8sVGp/WlIPJmMmz23iU1jxMl1V9VplF8Hdudose0l3tJfT7NqrFJL7QAqslp?= =?us-ascii?Q?+jE/ORv3Oo2UEEj/71thhP7Q9yVI9X8HxE/st9yEH395FNc77j0N6mf/RZLd?= =?us-ascii?Q?gTnWvvB7THGKJMTwXhENYRDi8Y2ENztNO6n7xQUkv709eVaxw2bGPmVAdh+u?= =?us-ascii?Q?rsF4EszE2o6vgm6oWuRY+F0FrZKSoZ8Hzqn+FeJYU+VhZDT4HExxes7j5awz?= =?us-ascii?Q?Sg+//m5qXI2/HZHFf7TXkHZG7+cBn551HGE52WEXC1jfWaX7UAh81lYhFxce?= =?us-ascii?Q?R+NA8cW3YE1LM0/pyFwcdv33GmAFS6oe/ANr7TtUoiDkNmQPL82869JP/i53?= =?us-ascii?Q?/Xb2148wFnbPXsQzElRMHegGDmWKBrwoL1H0/js0Rtg+yQmxOW41wyA8RnCT?= =?us-ascii?Q?4MCyy2Gy+7k+OKRA52/CfStyESUqj66p85IO2AsfkcI0FfC7JhiMwv2TjRe7?= =?us-ascii?Q?oeaw+CNjXITGuDichFdKk5t5UHCtmCGJNzZoeHlzCvRuS+8E6rnAyxh4MGIU?= =?us-ascii?Q?3elGHXuh4AFE4A9Y77jmNg2sc+dnKwFwhOb6hZjXc7oZyDXFeKXaFwChTWPP?= =?us-ascii?Q?9ZRmGg5R+FQHGWVq5eXR2vSgDlAhffeYUPgaj8NtjC+vMFHzFLKmJlecoXOo?= =?us-ascii?Q?/yprciUhMO8lLtSpF5o6SRaUe9ZGGTdpjtppqmeC7lBEf5AVuJnF9njT+tgH?= =?us-ascii?Q?aKxTUel5PiR/Y4MTpi/dIANuyqr8oMkTrevjdL5R9mczROzxNcOQ5egc7Lln?= =?us-ascii?Q?VgsfU2KLBTx+YGbZ70UV/w1CK+0CfJH/pwXdqrApi95of+mCtcKGY97f7iHC?= =?us-ascii?Q?1v7l+3c5owqRvU0oFaSg2PQlitQI5uYp78KJ3KMvbd+v7Qu0W6LNkQaD5W0N?= =?us-ascii?Q?G00e/+1m9v33q3WJwrTBhLb1nsJ/4y5zWzUkoSM+yHbTlCS9pT1wyEMRsub2?= =?us-ascii?Q?G3MLWPBRkrxziCmexVyUL22D2q54vMRAzbmMMhBWX/YqXXV5zi2pvsmyLA3m?= =?us-ascii?Q?5zwhg8old+foa91zm0YwfcOSuIx70s+hO0siXdaX2YOLAoBVa596adm3w42O?= =?us-ascii?Q?9BjqLl5jCTuLxhv7qUvx0FbDC8AbT8DZIaEsWYIhqXXRH+0nIaFMUiN7ugSv?= =?us-ascii?Q?hbr4v2kVUx2i48LGwIAlSlnS6TliT9iNYtOpPnkLc01Hs1n6BP0wcaROrF2U?= =?us-ascii?Q?tUI1Nel75pipsHeESRBk8si7oFQY3vNIojUI08V6fHyZEAE6HUIDySLFjg+y?= =?us-ascii?Q?cq4VdW29wAfKnrP5AVoRV5Y5zDB3qfXbEfuRG1az5ATe+1RAskJVL2jjV6Sx?= =?us-ascii?Q?eWR6x0zPceikdm6MTs2ZUYa+libgA1qWFIZT+nO3kan3lu/oR7NLPgTJPWGw?= =?us-ascii?Q?YI6jD6qhIgKVaftD8HU0JhOTPdSr3uPlnJKU037J5fr9VZSH1gce8cIWzfRe?= =?us-ascii?Q?RoY0Xctkzc02V4Ee5g3WW5CXvSk/0lfQmZSIdo1+0IhL1hTr/4TSK9Xa+vye?= =?us-ascii?Q?Cg/eOOEeWSJSZ8rHYQOHf/U/WVVG6PiuwJsu/jqN1WSxk+/uvIjpLN0m3g?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lBuAbe1jYGLRGpych8kLPddBs+2U0M+GK4EW+VfXp5RqedbKBADyFHtTbB9I?= =?us-ascii?Q?oCdfSzt9fwIH9fCxmtd4Y1LWEoQ1u8vsfnJzlUlI/Hf9phyQ/qEjrHg6u4M6?= =?us-ascii?Q?c9cz9O4CaMfuE0635ICSxHfpH72GQL9NJugKAB/mu75rzKOVH2E7NcFdjpsS?= =?us-ascii?Q?Bt8f1Ly4BQwYKAX3SoNNvQKrClUeUSAu44Ysk0o3vAwuVfm+ijccyGPv49ua?= =?us-ascii?Q?KT0ROJt3QxOL6ABQ3mYQOIp6zaqlnS8zdO3Dgpj5GrMFy9Ivs9BWMNEy/SPN?= =?us-ascii?Q?oVmu4MFULAC4ow50T/XSArYPJMhoJDxK75RPsKvI26Qqyq8wKqO3MqAg7sGs?= =?us-ascii?Q?X476t0lqGv9CFu6tS3im0phIJ4ne+Q7bD1R0E3L4+I1r1OgUdITIr6DW2+X4?= =?us-ascii?Q?Rzy+W71oNWQBuAWCFluN0KTx4DwUzpj5Y67SVfjLEqKS5fRkgZpCBSOET2Ar?= =?us-ascii?Q?J/1JVRrl8XiUxA8FO04YvTl9vMe7zdUA8FVv7KFSJGvUsEPMO38mG8YZ2dy1?= =?us-ascii?Q?ug1AtSz1G5E6qEKBDwsnsrVjfc7tj4mnLJvfkQ++9C7Bi1hc8U01+pB/gJFp?= =?us-ascii?Q?O6jyPcFSD9no6lL2WIitNcR1spcMs6lRJI9xYXytz2wJKyq/JnnlJfIzB2yD?= =?us-ascii?Q?x1Xb3+c514YiDejGQ8umVU1OXob32h+8kUjgIVuv6L6Li+BgXV0oblGhTrGR?= =?us-ascii?Q?Cn92u+/XInnQb9J514b3cUM8mDbTAPMiEAVCjLct32yx76y1+aLsi62ptTrZ?= =?us-ascii?Q?8g4eELgzdxwdYMbRXAXs2MZFB/LiaYHSg4ZyoURts6faHhZHh+s6rWFStTeI?= =?us-ascii?Q?Do16MukvACgagWrOWfWRnJZ6i5wDI3zc54qIJjH52GPeq9eVY9YoXBeqCka1?= =?us-ascii?Q?JVH6uy1Vau/TrPUPuEX+mAKcOzBWKs4/VKcxaRne2bBLPt+xjtdHoI78ghxQ?= =?us-ascii?Q?kBaHxJkN2hNj99QjIEGGcYpi2OZlR6oK4LAJvPFdf23rXEOd0MQGhZ9BIbqI?= =?us-ascii?Q?BtN2o6R8hkWBr+4Z0QVUE5cTPAzAoAnrol2dhRWsHNSmYNGZAI6PUpPjSrww?= =?us-ascii?Q?oAmmgiH34ZEQb/WZGh7bH4oZB3RUBNDoNdSUgTU4iqGCexJkIVZ1VITlpqj7?= =?us-ascii?Q?LvdIWY8Ov3PiPT4bSHq94N5qkKgnYD+mq5AtLgRgu7cTsa3EykTq4mz7fhd5?= =?us-ascii?Q?v77Ehm5bAgd60rDA6utqeazmABFp5cLbdt0GUFR43EklQDjLTMsUu1mStKDA?= =?us-ascii?Q?n/nGoXRQOgoklE2SFsUB4PatzdVqBeVsa93GmlDFhgdkjZhKsrLEgHZfMnkq?= =?us-ascii?Q?a8Adolh9IOlM4E7ebKytv7oFElLpn4DlibzyIzhap0vdbjRfkaziosVNMMfV?= =?us-ascii?Q?PYAYJyRTRA+Emir2YfYgny2Tt7zew9F3i5d47s+v5rPa4QRC3NK2BETrAlo0?= =?us-ascii?Q?uPBHgZttr4vA8W2zW9QD2sXfg66AtEPQFwlt4DiU8qq37tYp6YxQ0otSZstW?= =?us-ascii?Q?0O3rXwxAD8wWhrDB+bzS3HTFnMFvJGLwOPdM5llfUw/AwoOcSUfmlGB3bxjY?= =?us-ascii?Q?GDlLzxnDqjFp48RC32H64IGpCxZDdJzNRGezLZS3UzGpBiQ5PPKxoQNHFCMj?= =?us-ascii?Q?HA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 0db36259-18e1-4e15-ec69-08de09894bdc X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:22.2673 (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: jGLOqhwPBpB9QyhHnmvXGlzP0giYfZbjt4O6N73RE4x4ctc1KwKH2g7Ft5NPuH2OAqUjC5psuEXFfuYNPTzwk4vjBAnCKYyKf3IEP0rN3jA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Booting without this patch and disabled dirmap support results in [ 2.980719] spi-nand spi0.0: Micron SPI NAND was found. [ 2.986040] spi-nand spi0.0: 256 MiB, block size: 128 KiB, page size: 20= 48, OOB size: 128 [ 2.994709] 2 fixed-partitions partitions found on MTD device spi0.0 [ 3.001075] Creating 2 MTD partitions on "spi0.0": [ 3.005862] 0x000000000000-0x000000020000 : "bl2" [ 3.011272] 0x000000020000-0x000010000000 : "ubi" ... [ 6.195594] ubi0: attaching mtd1 [ 13.338398] ubi0: scanning is finished [ 13.342188] ubi0 error: ubi_read_volume_table: the layout volume was not= found [ 13.349784] ubi0 error: ubi_attach_mtd_dev: failed to attach mtd1, error= -22 [ 13.356897] UBI error: cannot attach mtd1 If dirmap is disabled or not supported in the spi driver, the dirmap reques= ts will be executed via exec_op() handler. Thus, if the hardware supports dual/quad spi modes, then corresponding requests will be sent to exec_op() handler. Current driver does not support such requests, so error is arrised. As result the flash can't be read/write. This patch adds support of dual and quad wires spi modes to exec_op() handl= er. Fixes: a403997c12019 ("spi: airoha: add SPI-NAND Flash controller driver") Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 108 ++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 26 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index bcc464ec9c61..fffed26ff990 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -192,6 +192,14 @@ #define SPI_NAND_OP_RESET 0xff #define SPI_NAND_OP_DIE_SELECT 0xc2 =20 +/* SNAND FIFO commands */ +#define SNAND_FIFO_TX_BUSWIDTH_SINGLE 0x08 +#define SNAND_FIFO_TX_BUSWIDTH_DUAL 0x09 +#define SNAND_FIFO_TX_BUSWIDTH_QUAD 0x0a +#define SNAND_FIFO_RX_BUSWIDTH_SINGLE 0x0c +#define SNAND_FIFO_RX_BUSWIDTH_DUAL 0x0e +#define SNAND_FIFO_RX_BUSWIDTH_QUAD 0x0f + #define SPI_NAND_CACHE_SIZE (SZ_4K + SZ_256) #define SPI_MAX_TRANSFER_SIZE 511 =20 @@ -387,10 +395,26 @@ static int airoha_snand_set_mode(struct airoha_snand_= ctrl *as_ctrl, return regmap_write(as_ctrl->regmap_ctrl, REG_SPI_CTRL_DUMMY, 0); } =20 -static int airoha_snand_write_data(struct airoha_snand_ctrl *as_ctrl, u8 c= md, - const u8 *data, int len) +static int airoha_snand_write_data(struct airoha_snand_ctrl *as_ctrl, + const u8 *data, int len, int buswidth) { int i, data_len; + u8 cmd; + + switch (buswidth) { + case 0: + case 1: + cmd =3D SNAND_FIFO_TX_BUSWIDTH_SINGLE; + break; + case 2: + cmd =3D SNAND_FIFO_TX_BUSWIDTH_DUAL; + break; + case 4: + cmd =3D SNAND_FIFO_TX_BUSWIDTH_QUAD; + break; + default: + return -EINVAL; + } =20 for (i =3D 0; i < len; i +=3D data_len) { int err; @@ -409,16 +433,32 @@ static int airoha_snand_write_data(struct airoha_snan= d_ctrl *as_ctrl, u8 cmd, return 0; } =20 -static int airoha_snand_read_data(struct airoha_snand_ctrl *as_ctrl, u8 *d= ata, - int len) +static int airoha_snand_read_data(struct airoha_snand_ctrl *as_ctrl, + u8 *data, int len, int buswidth) { int i, data_len; + u8 cmd; + + switch (buswidth) { + case 0: + case 1: + cmd =3D SNAND_FIFO_RX_BUSWIDTH_SINGLE; + break; + case 2: + cmd =3D SNAND_FIFO_RX_BUSWIDTH_DUAL; + break; + case 4: + cmd =3D SNAND_FIFO_RX_BUSWIDTH_QUAD; + break; + default: + return -EINVAL; + } =20 for (i =3D 0; i < len; i +=3D data_len) { int err; =20 data_len =3D min(len - i, SPI_MAX_TRANSFER_SIZE); - err =3D airoha_snand_set_fifo_op(as_ctrl, 0xc, data_len); + err =3D airoha_snand_set_fifo_op(as_ctrl, cmd, data_len); if (err) return err; =20 @@ -895,12 +935,28 @@ static ssize_t airoha_snand_dirmap_write(struct spi_m= em_dirmap_desc *desc, static int airoha_snand_exec_op(struct spi_mem *mem, const struct spi_mem_op *op) { - u8 data[8], cmd, opcode =3D op->cmd.opcode; struct airoha_snand_ctrl *as_ctrl; + int op_len, addr_len, dummy_len; + u8 buf[20], *data; int i, err; =20 as_ctrl =3D spi_controller_get_devdata(mem->spi->controller); =20 + op_len =3D op->cmd.nbytes; + addr_len =3D op->addr.nbytes; + dummy_len =3D op->dummy.nbytes; + + if (op_len + dummy_len + addr_len > sizeof(buf)) + return -EIO; + + data =3D buf; + for (i =3D 0; i < op_len; i++) + *data++ =3D op->cmd.opcode >> (8 * (op_len - i - 1)); + for (i =3D 0; i < addr_len; i++) + *data++ =3D op->addr.val >> (8 * (addr_len - i - 1)); + for (i =3D 0; i < dummy_len; i++) + *data++ =3D 0xff; + /* switch to manual mode */ err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_MANUAL); if (err < 0) @@ -911,40 +967,40 @@ static int airoha_snand_exec_op(struct spi_mem *mem, return err; =20 /* opcode */ - err =3D airoha_snand_write_data(as_ctrl, 0x8, &opcode, sizeof(opcode)); + data =3D buf; + err =3D airoha_snand_write_data(as_ctrl, data, op_len, + op->cmd.buswidth); if (err) return err; =20 /* addr part */ - cmd =3D opcode =3D=3D SPI_NAND_OP_GET_FEATURE ? 0x11 : 0x8; - put_unaligned_be64(op->addr.val, data); - - for (i =3D ARRAY_SIZE(data) - op->addr.nbytes; - i < ARRAY_SIZE(data); i++) { - err =3D airoha_snand_write_data(as_ctrl, cmd, &data[i], - sizeof(data[0])); + data +=3D op_len; + if (addr_len) { + err =3D airoha_snand_write_data(as_ctrl, data, addr_len, + op->addr.buswidth); if (err) return err; } =20 /* dummy */ - data[0] =3D 0xff; - for (i =3D 0; i < op->dummy.nbytes; i++) { - err =3D airoha_snand_write_data(as_ctrl, 0x8, &data[0], - sizeof(data[0])); + data +=3D addr_len; + if (dummy_len) { + err =3D airoha_snand_write_data(as_ctrl, data, dummy_len, + op->dummy.buswidth); if (err) return err; } =20 /* data */ - if (op->data.dir =3D=3D SPI_MEM_DATA_IN) { - err =3D airoha_snand_read_data(as_ctrl, op->data.buf.in, - op->data.nbytes); - if (err) - return err; - } else { - err =3D airoha_snand_write_data(as_ctrl, 0x8, op->data.buf.out, - op->data.nbytes); + if (op->data.nbytes) { + if (op->data.dir =3D=3D SPI_MEM_DATA_IN) + err =3D airoha_snand_read_data(as_ctrl, op->data.buf.in, + op->data.nbytes, + op->data.buswidth); + else + err =3D airoha_snand_write_data(as_ctrl, op->data.buf.out, + op->data.nbytes, + op->data.buswidth); if (err) return err; } --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 D7C2E275863; Sun, 12 Oct 2025 12:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271452; cv=fail; b=SQdJnW9xpbnwZHZRNjkzktg4LeUrS6jHRQWVuhuWsqlOcgAJ337wtNS48aQL/UskMuwEo+OG95O4EIgPG6zSCP0BRBdVSj8/gahwlc5mobc+/s/ZfU15VPNv5gSmXoD3IbcZLAvALJIDCeycY4kKoUqhalpX55oK9gyzqdg465c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271452; c=relaxed/simple; bh=ln9Uv+JjcDjysM4q50VJX3fGqO1QoWoTBi9g3lH9b7M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=AhYwHcLR+qnE6vtrCAg83RkMC+zmNuEVFMD9ASqg2h4TkV1lKhThSx+/2W9sb0r16+wNd7CmK8s/1FcEZrUpDG/62QjexZ/RHct62g/Ym5qxBVLqU1VhKmkv8lHIoep1c16xmRjLNyGOj0Ug8qEWMDeBvyGFwzHTbD5md8UF9SI= 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=o6PU3juj; arc=fail smtp.client-ip=40.107.130.88 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="o6PU3juj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mr0o2BLXlo1Pmd+FMOHm008QCN2i7odXCR3XxyRXn7JyMv3gWL//7RTzh/8LglE7eJu8vKF8DdprhSkSQLiBW+FEscRXIQln5ynCLyD9l+z+TQP6yZPl6pGobZAF1db80nxFuznIU7il+ltmOJayFJq4ddWy31kCtxoMgCQh+0gpaE31mGVz5WhbA4hhdFPWztkzWDgYLof4ZdK3X5yD8Ht1m9E6V3Dz9rF7MzJ+4P/fHz/IukuX02mU9EIht/5bYooatLVTpcSSQm/l30ae5q/KMnJBb3LvksuIVYmr0GX14dmDZO7MVfupRiFy5JCMba6m7KgFI/cVQaIzKIsWjw== 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=oRs3E6XYJFP2n905LhT/DxgKVk6bbVkUK5bfx5yHGus=; b=O6x1KmI8r/QP8dRj1LdQYervwjE9r9NmmvSAzAD0ns8wFnnbrpFt55UNQnM8q4PGpKQNg2gQOBZEnPTlCiuSCwDxsm7maHBEPuL4eBWdcQiBBUEFkTfr9FJ+D3oBTC1zTFZ+eQjRii0lu0bGxXWOsYPkf/GbUnnm1eRZaSW010as087d7j3Oai24bh7O+JYX4myadntg5gXTGM0eomyncIuAFER6wbNjMHySjHsNLrrNRoBzjvMygHmAIBGeGqlD6wGg44ht6XMKPahiwfaLd7WfagSa2YPXlVpzefI+T+HTgHoEAs3OOnJZG+qxU7odttYeJllemLE7bBGsNYwjmw== 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=oRs3E6XYJFP2n905LhT/DxgKVk6bbVkUK5bfx5yHGus=; b=o6PU3juj1vNw2pR6trnkj62L6hfvVtUCv7zYX93bxXLZTxooYGCKCF8XX5tUEats5MUHxHlO1mcHInjebRHYRV6OeksO8MyV4bwNVrlzbfO0ZlrWga3hK11sab2Ev8LEKNx0juJRApPwBaOhZD9w7CR4Do1BlbD9/5aj8gbxag8lxJluAFJZaxXfQx2xzRGBJcNsKx0plOExSOWlAeZv857otm/JX/gue4JNDH0B79yCyejA46aDS+D83jqUwhVQPzJP8JQuJgu2KoO5KMHS3zUkJklvCEcpWEhbw3DaDkgpp4I4uttlLt7P+1GYgjIOpiAjjbuQ0ED6T/AaPUWhbA== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:24 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:23 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 04/16] spi: airoha: remove unnecessary switch to non-dma mode Date: Sun, 12 Oct 2025 15:16:55 +0300 Message-ID: <20251012121707.2296160-5-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: d61ebf55-9e6d-4b68-a88f-08de09894cd1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LO0BhycDGUb46syS4LKgBwFAYqarDQ2VyefcZsppuHPC9TE/fy3+qKXqBxfo?= =?us-ascii?Q?RKdEy1vIq5TMIEzdtz46BqghTo1Q2LP+nyReBzLO8iEduJnvqH6fSz24tw2s?= =?us-ascii?Q?7sNl0setPIt1ylIjKFAgaeSgL3DJWnlvGChBwK4//my7lDFIWJIPVMzHB7qN?= =?us-ascii?Q?dB/+itNSQ32PC+QWQcbruFnkAmDIRAbM9MGi0EY0Vf90JIeyBb1x6LcdV0YS?= =?us-ascii?Q?+Aiy83tfRIgBzfCtCMUaIzLQqivAEsQSGl+IP1Fd9FeJ2aLTSWsubZofhwz7?= =?us-ascii?Q?upfnGBks+BdCIY7Jo1gZgnG2FUIRsfPMDkrouwl5byMBgvrkCVSOkhBNCADQ?= =?us-ascii?Q?860OwNS6VozgdYy2TwQAk9m3+XgdA2xckITM4KBt6yv61xrZbmVQied3j7fR?= =?us-ascii?Q?Kj8e3Ei6GAU+E+NkSsfKqH9UjmXPJK0Db1u5H0grlwh9OC/lObmsInjQCD+O?= =?us-ascii?Q?+v7CwD6zxim7aAPSiI5qDO5yyF6n97fQQUAnMcR8Z7Ie3vC3Mq2HS+pXPGZQ?= =?us-ascii?Q?y9Gwa8F3hpuIucexfB05u61YptuCnWAZrFkPm2I73E6+zKWVHqcu8Ecd4xO/?= =?us-ascii?Q?GY39V5oMFLlU5R21CUx/2UTVeC92Xd63j554lwnsNl6uUJeqmycZdnu+jEVO?= =?us-ascii?Q?DGHBbD/KxBLmXl/rluWVGycK3MANDHuAZoh0ej84NvflzPeg/wvz2tWiC6Ag?= =?us-ascii?Q?Q8H0wJey7y20Gl9bganXdqvdoxDOWRX8OKjmrKCs/d3gu0NshFFoArM4Ct9d?= =?us-ascii?Q?ibMG4eXZOfXZ/xWjbK958wLIsso/CV8x5g7yp+muLH7mqZA9FAbDSKDHMdgg?= =?us-ascii?Q?qXigNG1zoenANYB1wcxpJBSZBdIm+yqBFx4/OfV1LYWC/Sa2Y/se1O9QwBZ4?= =?us-ascii?Q?y9M61Zfkv0XYPTjqP4sJGvjz4lhcXBWi+mWUOUiRtPMcKQzrIRD3NByxxA8B?= =?us-ascii?Q?CcnrvtDirqwGxMuwjbeKesRmYxFr3XKlQW2A+354snejNf0KyH4z40zXRTTW?= =?us-ascii?Q?xZ3mPDCam+LBQXORGt5JutZ3iLKDhYvEmJ/AwSTHzd2SjNG0u7BoFpbnAcLe?= =?us-ascii?Q?Xecg3rasbVrfNq9ApHY0uUhs3pXUc3EqjAD9US84+r193vlA2kK2WqJ6QLjA?= =?us-ascii?Q?paDm/szEhXO45bJjMnUj2iB8G5jwWyQC5ofQswkYrjmo0mzXO0JBSfGj3NpQ?= =?us-ascii?Q?0s0tQnHhXWy7GkaSUSqyns5Bz4JYf2f61BAU0OafOU2XYomhVhXwwSyN8IQd?= =?us-ascii?Q?B+txQfVbldy3q9uKDO2QCD9IcESBpL1mztqU0ApRQ0fXTJ+Vd0Kdbq7QCDu2?= =?us-ascii?Q?UiLrY5/lQ9Bo73krA3iq6epNFOZkhNIVpH96LVzsh0JhgCxOxTY8bpZ5/MKe?= =?us-ascii?Q?oLyca2BO+IgGkZ09THn/Kw9lSEJjqequ9kpMF1wBiaOn/xkGxWdbdYpWjc2n?= =?us-ascii?Q?Q21zt46Dg51795Cd88e2vl7M75YVERaMXEB/UJn5bGJwgNPr+hoI9mpQq5yh?= =?us-ascii?Q?CtSSRCYcO+ohgsXg+PD6umbVUlCps+Sqc9fvSWh2r60wod+CzRev6LcslQ?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5SJJ6rGZG7txhhDSxwi8XkwqJEwimF/YWe0+b20gUhAjQlxUDAr0lyRYwB88?= =?us-ascii?Q?Qnj6xpN+WKkAqAqMNzR/W7eTQ+kgPG39Mm3tPnlykmFXN2BYQquUDhBZLB2y?= =?us-ascii?Q?BrS5td0/J3uCoMmZICzo0v5InfJBTnKU/5187KlRZLUp4mfejJtBoeN32T0D?= =?us-ascii?Q?E2BdNOuZIDjQCDQgEyd5sPRQbsdGpxh9bOA8uzUWPHYG0s1DExjPTY13QgaC?= =?us-ascii?Q?yhYNjBHA+LW2cRLxkaBxMZ6wokiG/TizaLAddz2GDsHm4cb/61Oeh2J8kmTL?= =?us-ascii?Q?w64B3kbOLt/0UIC1fW6WxNJwe38QNGQ9S9HFKbZ/D9h1Pe37NdBe7D95+Sgz?= =?us-ascii?Q?i/RP+BOK/ivykGmC2XggBguHQX6BHpmN7mLJIyX2XnEKR+Q8NR/FBW/JMtD0?= =?us-ascii?Q?b1EeK/mmUqPWGqvuyIQ6NqjAB57BLZ8UVBoq6LbUSaWbig+OyF3562t5AiYP?= =?us-ascii?Q?JyKecH+iEPwZsxRLfLkzf0av/6IiwtjJb/eeIMiNN4zUVGdsvb26jBtSazek?= =?us-ascii?Q?U0kzv+2jPThYX8GtVmVt9rH+RfM/KHCd2kvFuzdNvLZo04Aoz65MHrao+dYc?= =?us-ascii?Q?OfiUzcrGWxI6oKgx915HDpn6h6iBJGUBkbDRvd8w5PFGWr/DRT3RiuVoxgho?= =?us-ascii?Q?xg+LMWTSB6RHYUXtBAMR0tIdxCl5Mol2e+Ed/9h3/LwtWUaKCW/OmKPWAixZ?= =?us-ascii?Q?n3XeSI9JdrX1JHiVNVtpJ69i3SSwTapAEjDxm6OppAbr3x5w8Ml3j1QRFmbQ?= =?us-ascii?Q?wwEyg1Ug3zY9v6aACqUCLIAVswPl7DacnnkZvy85Z13Z8M7mmG8JPhffgCQQ?= =?us-ascii?Q?iW8pdnJUBhRlOXBFuFLuT6ceyDXqv1D9eJaubzos9BkIIS0ApbhYsfz5+d39?= =?us-ascii?Q?VV1f6ADUQJ9J9oqBTbHCMR/sRQsX1qDo/7+w3qUo4LDIXXkAhTE1J3c68sMT?= =?us-ascii?Q?tPgYOevls7U+AYj+rs0WsdiWrIYoGeYP/JwtiNl3l8jzKhe4TuNa609kknHe?= =?us-ascii?Q?oByj5wT6SwVR22WV8RZAaJYluhwXiil9dLO+ujnn7D791eoEWU17aNCai7Ry?= =?us-ascii?Q?h0FPzVXVbCwOj4UpzYVS+05hYM1+AbqEl0Ol90E08l2B+p+WcrjfBAaUI7Lf?= =?us-ascii?Q?79mQr2Nx28ZOzd2CM+7w0qxjMkfKfHXBKVoiRqzLbzNXTzlEvFtdWnKeGl9C?= =?us-ascii?Q?zTtRvVibRmtZC5S2Cg/gsQ231SwR36T4GLdVbJbBVHbeo1WhQ/BO1UVE2VOE?= =?us-ascii?Q?jLNM9CnYXcLxgtelBkJh/5jIG2muQ3JXvIa4FINbAk4G1h7KDmR9f2KT/VLb?= =?us-ascii?Q?wTzkhoexPUGQf/tTxpLKJPgV8ZOuyOi3zvn0743uq9LDSlh7XkZpDfJqmEfK?= =?us-ascii?Q?U3ENZr326mlttysggwnsNe+IADl5MyCBU6GCy+nmmuEzNgjzlVi6MxxDx1d7?= =?us-ascii?Q?HB2oiTP4woDckyvcht7xwqvgV5+yD4rnVGszi1lHA/XsICgCdZRTixUHbhuo?= =?us-ascii?Q?O1Y/RMm5Or5ICRXGfs3P5RI/spB+SWuB6wIHzMAtMVaVXa3FzphitfMvNY7l?= =?us-ascii?Q?cF2h5lXaQPRvRCpeJV4dTnqfNlCfNzC9fWIBS3aXaxCz5xJPrgqJl4cCK/EL?= =?us-ascii?Q?mA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: d61ebf55-9e6d-4b68-a88f-08de09894cd1 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:23.9157 (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: WHzhXNZq3tNXv0OlqUuhCf3hSdX0ElW5AxrYgxwWomRIQkFWvUSFO47rN7tqsSZR5o0AMWIY+e5wdjHKax4rYD4PmY+5NU1FdSx6FWrFTM8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" The code switches to dma at the start of dirmap operation and returns to non-dma at the end of dirmap operation, so an additional switch to non-dma at the start of dirmap write is not required. Signed-off-by: Mikhail Kshevetskiy Acked-by: Lorenzo Bianconi Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index fffed26ff990..2d86dc62dbde 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -812,9 +812,6 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, int err; =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); - err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_MANUAL); - if (err < 0) - return err; =20 memcpy(txrx_buf + offs, buf, len); dma_addr =3D dma_map_single(as_ctrl->dev, txrx_buf, SPI_NAND_CACHE_SIZE, --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 E4C17275B0D; Sun, 12 Oct 2025 12:17:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271454; cv=fail; b=Mf7RPeHtfw4jetJ18q+nid1z5YnkysyrLKznHx468Er77v8ZC1La8f6S8/9XpUmA9zMCmc+3+u2s1t3O1wZYLPOxud4ZpNI7tX/79ucHsyzk7rR6abuJLeFgybQnKiAK2jWO4V0Zv0AjuaADqHkwVHmz9/Ot3eyXmLeUHW8NiJU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271454; c=relaxed/simple; bh=E2M8lRG6zN/Y5R2EJPWZ8XXbtiAD084miYqnGi5jqec=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=P0QIJjw4nhDs36wLW94LtvFXloeIXVHgU8j/ilZ3gMdb9snaNp/nDHcesOtIKzDJLyysKfxuaydngKvIfzETd+52Eul6QA+TNiGKDb+/uwmaBivAo7oA3DXAlLqGXK53DFfLHu98gIf4ETyzfuq1ZnJ9E1Cry1zISr/9KF2e0oA= 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=dlNNo9Vc; arc=fail smtp.client-ip=40.107.130.88 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="dlNNo9Vc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pI4XnawuQZKe1SVxlUDHBnV6IJ45MzBiTTjOuk3UuPw//+v6Fj2ypsiEMdoPjz3U1oEd3vi0CKWDm0JxhdLg/u7yUMvdOnYjptbR2hTg2MndUbGzX/kt40k8+jyOOZIXZpmKYsg9nCEHDw3vGZ9YF/q6jah60pwXu+ilgOjWbRNXmCBXioypr/P/ZBxYHC3hzUFpbYHm2DGtrpAddWzYxpotuKoXRv3+upZue4jKHG1JU775a+Dh+Ew9hOZv1+PHrIV8DVvCoL/N4lVzUDvFe6k4QYzew0Tjcv3lCexhM+5OAO/amxIpr1hZa+tMOzYwQbNQtKWeDIT19dQ6deF2TA== 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=2snrpNrzRAzTOeqpJ8KPLiTOapJVIgdfhM9IUrv732o=; b=BV89lgl/IBitjt7WFCxiOV/c3DDrNxYDfdJPzTMFk5i24EY+6hfv/F/xF5YIpUMETqkXSvdsWsVzwZLe3mRun7khGTEO+h6+Eb1Ye0Yht6vEVDFtNZClZwwn3BIys0FIN5MRRoA908CYxG4cEFm6ghRaxjUYCk822Cs2Ky9Ce18pUlUVaGKGmDI19uAJwesS6epuPFhbXBK8JcxwBcd9Vjrchz7LYiKXbpvhLGHl1KWLCXRluI7+YdBKrk08TvU+9mBo6J2shu+OTNtX0JTAdki2zb4M9m06Qr2eAyuOuyOUSGra3NGnLSKlvF8Wa1piHZ5Y74eRmkk5nRn8efltSQ== 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=2snrpNrzRAzTOeqpJ8KPLiTOapJVIgdfhM9IUrv732o=; b=dlNNo9Vctd4C9CWXrFby2ZeFu+P4Xv/1uwMcW6Bit0L3+OtgSSVLonbJZQrT5lYIt4jBU1iiCQHoTYuM2Q6c2iLH937lNDxKip0XOpvXN0z8Nv3C4WiGIbMpv+GRsjkck96Lag8PcZ19YvB2ogHtiMU+PLivPmw5AJ8b1D3eD6tpWzXH14dade5RMNueZ66+000DEs7uThd+QKc0vx1hQJ28MZUlik3PlDLUae6jEjzb1X2IeD+cXf0gDT63Z4oF2KJlZ058TWheFcdufTn3BnwKM1wHwmTo8rdU1gN/4KmDeOL2PAQO3oXkzZZLQidw2Z5a1nguO12FySAgNVv4cQ== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:25 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:25 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 05/16] spi: airoha: switch back to non-dma mode in the case of error Date: Sun, 12 Oct 2025 15:16:56 +0300 Message-ID: <20251012121707.2296160-6-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: c83eacc0-54bd-458c-3d76-08de09894de7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Q2iXmybX0G+XmPwVkONqEHX4kS5KcEf4bVkQcitAQZmpjgZlWuvodKHyqfu0?= =?us-ascii?Q?s/8BVEZmOakv99wJqrbzMxrbRJ/e0Rfed1u++wkISKE11gC8cXWrZVd++AMx?= =?us-ascii?Q?8v98vXKYpRnLDG09F/IGNT9KDtlY8TN1xzDpB8Ik1LY2QRVUQ6yKA4U/CWXY?= =?us-ascii?Q?kCMH+5++7y0O7PZyYR35N51AA9TH8/dOquy+jr0WkCn6Cjv8uvCzHwEaXVJh?= =?us-ascii?Q?cKhe8Ual8Cb6jgDTfeVXjzQuXibdrJPZciuqs9RrTqhFl0qNScA4G+fyjAG6?= =?us-ascii?Q?GQKVoMgwWFX0Dwoq+MZc9sY6SF7vElE4FppOuhgwC2ISypxAoR0jh5PM22z9?= =?us-ascii?Q?pLeh1+SWrbQCs1mr6eg03zqwPulF3B0Ft8L6ZiPW3qCBRl1FmnjJV9RY1Jld?= =?us-ascii?Q?X4M43Rc5PrnJAnUzgCOTuTeh5rdGy5o3cmkEj8Iym0u5+0PQogYDaaWaaGSc?= =?us-ascii?Q?UMra4I8sXT5ZFurfn3JPP0SVQebNoR5JOU0zM4tJT/fQPzNWRqeAuc3EXG/C?= =?us-ascii?Q?Hqo42FyZatP6P9ULohh5DITPuYDCL9LP83zLFiT4WrE7JTkIL80lRxqjRkZo?= =?us-ascii?Q?KeyOOYJ27pShE7BW8AEgKGkMoZl2NL7S1FYKnsN1nSlondZKTq+lCwXb6d8f?= =?us-ascii?Q?W9TIuCHuMf8UvalXMD1hezovQQd+F1BJRys9Q+sjd1apBI07MX0lqg74uOBq?= =?us-ascii?Q?aqM3TpoQysl2cY6YEKk+TsMBgtBVAAmlq6TNsu6abGTTrq3Go7pIYmWP4p4/?= =?us-ascii?Q?rYINoh+DhPkw7ZbYVjJSvVUm39RQ0j26xlJwONQvCpunq0Uq1paRabx9B2JP?= =?us-ascii?Q?Qb/Z/sWW2/iSlo4RMoNw0UakV3m6GdP1/3nL+iu/PMOIaZedhp/gOM1P34a7?= =?us-ascii?Q?Msa2+xTlTQdXCCmB0Kzy1s5cbboNyGp1IVx8vNnR+50NSiTgMolXgEUexQeR?= =?us-ascii?Q?pv5awQGrh/J57MTHk0vK8NkDALVB8FIucCt39fG2neg7Jd6OU+qU1UCedrkc?= =?us-ascii?Q?sflgEx4kOJRXGrhqNphFv3QsGkh7EvDXIvphuiK1bI7v+rnLU3ExtqMdQxKA?= =?us-ascii?Q?g9psvc3f7jmUbZ2oCTkxbaVsOcY+rEsaeWpYGouHSuilBEMCZWy4TqUtpHUX?= =?us-ascii?Q?FGwkeCmo7bGtCTYrlkcYV3fhi51ZcnH4qyeKE9lV+fSn0Pps4yHbzhAbc26N?= =?us-ascii?Q?benXSVrZZdeYWBiItBoCO5C2QzH430ZQvVCdH5mANIfDt2e/gj/TL6aH+hIg?= =?us-ascii?Q?KwNb8B8U4IjTwXo5Q1hh22bul2veq0FMlI0anMccVdPIFfIy+zz7bocTKXHK?= =?us-ascii?Q?ChLOoU3LlpCSmjU9rDUNqs1/gG8TXts5XWHm7XBTr0p9gWhsBioSx5E1MIgR?= =?us-ascii?Q?OthaEwKODFzXtkxaR+h5ZxLqi/99ZJ8PWAnSo3gbTRnYWp6jACge6IaFmBFT?= =?us-ascii?Q?l0xlXhYm4FEiLFtEXdzk5YN98kn9VkoBFvsou54DXa8os/VzZZQX3iVsFIsl?= =?us-ascii?Q?dutObTirbS9fRHaSXCtRgUXS/fyRdGFqGxSTbXQBih+xRjDq7s1DnFshYw?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?q7L/PU6AWp9AOT9STz3/0l5ZrQ6dxP0YVeDco5IiDefBYJZikYyZ451vENaH?= =?us-ascii?Q?McLffyr+8If7j/T217D2GSucWi6Sgl4CtCweqT1NjbX6mpaqvFpOm87Tbz5/?= =?us-ascii?Q?zy/pUi8Kj6Rqii2tpNoHwedzpEHvibiNjXkOOxlWwrXnLYgTAqTf0a0i5qku?= =?us-ascii?Q?xRtlBcxSKVLKxgUmWz8ZDPL8kwXPSIgTB7RrwWozp++V0UeIv/O+LkLZmKBQ?= =?us-ascii?Q?FqcXYwOHdnDyy604xJOgKWUZKtkdkTwq7+sVLoaVGkfwm9adCRGW1XcCDcJX?= =?us-ascii?Q?QsHArmt6OaOz5Z2vBY+Z0Wy+FIKK2qL1Csjcj2EW1/GCBope1gl6zvdcSWSY?= =?us-ascii?Q?xr4xnfAC2qqGBEVElzqGCJcyLCxCo/qa8Yjx0NGZvaCcq0qgK/Fni/TlUosg?= =?us-ascii?Q?UBHvz4U0AGTKpFt7hFWkH4szWJZqOilpQsfz1Lwrap9rigQcJ7Ic/RLff7Pr?= =?us-ascii?Q?nbwgX7Z4OwrWIeQT4yNtMvZxWerWXCgFseqR9ejQ1Lta8Y9dBwCjrWuDeOc/?= =?us-ascii?Q?+gMzVUEseFTly38kQAaBDKUmpmbK2m9fMB57qUTKi+JkedkFiEIXSOpAbu0s?= =?us-ascii?Q?yv4FD545XyXcUVxdj06OLDze9UcjIQDbKxq1ngAYMNtLn0Xa7qhVrsqqXL0h?= =?us-ascii?Q?UZi8B5ChscVtIPXHihPXVEABtDzZufi0nq5X8F/gQe9zFJ03knw1mUGNwtNM?= =?us-ascii?Q?orld/driuQS2XR17K0D5HXLnuAwWMsXw6ltk03ZcmLSR0RpTNR7K5pJmVP3H?= =?us-ascii?Q?hwMSgy+NXi55/JOU2GhqOHV+4HsROcZ4KCd+ztQ4oSgXkabDU7vD24N1XwHo?= =?us-ascii?Q?N/84uA0J+tYNFrVrRFi+esU+rMakNOlfC7uuoxjRxgfG10JKRlYQvSgb2xXB?= =?us-ascii?Q?GI42qAfcA8YyEUO7xN2xOIvNO31AqFW91z112RudLWlXRlV31G7KnOOzoY+x?= =?us-ascii?Q?yL8SadgKgzxCMe20HwiazwLpKaoaB20Po3ySLYQmL6EBRNjXME4J0oMxqDPf?= =?us-ascii?Q?Qrbqb8CK7C3W6W7eMUL95nF0nOvjiCj9aWGeFAtA8zvXMsgvbI6Xp+ZTXkqX?= =?us-ascii?Q?QI0e9UHarLrP9Bbt89Iwvh/7935oHZPRn6Lk8J72vLGQ+/BxUk1zSZuW5KNP?= =?us-ascii?Q?Nop3eU8yI1kHY1irOEgupe3eav0u0nexkdRKf0LmUK+9KhOduv3CNm9Puta1?= =?us-ascii?Q?g5TijkP8Mx+JacQmbluTtiDdEltMa1IYsze1fthi714dQttLGzrqfI/bqxRF?= =?us-ascii?Q?LijTnHgDn0oqvN1qPN6/8Ebqb7hsjtP9jxgXWehXOtyGKwFuudHoU/2+3eqA?= =?us-ascii?Q?qqizkjc3G5Z9E8l3vSPI1OHRURt88b+5UjGKqhodNw+Cri1hb+a2TG3ZvCjo?= =?us-ascii?Q?q1FNLNpA/utnHdvOVq0e6afpotny8zaHeACtAuAWHhFLx3mUk+3QoatFAKjX?= =?us-ascii?Q?J8BLk8CaIceA07feeVYtoz/GyxG8l8hqeJJOhlqjSaF1sD0yezVab/ujRFAx?= =?us-ascii?Q?7t1dzlck+DOU7y9y93Z7yNWChiXWPmyZ2w3xhldvFwvC7NHX/AAvwUbVGejx?= =?us-ascii?Q?ZsPW40IjAv/mWh4tp97NzgAn4yoZFLW1pUk/H3qInkvlV+f6dbiokPWFVs/M?= =?us-ascii?Q?Wg=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: c83eacc0-54bd-458c-3d76-08de09894de7 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:25.6835 (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: eOQu7J48SO0TtBRT211/JIduRGpuntvu1/pkTwzfRUbLTCzk18MlP0A8reDrmVZVE2DYO9KUC+YsSRdsBA9KEYbOO/DegAe0yCFLdb6cXYQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Current dirmap code does not switch back to non-dma mode in the case of error. This is wrong. This patch fixes dirmap read/write error path. Fixes: a403997c12019 ("spi: airoha: add SPI-NAND Flash controller driver") Signed-off-by: Mikhail Kshevetskiy Acked-by: Lorenzo Bianconi Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 2d86dc62dbde..a39c3ab4af5c 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -691,13 +691,13 @@ static ssize_t airoha_snand_dirmap_read(struct spi_me= m_dirmap_desc *desc, =20 err =3D airoha_snand_nfi_config(as_ctrl); if (err) - return err; + goto error_dma_mode_off; =20 dma_addr =3D dma_map_single(as_ctrl->dev, txrx_buf, SPI_NAND_CACHE_SIZE, DMA_FROM_DEVICE); err =3D dma_mapping_error(as_ctrl->dev, dma_addr); if (err) - return err; + goto error_dma_mode_off; =20 /* set dma addr */ err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_STRADDR, @@ -797,6 +797,8 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, error_dma_unmap: dma_unmap_single(as_ctrl->dev, dma_addr, SPI_NAND_CACHE_SIZE, DMA_FROM_DEVICE); +error_dma_mode_off: + airoha_snand_set_mode(as_ctrl, SPI_MODE_MANUAL); return err; } =20 @@ -926,6 +928,7 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, error_dma_unmap: dma_unmap_single(as_ctrl->dev, dma_addr, SPI_NAND_CACHE_SIZE, DMA_TO_DEVICE); + airoha_snand_set_mode(as_ctrl, SPI_MODE_MANUAL); return err; } =20 --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 E9A45276054; Sun, 12 Oct 2025 12:17:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271456; cv=fail; b=CqcBEpphZI3sS/Pqq4uUryTKBqZdyIbsDZW4WuNG2B6c3y7OxLwtWp+22DMPN1qG9EPL+ftrfFc1Q6nFYSxPn202eYgltxKONPkJiAZpsJfIjTldZ/U+ifrvYj2wdklAdicqHe9lwSmbLHl1Atj117ylO8hVNggV8Ot40YPjbrw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271456; c=relaxed/simple; bh=FMrVF5Vv1XqxxA6IzimgjaqpoFwdt1ebmex3NhH4hkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fjgBZOsoEp8ZDoyRuVjxaivJ18rWgcctrkNzfbEk32nx/7R5dNiMejGmSd6OjbVhILTw0XiM6ptGO9KDxN4X+BrY+H1H82+bmPaCj5mh0pdaARzrex3YjDw6z4glZCN9SZKLpr9pzSIfbW1dcdLG7ExgXgzAc9TTp6e4Y7cso3I= 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=1tdqjRG4; arc=fail smtp.client-ip=40.107.130.88 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="1tdqjRG4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RtM2A5QmLUkXfPR7Fqj/UIyf1zRKrYFyWdzQMigTMX220Qbqn6MyU7jSVKz5xq7VK40F/EGFXHl/NM4irEIyX8DTi8Qd+Qqdvs0hA4EnoaZTZV6ITJjWQLpkI254EBloVUtAh0nnREZ7iOduvyGK6urqO2Av31VMxOY8yp362tNZ73Vtv5ynT7zza+HGHTAPGZru1xrMvuOME4y/AFS+KcWOZQIJt00FN4nRFVRO5vgrS4b+BmSLspnIuaYIrW5sKLRKUngSU8WY9a3UUsEkx+SX9DjETxNcjw6g3epwx0/OReIjcKsIR0I0RpVUJGfSk5uODZmLXfJO7kxT/1s4Kg== 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=tvX94nIt6Ushebm+TMBumijXPGW+xCDBR3BCYJgUfgw=; b=e8JVVZV/MCrt5BENsrnSASub40eHJnN+56P3EYdK+ISUQuNLZsMJUvlF4zoTCV5iU70eeDyEHCTXO68XEt8H2X1tFeQ8WTSTpqkc+GozUJ8rS6O/6vrIqNewrIPoLVBGezvH7HzbjQjpBhzethuXJR1heWT33knah9EvpqjEku3nkoHfAuoyxdUO2J7/R1wyForM7QGipvi5OdnP2ZPgvKB09zSqudxGyWAyg3cSN7oZsgM5WP2ETaxoKYo/K3i16cwdMEV33FN72h/GKd9j6Y1t9ZRA/GJp3jCq/3bB1/ROPpt+fz3gXqQUzg0bPeWJq6Xe8JY9BZrg+PwlNaM/Mg== 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=tvX94nIt6Ushebm+TMBumijXPGW+xCDBR3BCYJgUfgw=; b=1tdqjRG4fAEgfQr2FoQUbqfhz8F4iD/aACGZZmt0MZhw3ohYqajkAwQ9a5LkTRmu7Tl7zw+fkuCWWuKc0RzuTym0dNu3fC1+eNJruMkCl42lHFnC6t8t0DMbILrCtIAHoiH7UgE0L6DPL3hbUO2P3MPWgPlc0ihMPEd0eJNy6zkfg214yEwxKscgmIi5qBb/yo6f2BjjnFIl9L7or3VsHr3F192xrVHZkVazehVPXoBeRR3Gzb3AnHoRo9b5xoqxnWKv4u6RW3lg9LRqtDVVAdIVeZXWDovf99pEexasMoaNzlTdxXo+dYsHQPLIkPMqUmdxA+Lcl6JNz8Qh16kOCQ== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:27 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:27 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 06/16] spi: airoha: fix reading/writing of flashes with more than one plane per lun Date: Sun, 12 Oct 2025 15:16:57 +0300 Message-ID: <20251012121707.2296160-7-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a2f9563-045c-478e-8d34-08de09894ee1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ldyRpyiJWBm0b/vaLUM8Lnp8zeUv+jYKW9FYJopA6OCCKr8jLInbDJMrY3el?= =?us-ascii?Q?rUsS5VbMq+gDjLj8rkQLfOqb+OHKB7i/uBpnVEu3tqJlreb9l8EfDdBxsJ0K?= =?us-ascii?Q?savsYBgsowlRdVX48y4riwoDj+iqIa9w3mqxvnX9NqZJbMI9jxoM9Rx0l2qT?= =?us-ascii?Q?c7Zs0AlKUydop0th+O5OHqD2x5Bl2d4/xOaSWSpm6NO88biJzQr9HZKY1xDk?= =?us-ascii?Q?/pG0EcwpsMOZ/lts0m/4p+czLNXCTvwW8Uc43gQgODhg7PJ7qrf6pVyIv3M6?= =?us-ascii?Q?ch8Mnf6wrKj89zkuPsDZ514mjuxCm5KSmgjgZbAN5Wj6OYrLuXhX00Eon4z5?= =?us-ascii?Q?yvs2cTwtTr9yeaXumbhWpO8LifwuCeD4MYMY/JBO4c7SOcK6t2UJ3FJlEeIM?= =?us-ascii?Q?WhR5bmSllgDhz7cbQ65jG5QAjF4SyxdQ5gOJwQfCSSOi1Rigbg4JUtig6jdK?= =?us-ascii?Q?AD4jJgCT1K06JtNq/KBN+lyWtHgIU/c8jOi/Eim+Se4uEfH+xqlUixQhwCW4?= =?us-ascii?Q?RxzAMCc7+j8/YGw9MYU0c5AmqOJWmYvRO4DKULRS5bjVgvz0fQd7TWSVF6gU?= =?us-ascii?Q?+jAoFHqFlBZI8UrObOYpPdSfyfO7sj8kLsQLafFCUMOohqLU+k1i8T8h0R/L?= =?us-ascii?Q?hY1G90b4IGzS/jsoWIaa9I34dJ/iJORcXeRQkEbixgyJtylSXKc2yutBJYYN?= =?us-ascii?Q?qb8GaeUaS/ORL7VH0na9J43+ySsCDywBr1zccyMaPeCGTdnvbkF9BtmTklty?= =?us-ascii?Q?x4tLJ8px/bJ45Mr2GZZvS2swYFbDpbXKJCD+DOFXOOvoYrhv2Uib9vSC7xHj?= =?us-ascii?Q?hMjEvigbZgCitAZBO5bUj8iELKXpO6/aKM2PIl0gXJG/WSiueLoSgwVtTvN+?= =?us-ascii?Q?4LcAjnUClNHV9/dOISNZaMzM9L3AqmI1vo3H37JuuebBfz63mz8s84YTQKIU?= =?us-ascii?Q?m5D6wKY5kSnhqTZvSTlQ2gmv5J7ZGVIZfYFmiPVjfjbom8JilkGj2Ub/H0B8?= =?us-ascii?Q?59lQxGLLLXENnV2T2DX6zKthZNDsy3IuLAxwADXtLj0ycg0ZxemKCLRkgFxj?= =?us-ascii?Q?xRch36MTpFBxMLo9Xou7Xa6vHxVC6IxPshddKsR3+8pVyNVNNko5o3hii15E?= =?us-ascii?Q?hSy8EFZ7XBcp05XPnE5M+349aiLnFxhQB9skqojyp2CXo/JSRpyNZ1sXCJt/?= =?us-ascii?Q?cXG7KsRDKQJKUENLPBmPB405pPfe+g69rPAk1123Up/0R5QbDl06JdXbSfbe?= =?us-ascii?Q?otz0DkuPMlBcr2l+Y7nEg8UY/XTjvnKEZd2iZfaTUbpiLbIVeBNZYYFcvOxN?= =?us-ascii?Q?bTiLk0ac7BbUeJHikrExaBqHPUvhBpgqqNlglei+xnAa9V3oH7YTz0u+taNI?= =?us-ascii?Q?Pk4VaWILJEBvwlbFa9JGdKAQDS2f1g/PkOjWa3MH+bfxPURq1mLpXIdXC8fN?= =?us-ascii?Q?QACz8v0DrcryIoKw/tiSU743xkR2+5GnB4ne0W3FcTHk4Td0MW2g61JrP27f?= =?us-ascii?Q?qBmG3bbGmiTUZ+EYf2GE3QM8v8zHmjFkTubCX9PKofgE7C+iaRUi4lkzRg?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?pD6WV8fTlofk5Uq3bIXLzaHYUq/HqXY1sDH53RFJczqf1JMEYEejICFKkx77?= =?us-ascii?Q?zeNp2RKao590n+bs4qsQSdszvmMJHAWH1IJ8Ac7doqfVrMfSPM1KRKTvFPcU?= =?us-ascii?Q?q0Q00cSCFAoUzcU+4sSkodGP3eqK4sFvCDAnSa3G3JWPL1GcStaL8QUQVcMy?= =?us-ascii?Q?Br1FG56gI/hCzALAkHA7gChwl/hvy1cQVgJBQQ967MtwrC0ZHZlsAqxxUFGg?= =?us-ascii?Q?zl6nnow+oLIV/iDjvIRZnRqi24zvBd0OmOmUMPVTpKS+NS3hQ4lId0DLyp8B?= =?us-ascii?Q?wI21nTIhzvlBY7G8MAJ277ZDKh60VCVrwKLcHx0Hm1Dv813VRHhPH3UcIvsZ?= =?us-ascii?Q?1qXruG7xf5rv7HceZFXVXaNXDN80j+PDMYEtqZtw9nmvOyU2n96zQLAbzp3y?= =?us-ascii?Q?Np8mM0dLo9GRu9+Ny5m4BUl4GPvHNC60ssT7Yv9DbOXf+Lu3RHdxHBF3QJYP?= =?us-ascii?Q?tIR6mDwFHZOGlVr0GjYHfg5/T/91TZnYn08vvmb6Wel3978OH7MAlI9OPnjP?= =?us-ascii?Q?3ZThOXaCN98AZz4JcyMLXx0KphXkvamLj+R01mYVxPaUm8eYBz0LyKmel9wd?= =?us-ascii?Q?vf6AFmBDMj5P7BbjIiD6Wdo+Iu2sXIDg5yS5lEIeW66i9KPh4G/ef0x/vpZB?= =?us-ascii?Q?B5QKsHuTYZBxzPzvhVkWYG0QbsabH1qACaMZFC1f0/mWEGyiH5kOLVoE0+gh?= =?us-ascii?Q?xcKsaQiNM2Vt8OS8XpR+tt5L+4EnHGGpOtz5RzIyNR8BOyn9432A1qrOwZ2P?= =?us-ascii?Q?u+ShIbOMy1fXw+j1jBTFSJsikBg5qCmNT8mnFRRt7iJzf4UVZ9c4gS0RnVqt?= =?us-ascii?Q?tIW/fbDOx0r9tRYvVDOaX0QBCr7GM3cyZ1GTlslFrKo8J7ERsnNEAIAuHgv6?= =?us-ascii?Q?BV9g0qgJjeM2cvFumO5EzQr2qafhtBf0DQs7kkB7IeQGMmzsNNlrHI63/4cU?= =?us-ascii?Q?e6U/6vZbO6bCxmAW6i6VklHAqZY0aNla8YHIkcbUI7YXcedaskS9jAd/JUt8?= =?us-ascii?Q?4MsEE3cC4StINc8fkpaWmNd395b51ux0MWQYlVrEdnR7e1il2cG7/Md7rnEd?= =?us-ascii?Q?tSS+xQMeO8TY66+u1eqyXpaTivtQe2yaZFnStNGQHrg0gfNKph9e+NgLdvK0?= =?us-ascii?Q?3abOdlEMwiLZjZP06cg8tPIU6IfuPkSzNcBc9GO4l3Y2At6NMrq5sKUtPGry?= =?us-ascii?Q?SMAtRl3Tl/IK7QdIAH3SdH6zEeTIxupBJlB8dZWkUDSWaf6pgulEr1MCqFV1?= =?us-ascii?Q?GkwTaW1sMjF/iJ9VVU65gVzw1zJuqf3vtfpjVWNWjzvvzOvTmL75cS7H/svM?= =?us-ascii?Q?6+OiQpGleSlMLxGT+jJYfF0+q6uqPPNl04d0kljtkoWK7UGZV1b6IWWMPD4u?= =?us-ascii?Q?JqyJQmtpJOhJn3JpTD8CZdfIxajw74TzalboF6wrljBriwaedZd65C6bD14Y?= =?us-ascii?Q?OTYd0K/RVf+YpmRmUNe1JAGEGIg8irBhzGmS47hko1AVy6oq4c/jpnInxA8b?= =?us-ascii?Q?V+ARVbmBh5O7Q20ZZdahsc9T9aWB6CgNDcZeIMEE6mF0nPw5Mz577KlaxDQO?= =?us-ascii?Q?njmiDe/nBbJsdujPS428vNjWt5xeB6dBPv5SqmBs8oWWVnctgj7qlyfNf9sf?= =?us-ascii?Q?sw=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 2a2f9563-045c-478e-8d34-08de09894ee1 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:27.3392 (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: MsWMeQgvej352Y9zXBA4SBF9c9M8aumYOcWlEgeQRzHJcnBGF4SBw9AF8FGC0H8HH2s2z4vWumVP3p4JXfwTXVp9b95uNYrpSrbw41mixY4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Attaching UBI on the flash with more than one plane per lun will lead to the following error: [ 2.980989] spi-nand spi0.0: Micron SPI NAND was found. [ 2.986309] spi-nand spi0.0: 256 MiB, block size: 128 KiB, page size: 20= 48, OOB size: 128 [ 2.994978] 2 fixed-partitions partitions found on MTD device spi0.0 [ 3.001350] Creating 2 MTD partitions on "spi0.0": [ 3.006159] 0x000000000000-0x000000020000 : "bl2" [ 3.011663] 0x000000020000-0x000010000000 : "ubi" ... [ 6.391748] ubi0: attaching mtd1 [ 6.412545] ubi0 error: ubi_attach: PEB 0 contains corrupted VID header,= and the data does not contain all 0xFF [ 6.422677] ubi0 error: ubi_attach: this may be a non-UBI PEB or a sever= e VID header corruption which requires manual inspection [ 6.434249] Volume identifier header dump: [ 6.438349] magic 55424923 [ 6.441482] version 1 [ 6.444007] vol_type 0 [ 6.446539] copy_flag 0 [ 6.449068] compat 0 [ 6.451594] vol_id 0 [ 6.454120] lnum 1 [ 6.456651] data_size 4096 [ 6.459442] used_ebs 1061644134 [ 6.462748] data_pad 0 [ 6.465274] sqnum 0 [ 6.467805] hdr_crc 61169820 [ 6.470943] Volume identifier header hexdump: [ 6.475308] hexdump of PEB 0 offset 4096, length 126976 [ 6.507391] ubi0 warning: ubi_attach: valid VID header but corrupted EC = header at PEB 4 [ 6.515415] ubi0 error: ubi_compare_lebs: unsupported on-flash UBI format [ 6.522222] ubi0 error: ubi_attach_mtd_dev: failed to attach mtd1, error= -22 [ 6.529294] UBI error: cannot attach mtd1 Non dirmap reading works good. Looking to spi_mem_no_dirmap_read() code we'= ll see: static ssize_t spi_mem_no_dirmap_read(struct spi_mem_dirmap_desc *desc, u64 offs, size_t len, void *buf) { struct spi_mem_op op =3D desc->info.op_tmpl; int ret; // --- see here --- op.addr.val =3D desc->info.offset + offs; //----------------- op.data.buf.in =3D buf; op.data.nbytes =3D len; ret =3D spi_mem_adjust_op_size(desc->mem, &op); if (ret) return ret; ret =3D spi_mem_exec_op(desc->mem, &op); if (ret) return ret; return op.data.nbytes; } The similar happens for spi_mem_no_dirmap_write(). Thus the address passed to the flash should take in the account the value of desc->info.offset. This patch fix dirmap reading/writing of flashes with more than one plane per lun. Fixes: a403997c12019 ("spi: airoha: add SPI-NAND Flash controller driver") Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index a39c3ab4af5c..5ad3180ac6da 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -726,8 +726,9 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - /* set read addr */ - err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_RD_CTL3, 0x0); + /* set read addr: zero page offset + descriptor read offset */ + err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_RD_CTL3, + desc->info.offset); if (err) goto error_dma_unmap; =20 @@ -860,7 +861,9 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_PG_CTL2, 0x0); + /* set write addr: zero page offset + descriptor write offset */ + err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_PG_CTL2, + desc->info.offset); if (err) goto error_dma_unmap; =20 --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 2F3E727703D; Sun, 12 Oct 2025 12:17:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271459; cv=fail; b=EYHmIzgHcsp4NZlZj+yHMnwDL1FmYzUjH7gVVRUBxO2nieSO2ok59jxr/kOgcDhMVfdGhnn8XaTUrIB4RFTwyt40WUhy855jwTK2Tyjts7WRPOoJ18XWokpKXEIBX4KCJUgc4ZhixdaW/s7eFCwgM+MaSO6qaLEXHXZ2R7MqDFc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271459; c=relaxed/simple; bh=8l9JymTCgM+epgUzk4VcWqTdwxznhd6zcMGkq7eDAt0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=u2NZXXnaRq6hAkAln1SoTlvYoJ5m6jxvxOMPtSR9ZHuZaM9qnYmdsM/uB83PuH5qBi6PiiSS2bX/UgS2BFAHGd43BlSw0+U2smX7qt1aP1Sa6KicWNB+mFSfewszlGi8T8ARkotBufmEMr4kB3T6UKkl2m0krtjMx4OqMrpE2rU= 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=0aS6p1jm; arc=fail smtp.client-ip=40.107.130.88 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="0aS6p1jm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=asF7cJC6q3wXl3I8VgGEDz2g8fo55MEUyWCh/7HY/wBpo1qn0skY1Mr0xx3Dpj8Z/v+erKai3WehkM0ExNZM4MsrTpFPAhdQjlsfPaFswtO2S/klrJhjFd0siQfCzRC613TO+6of3c3TmP8CEX9jO4WS10Huhovltii3vg7U8FdUtupLzFKdUErdWMKzJqyNXexcpRHzFNdVsWbuyp5S3B6qFiZvLQRTWJiS7zA0l9lkVlO5g7WqRuyvjgtRQtz8fa7nOih1w7ysr8idtMvdCkD7iyDd0FGP44cu1gYjj3i4gyUG74DhYxmy//wOIaZbJluDfO/p6crX4YuROkNc9A== 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=BNX4iO0o0uMaRyxU4/UJ53mvcG+yuhoVl4mVMBYOSyU=; b=KsL45sJj6uVP9mjJiDOX0Qn8E0X6Ddv0CZ3NyD3GKGjmIcl+dY1Oepk808e84oZNEOn0lbbWn1//c8iv79ilM33SrNrBA/btjftfNvihjrMY6Q3cfWQ4VN5d4JFbFULBGH/mcwHx7sjNo3ADZonfrLbgHwo5FRRm35KGJP9k4jrGUQy5uNEvFVgJYdv56gA1etFwJRby+idl6BFsi26m2LxKjBkCKc3CWSiPyYJ+iCWpGuTLFwrpzjjgL/bSkkQUgzobqgTZqC0m8GhIlf08Zvcx3amSaLNxSdhPg2FVR8I8RU76gEG6lqFAbz50K/1w/qVWn5KYNhW7OzMW+lD1OQ== 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=BNX4iO0o0uMaRyxU4/UJ53mvcG+yuhoVl4mVMBYOSyU=; b=0aS6p1jmjiVkUc/DzjtxgNeco8LBZz0un4jCbXEotGyGfewWHSHCsrIBP2R/CGTKPwXPU43zXjkXr18P/FZeH6sNa6V7rn0aNtMQn1izxeq1qT3XV2NAar8azeUkdrOmmO8EFl13X5rskvMAimfeH9oIYnByuVGnlerK/WnNhawJHS0N6FW/4moCEj13aKVuekOnNiSB1a9Cm9LL3O7bp4CRGH0wzbgLIgkQb3XSUNuCTZkRPtQQKxOgRa4J56UTOH73/gT6jYBxixmJaZLH5qRW+ue2mjYJBe6OiOBE9WuqEtvTGpkHIbmsZyLzqhilK0vgozsSsxQx4KUyBzElFw== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:29 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:29 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 07/16] spi: airoha: unify dirmap read/write code Date: Sun, 12 Oct 2025 15:16:58 +0300 Message-ID: <20251012121707.2296160-8-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 74d417c8-fb0e-4845-cd61-08de09894fe5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?oWZDXgRMokTsboPmMN3Yb6Jhm+Qf/TlLXEkgwAWLDV2cfOecFWk3FP/x5/ME?= =?us-ascii?Q?YlooHxr6GhEcqHJYQPRmzvZG9yTT/1T3orI+IOSqhJWd8JBIGKjCsuL/x4He?= =?us-ascii?Q?sAp8iLKVOJPnYpa1PLie+HrBvkXiK9i21NwinOwQjDz89pRO9eujPc/jMy2N?= =?us-ascii?Q?0WiFWUmAWGlXnKarBZRAzhGctd61qwPlCkwZvdT8v9VQ+jQ/UYYeims2UD+N?= =?us-ascii?Q?t7y7IyKAmD0P7FuIFsHcSXO/PWK9PjmkTIL7DFwbEcnoxyDEKVpM4vH2JIRi?= =?us-ascii?Q?9pOjp7lFclXa+dlUKP/T4pJqI3EvhnZAQeV/vR+UZ0yn7VhJf95R2Z/uij3J?= =?us-ascii?Q?hMIVI9LrPMfa9dDWO5BIq/OVcw+nugy/5s2kREw5tsGvwg4xauX9jly0RJNv?= =?us-ascii?Q?2LKb+zhDyRdd6O4Uhegvdr7vLCa2hBB00W+LNewpMN2NW+IbejghRAWGVXNV?= =?us-ascii?Q?8zlQiKmDW5StYSIbC7X+17KJM1mLyfwriGUrjg7j1dVCfMEjz2RN+olozA2x?= =?us-ascii?Q?5zxuohkE9xrlmhrH4AtdPFcvnd8EskIEA/D698Z1PEbIIYWKDZa3sfd/Hhnw?= =?us-ascii?Q?pJh5Icvkpo5e1tRxFNrBq+PcMIE4SwqL+os2DDzvjFApgJvC19jxhjetWS+N?= =?us-ascii?Q?JOJHFHYtXL3gYb268z7YQp7junwipBEYGRdaPs+sJnTKDTe5hV/biHdQTHkV?= =?us-ascii?Q?NBFRHMpMDRP6QnqrY7656SAJQclmifxnhaAB+bjJ1xymC9s2tSarEGboU9sd?= =?us-ascii?Q?OmfqzYUODd9mksT0gt2VM5ZBrW/3iX+T1SJPcl8TFVr88VnJT5ogz5VnzThb?= =?us-ascii?Q?acdDEDgwSNktgACbWGI1541ZoCOBDiUKcsUDfrrZK6n9N+y4DgBavKEWlOx+?= =?us-ascii?Q?Q2Ge3I2ILTERavQ+fgeZlhldCKt9b7hUwYlMGlyhnTHiWkItmo2osgVTsFv5?= =?us-ascii?Q?b71nBklp4jpkW0y7q8F/SToKHtUDuRD1s4L5HW4cXyplG6iXa7JJwzzjciIb?= =?us-ascii?Q?4K1T5ImWLE3GLtZgYisRZ5hMb9gfiibfZnhA6wpnir/MR/61w11Y0abSP3Ag?= =?us-ascii?Q?LVYBgvfTxve/gpuqsgAX1/XHBr8UwZBJUIEC5xZ8cznoK1KSJiPOev1nvjt4?= =?us-ascii?Q?lHjHEmkbrWRhump7yEQ0MdSirSryQTHQYMLKbZAA7BaAFv1oDZX7D5vauLI+?= =?us-ascii?Q?J6u7e5Btyrz8sxoO+TEcfz3bsS4y0lAcOy0oQ4O4k3jHe9MRQV8cfv/yxdUa?= =?us-ascii?Q?1PMAILT7jbxlNO6t2256spVnorvp7ocUeE+ehTdBjw/06kEvDOEaqUt+r0GU?= =?us-ascii?Q?PLEuhK2OioazrEodguvda8QMQ8vb5KqUV5MWkPsnBbMP+BiodnjX33dAMASQ?= =?us-ascii?Q?HxOw+D2LnfrnNZpfxQZSRwUfGoqrQPMxyMyTdrK+UJlzfX5AofXiJBY64xLV?= =?us-ascii?Q?FZOqJwNqlzJqBYvRi7804fv4SeRw4Z2eQFTPmGKwGn36S3sd8q0DEpexVGoz?= =?us-ascii?Q?WuvazlrO93T5uSqxiuiQpYQC+HZ+6CKDw9Ua2SeV9YO+hY409TVZrkpeKg?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yFMHKhAXCFoopGnYtbGX9tDh0/xbBiajAXxc6FCn/6A8fgsyXAY4MfaYcmqS?= =?us-ascii?Q?cc0b7sPF5ws/xjqerQkpjemBcnyksbYlnuPhfmOhP+wWfYHYhl/q4ntPzvwE?= =?us-ascii?Q?kiYWRwVKeLYfGPqN4KmVl96mIjV1Rr3ddxaw/4yt3OS5BknFM/G2CO65Nde2?= =?us-ascii?Q?Y5f9MiaNmhzyVzGmmZf2vQNg2nWfBPBPrnusiFCKiRLiX+RpWM0c8Rz7UiaF?= =?us-ascii?Q?MHk5/Ant7usrxAM2PoMW6MmyJ6OUANGLVoeXf4pb5knanib1PMyb+9ekVrNN?= =?us-ascii?Q?BJv1JCn0F8Ecb8XOp2GAFWS2dE+oXHk/Jsivq0b+69P/ELri2HMu6x6kKVDO?= =?us-ascii?Q?VCoKJDHNMAFkScSOEYxjEgfjM+aQwXir39JwldgfMEQee9FPfhw3q8cir1eu?= =?us-ascii?Q?zP6/TgRYqCDlO1sY6bnaFpec5hJGR7DJN+QiD+ZA1KFU+7Dr6pxKe5uw5EwK?= =?us-ascii?Q?E9GXBuRZeSM168NAOOdkukhudUc7QSspf53d03ysTsGG5IoAIH4bhj4chr3C?= =?us-ascii?Q?90OWldr547YfhI8sGRN6k3MpG5xCI08m6fMKyx3o94W/0WlNKiU5hrU2cgOu?= =?us-ascii?Q?a7R0FC9Eh/q2DvFJoi5FFcme2og4AgFXfOC8ONwqIwr1qmOPLat4lbaPXcKV?= =?us-ascii?Q?yJ43Q1DDFal7Vj92FkOLjsVCh0BjxjxLpYsCUvNMf1lRUsy+bO3HsjEUmZdR?= =?us-ascii?Q?Q4MvyKX6xX9vj0rswVHcdXZpzGremcfm4l1e8a58WJgcy4wqckjolhSW5c54?= =?us-ascii?Q?J49IppcSKmpoLyvxZkIsIm7l7+ZswKAKgOhqqu91m2qIy/JjKwQQue1Jao7A?= =?us-ascii?Q?d32Tck8Z/CBtMgg7jGQD8aLQMjzkju6EncLZTTiHreZxwuXLZWi2EVigNGTL?= =?us-ascii?Q?ahVAKMxUkDZH6xJC7LlyMDlFBn43s/3Q4dPDrMUJteMxUKDx/H26VFnDFBpw?= =?us-ascii?Q?5CmbRSNoHakWwMkm0iaJy3wblPQ4i89VQOS2v/AWfa4YL55W5Ohs/4DQjevK?= =?us-ascii?Q?AoAsyjWHRidFb/XoI5jFO0KerIStM+rUMuOXTZQETm0NMVa7bh5e6uM6GAeZ?= =?us-ascii?Q?qfe+WvY9gLkNsDh9lFbpVdZRYqtV4gPCbYGeKDaI5zrx387zAhhrrxtkvv4S?= =?us-ascii?Q?dIxjgn4JreqmIia3NhE5e31g9M7ZUEmm+gx/xzMybpWjdwn0fvUjfghCofdT?= =?us-ascii?Q?QI2128P67Zl9wXLtSJXrF13hFljV1r4cSGY8cddMVa+fGFdpYWDi0eV6dKrr?= =?us-ascii?Q?z5j+H+6SJmZkfEJ55zBI9W92SXYUT8fvPoiQ+5sKatqspksRCYPXMu3xlPCJ?= =?us-ascii?Q?eX1VArc5pHRZ3gAtGsLKTGvTsWsLxlIbXf+ESCmvqsJH0M2OpvUZvTsK0vuz?= =?us-ascii?Q?L1250A924aOHSPmSod/MITDRgSVH8gXu4EM8+CH649IPFsUuvPX4uDnDfMz7?= =?us-ascii?Q?yTbw/KhQxTFCaeXE5f8AVwz15EP0T8XxGCoTe/3e647KBbobpU/VmdXmiG4R?= =?us-ascii?Q?ACz96SW8AIq8WOIsD5b8ichp68URM6HfsJY2sJN1EEUnayZ8u27HHuMmH0tb?= =?us-ascii?Q?QV3zOsMBvC+W2+/0ZNLtmhGBLO1MzqcjUxCgphRm9IFZFDmB0twzNtTzgrF9?= =?us-ascii?Q?qQ=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 74d417c8-fb0e-4845-cd61-08de09894fe5 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:29.0342 (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: hP0GkeV4ZT9fNrKMIz+L032LEaZP5HOJfdyHLVCK0s0Mh1DKCdiL/ckOQFYaqanlamvEkxf5FL21hIyuhYt+vO23CLSf+lsvl+jkUOltc84= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Makes dirmap writing looks similar to dirmap reading. Just a minor refactoring, no behavior change is expected. Signed-off-by: Mikhail Kshevetskiy --- drivers/spi/spi-airoha-snfi.c | 50 ++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 5ad3180ac6da..e90fab69d81e 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -672,6 +672,8 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, u32 val, rd_mode; int err; =20 + as_ctrl =3D spi_controller_get_devdata(spi->controller); + switch (op->cmd.opcode) { case SPI_NAND_OP_READ_FROM_CACHE_DUAL: rd_mode =3D 1; @@ -684,7 +686,6 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, break; } =20 - as_ctrl =3D spi_controller_get_devdata(spi->controller); err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_DMA); if (err < 0) return err; @@ -748,7 +749,7 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - /* trigger dma start read */ + /* trigger dma reading */ err =3D regmap_clear_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, SPI_NFI_RD_TRIG); if (err) @@ -806,37 +807,47 @@ static ssize_t airoha_snand_dirmap_read(struct spi_me= m_dirmap_desc *desc, static ssize_t airoha_snand_dirmap_write(struct spi_mem_dirmap_desc *desc, u64 offs, size_t len, const void *buf) { - struct spi_mem_op *op =3D &desc->info.op_tmpl; struct spi_device *spi =3D desc->mem->spi; u8 *txrx_buf =3D spi_get_ctldata(spi); struct airoha_snand_ctrl *as_ctrl; dma_addr_t dma_addr; - u32 wr_mode, val; + u32 wr_mode, val, opcode; int err; =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 + opcode =3D desc->info.op_tmpl.cmd.opcode; + switch (opcode) { + case SPI_NAND_OP_PROGRAM_LOAD_SINGLE: + case SPI_NAND_OP_PROGRAM_LOAD_RAMDOM_SINGLE: + wr_mode =3D 0; + break; + case SPI_NAND_OP_PROGRAM_LOAD_QUAD: + case SPI_NAND_OP_PROGRAM_LOAD_RAMDON_QUAD: + wr_mode =3D 2; + break; + default: + /* unknown opcode */ + return -EOPNOTSUPP; + } + memcpy(txrx_buf + offs, buf, len); - dma_addr =3D dma_map_single(as_ctrl->dev, txrx_buf, SPI_NAND_CACHE_SIZE, - DMA_TO_DEVICE); - err =3D dma_mapping_error(as_ctrl->dev, dma_addr); - if (err) - return err; =20 err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_DMA); if (err < 0) - goto error_dma_unmap; + return err; =20 err =3D airoha_snand_nfi_config(as_ctrl); if (err) - goto error_dma_unmap; + goto error_dma_mode_off; =20 - if (op->cmd.opcode =3D=3D SPI_NAND_OP_PROGRAM_LOAD_QUAD || - op->cmd.opcode =3D=3D SPI_NAND_OP_PROGRAM_LOAD_RAMDON_QUAD) - wr_mode =3D BIT(1); - else - wr_mode =3D 0; + dma_addr =3D dma_map_single(as_ctrl->dev, txrx_buf, SPI_NAND_CACHE_SIZE, + DMA_TO_DEVICE); + err =3D dma_mapping_error(as_ctrl->dev, dma_addr); + if (err) + goto error_dma_mode_off; =20 + /* set dma addr */ err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_STRADDR, dma_addr); if (err) @@ -850,12 +861,13 @@ static ssize_t airoha_snand_dirmap_write(struct spi_m= em_dirmap_desc *desc, if (err) goto error_dma_unmap; =20 + /* set write command */ err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_PG_CTL1, - FIELD_PREP(SPI_NFI_PG_LOAD_CMD, - op->cmd.opcode)); + FIELD_PREP(SPI_NFI_PG_LOAD_CMD, opcode)); if (err) goto error_dma_unmap; =20 + /* set write mode */ err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_SNF_MISC_CTL, FIELD_PREP(SPI_NFI_DATA_READ_WR_MODE, wr_mode)); if (err) @@ -887,6 +899,7 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, if (err) goto error_dma_unmap; =20 + /* trigger dma writing */ err =3D regmap_clear_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, SPI_NFI_WR_TRIG); if (err) @@ -931,6 +944,7 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, error_dma_unmap: dma_unmap_single(as_ctrl->dev, dma_addr, SPI_NAND_CACHE_SIZE, DMA_TO_DEVICE); +error_dma_mode_off: airoha_snand_set_mode(as_ctrl, SPI_MODE_MANUAL); return err; } --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023096.outbound.protection.outlook.com [52.101.72.96]) (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 05D7E276054; Sun, 12 Oct 2025 12:17:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.96 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271465; cv=fail; b=t5jN45FGsBGuUiJAWygXtde/79eRsaZDbfZamBsF47qTd8C23GIMTcmWmlPDEbkuyUFUKHyEs+NjZarD2+1G6THw9/eZ7n0UUgQfXHh6bOIL/bidIPJ9sDbS6uQWh1CWAWNSG9K+nek8ycNeOso0JS/Zorzh9/pKYtqgRDFN3Tw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271465; c=relaxed/simple; bh=yls5E1AQJW8UjaQIdkFn4PFMkKchlzz5HVhY0hyRl2c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=o5DUgR7OIizIVQWoPjw6roT6gMxGO+3Pz6RYLvOrJPqxEmxP2a641laJgrEE0pEEXT+Kel4XOUdabfqW4nAqpi8eBM9V/1WjHnpq+RfngRdUQCJobi9gTylUrQUbAVQFuQm30B6/vlyZU/QROQMafO+jTK0ZxUHqhXiXhFPLmoc= 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=wabRiNG0; arc=fail smtp.client-ip=52.101.72.96 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="wabRiNG0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=liL+FOWjIDQ3bxGSg8n1dH2E/nqu1G23ttBaTqBu40OopFZDv1ONrrczQQpzx+UoqrkJjPlI1r+rU2sP2ni7pZcAxEqOsbv/pDnVsbyYzBZBEJUHLyPPJg8h3vF40I/0WRxbTG4uG/kbAsFTMcSoCAA/k7+lzSzAPVYxg+m0Wg48AYg7VNaLP0BwQG/DHdJneFyj0A/dlotu19bTsm2llcfij4SaJpiQBIc7L4YqbS/eslYyFuvl7R7XmtGZ0T9jHFcX2PG8rTlxypCxSNVZa22qfMn7Sha2Cx51pqT3kgT7HBjJxvg4xTXQy+hQCoLOh6LRacl/slPhqqiwMXi7Gw== 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=nFKNDFk6oF+S+8lmQu7ZvbBpT1DDV81X0kaPUpu4tAg=; b=J7a49EnEWGyBx6R7saPiK2ckIEVIdQg3M4+r1Amh2Sds/ughyh8tVhxXOFGEJFlbIKqLK0kIhDDlTadxsHIGSG8SoQu1rVvCw6xigp9G7fb7pqM0Vb4zMTn7i0QLfbP3YLDVPbDWMIj5e1opHN5zGb1AGMD95VyCw9/EMLeoVGvcjIAEGfMynPY1QBNkb8etQaaYDXt0JyBQgGlorU2cH6d54UXrm3JXPRCzAPkp9c2vhMnQjJe5haktaBpJvhViAT4xrdGCoZOeLLPrepzLsufcP+PMinz0G2J035DfXK6ScP+CpfmUXXWGZ1r9OdPG71ohEowKPy/rJPD+DT12mg== 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=nFKNDFk6oF+S+8lmQu7ZvbBpT1DDV81X0kaPUpu4tAg=; b=wabRiNG04gMTNpSkXc6VGvXesd8eGIy0qPREVssFgpNjjBTmLmZASvdziMQTNqiYrtj3qcRPq9LqvS+f4Fh/W88haeUTJ7FC5mEp09ZOLE6RboPGsX69iVPCW+zzn1l09JyXtuvkDV0zf6xGXiP7a+T+EwtoOpg96MZWFYvuFx0wQLTkOIyMu4spe25MwTCvYzPAtIpqAo1GytHcFEdyHD+v+anwK1W3k5ZSQrkbIB+nsM5obgSmpCW2JEajcbt+z4kICEWxQUHYhPseBUtmTBZkQ68YJ/lVLpTof0+UoFDv32xCFIAT1LN9BPd5gXzjE5k0wR3CNHdT7BzltCSqtw== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:30 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:30 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 08/16] spi: airoha: support of dualio/quadio flash reading commands Date: Sun, 12 Oct 2025 15:16:59 +0300 Message-ID: <20251012121707.2296160-9-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: d5c22089-a309-4853-a055-08de098950e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?HFcO1RoSHSScgrcr7bZiOBAlvNPnflZ6933AIP2uxrI0UbEDwr7H02Gt0BVA?= =?us-ascii?Q?bLujWnNiLSfHxtFU5J+gyGMnrkKRnNvy2oFsMxfHCxfkfar9N9kcHOaRup2o?= =?us-ascii?Q?4j/AhdmwD+N5T62MFSpUfzOxoRXI2ldM88T07VcWD0MdGRuC80HV1a+X1CvK?= =?us-ascii?Q?agBJzqg3rh/KFWF8AKoKOiYdGkbPbNczl2TkQFUQ4yCK5D5D5YzXIg/ud+B1?= =?us-ascii?Q?RF+wUgoalOok9+vNFPHf+VVUEOlT1iaf9e5xBJ2L9c/iWEMywXJNv/AYS5qM?= =?us-ascii?Q?U5ddFxQ8Xo6CxKfnMjp/q6ij9WjnFWHNDqBnfTzYQlQJWU9+Vx9nn+W0/B6j?= =?us-ascii?Q?tKYxAthbnUT7QtOSnbcr3F/qK/JW4Ml7TSBDC+wQ6xpMvccAwEEgtBO5ukXP?= =?us-ascii?Q?kP7X1xCW26ujUYRa0d3yL+DiEYaDMthSEEUYn3UOy5aoPnEX/yXUMb0G68mv?= =?us-ascii?Q?Xv6+1kebTMGtrRwIevSMgbSXB6pfQgWDX/30n7QONOO1UXHsj8e+ph/iy6if?= =?us-ascii?Q?laAVSVbyhe5DVrHc6khbjVaZe62Sm6mP7Cn1LVPXKPcWzBGvICGWr9voY/Wg?= =?us-ascii?Q?OlBKcowHRJWvDB7O56A2027SD5Xa2arllnkHBqN7R5TTMR1Td6ffjq4Us5cM?= =?us-ascii?Q?2tIQq1YNChKGDllNreKsPUCyihENKaPXK8Ch29bShXEg44CRcajjCvta4DKC?= =?us-ascii?Q?DizwxiCpa5vEoGB/u5cAtNMb+iJ10CoMPEKjw8Tv9i1/PD/HtomsKuAbz5lv?= =?us-ascii?Q?JUVUFObZscOK+SMDN6i3EY/YLwwac9m7NIPIVySERvi9zzTvyvADJC+ainZM?= =?us-ascii?Q?Rf0Xnz+aCir5aVzZrHLS7icg5uJ6n6wdO8vssMQmPTyT6zM0uMjKib881vxb?= =?us-ascii?Q?Uxew7bfrsPz2x2g64CgdLXnnZ8xiE5BXSL2rWPhbF923YptFpP9Ci7mrbzY1?= =?us-ascii?Q?suep11Cc4x4rcjKRiabrzGECgR7Bb7fdjKmZeQi+RgbhIM8kGMcgFyBonEbC?= =?us-ascii?Q?+lNNjjyel6JjtMGviJD61zNwiAYauH+Qs8vZ+ALo89GGeeP/ZewHcWOoSPjc?= =?us-ascii?Q?VK8ZuYf/QGm8bQG/QkwkvHIsVNpRELVbaMeGZzIdzDUd6BCwWrYKYppvtZTG?= =?us-ascii?Q?igp/zBZdEeaYgQRrBcuj3eBnEIIXTswOTsJObL4m4y54lsmrXrP0hpl1L2hd?= =?us-ascii?Q?Czt+tFNmTAIM6jBzhtnm8LWifCty5zggAXkuLV45x6BFC+tR9d4gK8i7oMgP?= =?us-ascii?Q?p4q8atNugQNFORmHbhDmvb0S/eK6dh1DfggCUGnMwZhuZPi3RajsT7JUykuM?= =?us-ascii?Q?BlvHkzh15S3wwAQh/dLvXvlRYBgnccN/VBv4LQyKNhi41XLqb2uzRt97hiLb?= =?us-ascii?Q?yLFBXj+1vqccblIZahC7WpPZVc2aHpjsl+6cjDN0TiRQ4+GjkAWRmuFJN2En?= =?us-ascii?Q?jz2upFHtCwqPNf3eVuKRgy4wAgzbxG04GF8WKT8k1Xq0Z3eB0v3/Qn+rJgjo?= =?us-ascii?Q?pblu9+pdd0Rt4upVntGIdyPcAGcHmdZ96mtQsnpBHvcUYXBx2VT6m4hDmw?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X/MqUR4gJsTVvDwfmOmCcJB/0/Y1Rt3SDVT5puqwtENLRSlIWQPNoaU4F6Q0?= =?us-ascii?Q?JLAP9YKMLrAHSulGWOIZe2Fk0/wzTRhD7eh+RmZLGIPYExnOXYuIcSu3at8h?= =?us-ascii?Q?WAaJy+anvQj5EgkQHeltIeaVASuCTlUKHvf7xg4WnI9V7yDN9HemfQ6Py/W7?= =?us-ascii?Q?2fFfAwsXOZiKJbvQ3yXjPIDfhLFlXzKrNngfHE+NmScOkA5077Dazkgv4ff+?= =?us-ascii?Q?hUuuA9DwR7xs3QrJSKpWNiWstFO+wJ0sxZXeYsahyxnopZ8vHzFmp1NYzN0z?= =?us-ascii?Q?LV/rp3DwulRTZNLJJdv04ozukkZwtbzoW0MI2BHUxypeXMxiVgMSvxYu0FSm?= =?us-ascii?Q?mErrirmY8xsGQjbFrg/H4m3UOKUHnXxxm3Si+H8T8sCS9cPRqdlIKlamrSdC?= =?us-ascii?Q?ttySJ3wTKJWTBV/Qj4P0V3SXaLgey7+MuWZYQ8dhUJ8IcP8//0Jmvf8HP9Ic?= =?us-ascii?Q?+pwaukSgQc/Xdyzwx4vBwSiC2sAMXhOyMP8ifI1fMDhVc4HQNfi6NzD8uizb?= =?us-ascii?Q?zIlCMhN27RT7TAGcnAURDPuBQ8kt55H2BzHDIXW2tZ4LRJCl/uR074/H4EqZ?= =?us-ascii?Q?piEY5h0O/OFaeO5c1a1Q/pcZ9UwqQnw4S8CrpjnN1Jwyn8VZuqpMymL5LNdQ?= =?us-ascii?Q?Po/vAB93cOctYbqy4GhvtUkkyfrnvAFQR5vOYu5z3LTKzsx5V3K7sM8omvQY?= =?us-ascii?Q?UZ5ui8IK/BuRoRfYAfYyJuSCjSsLTsnXiJdYrIS4lw1QGOkEXe9l5hTlLCnB?= =?us-ascii?Q?T/0qf9PcRoQFRFcKX6SEChDrFuJ63ZrMxOY1hxrcBP17fT7nnaMl/TzgXFhp?= =?us-ascii?Q?bd+LjFu8r1ohe6Jf+sqkEwOGHYEviqOgywKk2dTlN9J/p5xOnB1iMEP0fxte?= =?us-ascii?Q?Sa/dpipr+OJiDKy+USwSv5m8kQ7VM/TdQazLLbwngtwiu+uH19C5obvY5mpq?= =?us-ascii?Q?yZcShanFVbvRLm4x7g0K8UJvm+4m86/cg+szYo1mLHN0cHhbDCg2mL1wsz5Y?= =?us-ascii?Q?D3lqQWuJIXel9zUe+Kx3dGn75LifdLJ3f/C20UNQmSWY94y9gZtlRyEBp7hF?= =?us-ascii?Q?R7m2lxQYhLudIrLaXlhsxvyfa1GvN7BsSayw4XGqZvIJjhckYcPupjJf7WqC?= =?us-ascii?Q?zgzFFHJgp4WoY6vl+8ASv4BKePVXKnLWUDqa3/Ni/YThAru2pbz8CsdjboAr?= =?us-ascii?Q?v0xmYmwvgLxFSNsI8Wv/y5DZxYDCanMYbLzW//QqCKtp1mpt7TC7n9WEGHUY?= =?us-ascii?Q?8QytvNGejvMooYiJKuH+Zjd8bqVY3mzPMUqXMwySCYW1gbAg6y1qyyZpMGvI?= =?us-ascii?Q?Aw6LOQ4/O2Rm6jRi+BmxLBbEn52LyyPoVjl5eCZe4YdVWLdrAi7iSnKQdjWs?= =?us-ascii?Q?4z08hoq9uevq6ip3w5By/nDU+EfaNxxiRnqyd9ABf20ozuEHi8F2+VbV5uix?= =?us-ascii?Q?F3wH4dwi0URP7OAxJBK/EKiZXYQuvfKVzB2UnsQfo/PW5JoEbCk4vMpAxMHm?= =?us-ascii?Q?Xc0w84tkImUqgq+3u6FfPG0BR1Bz9I5XlCap3Xy/fcMoWbrSAsPSlsUSdLe2?= =?us-ascii?Q?Na925GycjUYupmLkIXtVIWT7yb6HywVyv9C0iwcsYkRg4T+QZ2X/C4CtYc5p?= =?us-ascii?Q?TA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: d5c22089-a309-4853-a055-08de098950e2 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:30.7447 (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: xe4eSwBZRD8/XUV+iwbK1Chw1UdmZr12qcx9pQNkl6L5AW1WYmse9WUU0/yDGkvbXBipRLPCiOmAWkoqenTGCtlLNwlZfGCQ9vAThxBAL0E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Airoha snfi spi controller supports acceleration of DUAL/QUAD operations, but does not supports DUAL_IO/QUAD_IO operations. Luckily DUAL/QUAD operations do the same as DUAL_IO/QUAD_IO ones, so we can issue corresponding DUAL/QUAD operation instead of DUAL_IO/QUAD_IO one. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index e90fab69d81e..744eeb2b24ef 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -147,6 +147,8 @@ #define SPI_NFI_CUS_SEC_SIZE_EN BIT(16) =20 #define REG_SPI_NFI_RD_CTL2 0x0510 +#define SPI_NFI_DATA_READ_CMD GENMASK(7, 0) + #define REG_SPI_NFI_RD_CTL3 0x0514 =20 #define REG_SPI_NFI_PG_CTL1 0x0524 @@ -179,7 +181,9 @@ #define SPI_NAND_OP_READ_FROM_CACHE_SINGLE 0x03 #define SPI_NAND_OP_READ_FROM_CACHE_SINGLE_FAST 0x0b #define SPI_NAND_OP_READ_FROM_CACHE_DUAL 0x3b +#define SPI_NAND_OP_READ_FROM_CACHE_DUALIO 0xbb #define SPI_NAND_OP_READ_FROM_CACHE_QUAD 0x6b +#define SPI_NAND_OP_READ_FROM_CACHE_QUADIO 0xeb #define SPI_NAND_OP_WRITE_ENABLE 0x06 #define SPI_NAND_OP_WRITE_DISABLE 0x04 #define SPI_NAND_OP_PROGRAM_LOAD_SINGLE 0x02 @@ -664,26 +668,38 @@ static int airoha_snand_dirmap_create(struct spi_mem_= dirmap_desc *desc) static ssize_t airoha_snand_dirmap_read(struct spi_mem_dirmap_desc *desc, u64 offs, size_t len, void *buf) { - struct spi_mem_op *op =3D &desc->info.op_tmpl; struct spi_device *spi =3D desc->mem->spi; struct airoha_snand_ctrl *as_ctrl; u8 *txrx_buf =3D spi_get_ctldata(spi); dma_addr_t dma_addr; - u32 val, rd_mode; + u32 val, rd_mode, opcode; int err; =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 - switch (op->cmd.opcode) { + /* + * DUALIO and QUADIO opcodes are not supported by the spi controller, + * replace them with supported opcodes. + */ + opcode =3D desc->info.op_tmpl.cmd.opcode; + switch (opcode) { + case SPI_NAND_OP_READ_FROM_CACHE_SINGLE: + case SPI_NAND_OP_READ_FROM_CACHE_SINGLE_FAST: + rd_mode =3D 0; + break; case SPI_NAND_OP_READ_FROM_CACHE_DUAL: + case SPI_NAND_OP_READ_FROM_CACHE_DUALIO: + opcode =3D SPI_NAND_OP_READ_FROM_CACHE_DUAL; rd_mode =3D 1; break; case SPI_NAND_OP_READ_FROM_CACHE_QUAD: + case SPI_NAND_OP_READ_FROM_CACHE_QUADIO: + opcode =3D SPI_NAND_OP_READ_FROM_CACHE_QUAD; rd_mode =3D 2; break; default: - rd_mode =3D 0; - break; + /* unknown opcode */ + return -EOPNOTSUPP; } =20 err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_DMA); @@ -717,7 +733,7 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, =20 /* set read command */ err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_RD_CTL2, - op->cmd.opcode); + FIELD_PREP(SPI_NFI_DATA_READ_CMD, opcode)); if (err) goto error_dma_unmap; =20 --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 569982773FA; Sun, 12 Oct 2025 12:17:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271461; cv=fail; b=a+J7LCWQJd5WlfQAj4kYOwNkYjKoOfOff4IyZ3lFWWJ77glpnHXs9SGQBPXSQC+C48V6YhY8NOUpSnBiSdLRtSGdFtNJamlBJZGkM0BWsvVMzfMkpWCuJwJupUWySnTyqxQTT7YK88J7mXHmj4AMaM9Auji7FBdupxk4YQf88wE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271461; c=relaxed/simple; bh=1Z4+3ky3F5ePAz1LwMNxiUe87RYnFEz9pATQjAUyt5U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Nqw9A2eWR2s7geXzMDgRU0iOrwJq0WHTGvSgocezFGgYMeZZIgelmyGUw1No/4Jt9c/ThRdqJ4rGLjcvkjTpItYxlxN6J9BZSxn5HZcKIU7Z9vO1cpbt9M+NOCHzlaydvbzkylDVZ+N/T6Wa35UDTxt9UWOwpcRoWZ4df9Ua9Zs= 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=tNdq5o8V; arc=fail smtp.client-ip=40.107.130.88 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="tNdq5o8V" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B9P6U0CsZmoSnlf2JbgwZglWvz7qDwiSAnSHu4QTowpQ4EQTsasU3vBilXoEPmX6V7NPdI+lh0zNa6wgYn6bc93lh+HogObzb+dzsSjprRfGMJq6ApZxV0clirBnn0HrkklBl7YxPMHcJJqEGkdB9GXtQQ1xMR0xXXgCa0JXHNxYAYshWJS4O+zUKyR4y14+eUrYp1eRWziTqs2VUeippXQJt+ZbSvDb684dGvSpwty7S5TSZa4bkeRPu594zLSMzU8Drr9UyhYOYOS1lsb0MXnGeOIifAnpeWB08Zx0SM8lzIrzo0sTUNeYeMyj77A3DV6Iu1MXstTMENCw6D5+1g== 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=LqWlm7do5dhcKQcKUBo5lauX4m4f79tFnTIC1Cw+Sgs=; b=pn1jmxRH9fleCnpuuEtPMIzylH7l3/n0iI6x0j5hjOghCYnneunUKDaa3M5P0LoU25Q1GrDivlvRJmHcm27GNCrr1m4hnLIpCZCl02Bbnwf8owW3cV+uKvQ8AmlJQHCKKlg2T8guhKegjkE+IUkhpXNdB15F5YDm093FF9FUqPq+QY2PcAbucdQ2PUbZxMJjYrkAokabZAqxn+uVgyP/UvAOKIxLuJsM84S2LrQNQaWNGh32J6VOCNKklMYpK1mIqiMG4/iNUe4uAQ/UCYE1PZ5MZejVZqoWVOiejkLvzuyscd4FI4zcTUqUZcow4SbW6xgt796+VDT3dFFL0WN2PQ== 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=LqWlm7do5dhcKQcKUBo5lauX4m4f79tFnTIC1Cw+Sgs=; b=tNdq5o8VQEZYNTv2BmuhzcDb2agIfploJEVQKTbu0MNPp+gBkLVXH92QpboNJZTXkx2lw2MdLzPdXBMjkTl9omESxzn9Y5rz17r70Zu5AAAW5XOPHPrxX3R1eLg++i3YxutnRtzfDD38jY/l0+YiwjvNAw61Oiz74lNxemKlwURGyLjdj+rhyblmjGtD+FssrVrvhzrnF+25Ov2m/IhR00N/QG4HN9Mn22d2rbNo8SGY3N+hjYYjAUUYE5WVSFHc6y4bEYPM9IOYze81/5hv+OXUwXmlla97M/o1lNWdhs3ryKCEhXhZnTlMUxRyrFtU/16VOkJ/0kzl+IHzyDP7yQ== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:32 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:32 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 09/16] spi: airoha: avoid setting of page/oob sizes in REG_SPI_NFI_PAGEFMT Date: Sun, 12 Oct 2025 15:17:00 +0300 Message-ID: <20251012121707.2296160-10-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 97522935-94af-478f-1897-08de098951f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ja9L0SMYLEotiOe1ziBwWIQS3TKUsQ9EPRo02A5/loiq2poJ0Jrbd+nx/5e6?= =?us-ascii?Q?kT7Gojkpon54i/OS3/DQ3yuXzO9Oxgni58FC2mE1w9NSvWlV/vLEQ5/Ll2i2?= =?us-ascii?Q?/CLXjFa5/b6dcQl2ZYcsqBDnAbVJz/Oq7tDPUu87lsrbo2c8ojo9gbGGDeug?= =?us-ascii?Q?XlTNvaZXqqniVIYN1Ok87A0vCJFZOWH9xEgq2ZQIprSHMD/G5wM0A5k2ELwz?= =?us-ascii?Q?5v4mG3xocV4fmzFyE8/CO1/T8GfFSOJkEom+zzmiFU47/NIexyRU7dhc0nM5?= =?us-ascii?Q?fwLINatEvDH1ApQkm+SDY6plMFb63Wc87v9/Qaq6ccRSq1KPMc28eNVb6PSF?= =?us-ascii?Q?s7eg47BGYcKc/BBwjAMmr/c0OmAFSUuMYzyAiO9QalOSuNzdjaD4Mw3PJU1j?= =?us-ascii?Q?4UpIaS6FeFN72jBuLkW41wYQvD8ifM9mvTMJ1t7M1v8MhYHooQD64aIGKTjX?= =?us-ascii?Q?GhGzpgqkNxeN+6eNZEiFbLaRQjuntnY940mhnZ16wP+RslJsUdCSlFpZhnWM?= =?us-ascii?Q?ppNU79gMg6SFtW94H1CQI/dwWDB9JPUrysP6E+q0os8ORc3RjTCZ0x/pBluc?= =?us-ascii?Q?VNAxt6mW3CtAav+bRIjIP4uV1KCwC2kIxtyChHj7HgdeMVQe6FWj6DZHfZiG?= =?us-ascii?Q?/Kwsb8+w+AOMXJj2kNp57gKqH5mbhwo+moXd276KvCNgibryOINuKOB2zJTx?= =?us-ascii?Q?NozPMt5wpW3T0sx05FUc4ut2yPUGKl5DY+h66auRprOLGQv8oMQ7QfsFczOX?= =?us-ascii?Q?tyFxEzaRkQ/9Ysok8jdU3bMj5EDx3UHIOnV4xIetzVa9KiSziiAGrq1hgUGv?= =?us-ascii?Q?u94ShLwNHls89VC4Qbw/k1QIzwhU7w3d5OSRZ4amI9DEDfQ3Mz6crmvvgl9v?= =?us-ascii?Q?e2eADRuChZh6ExLtG6pcZ6T7i//XCutEqea9woIoE39oi8fynIG0mpTtw1Qy?= =?us-ascii?Q?518gJv6ufLvbwqTTg7FdokSW708iU3JD+MglU+AyJPqUBSUr6z8aWv3Ei7gs?= =?us-ascii?Q?OQETw36ZpkK9WMb2PpitSUZiQZwIl6HuXGswTPF/KnAgKOgBSeBwuMZxW73g?= =?us-ascii?Q?T+eGx0LpQkfnNi3Xs/nHRDwAKFmZQAGiJDWu+7lc6ZJVC266WY+BErDqBhpi?= =?us-ascii?Q?AHx3VInguly5aM9PyJh26LqE64YJwbWjM5kRWic7xmF8hac+nY9pRDBba0kO?= =?us-ascii?Q?EkIyn904duXV4+Ph5uovBfUY6TuXBYj5gvkoHZQxoJGmdinSNNlqboGiRGT/?= =?us-ascii?Q?zSB6yTEHQe0hr/ukFalgnP+YwZXgi4drvcPX6qttHkzAh/nlWcS0kdQaxvG3?= =?us-ascii?Q?80LyCxMe5QrPMUy1T/BOrP9IhBKrKGhcwZfzRaC488DNScK2BT2wjzCyrCat?= =?us-ascii?Q?OcbPV7whLl2mKDpnaZKh3a6r4AO+zJ+yk+DdNq5KfC90qYp0YykLF1BIgyVb?= =?us-ascii?Q?g6rLBRwimq7NvaP6cYIGo5kKrD4/adCzqo283w7d6yVody4T73qjQB1gTba+?= =?us-ascii?Q?NEXR9Emeh0SI9VI6c0HI18cHKbN/4Oqpo/eyjryjeWAcHbgf8uCBOQZAHg?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F4fj6aNFB7jE3S9PkmENMgTPQjsKlCti6faaIjFHSY72OKYtHD5HBd1V2cYE?= =?us-ascii?Q?HmSY+Axq9Jbj2q97XnsdRvmh/B5fWzEq23ycW+n2NjI7RM6Bu+VvGMBmEMF2?= =?us-ascii?Q?Lx7sQqfvQVq05s1oV0nwMrRsSHmAe8mlQb4UruL7yvinS1PNL/t/fz2QcQRq?= =?us-ascii?Q?O7dVsRaiwpJmKPUBhUIrigMXnkuDDRUF0AoSr/Vuv3pRol9yMo6F34Xh0d5a?= =?us-ascii?Q?taQUsIYo3neyINyRzss0RVwl0Hwq4UK2oHsdLwnvwCb/nXTE1EP+FH3/ucjK?= =?us-ascii?Q?c1kVHfI4UY+aaVQfmSyBpw0wMqQdbG4CND13A2CrwP36uoZPj1iiegqOVQgp?= =?us-ascii?Q?wI9KOufQHeX5icOXvQlaZM6FsgoUmdwct8JHA8SeA+VrDE6z64yAlOJY8jAA?= =?us-ascii?Q?/yO/Jis6f5EINll7NNOd5UId7IOFTTVxN7oW6o8q8wAqxYPzdkItbuI96/ow?= =?us-ascii?Q?G2WN+Uic4VcHBlYWwekpsvXHM9qGWRe3iBgVeL1iwpc/wnPjXONv1cQVngDr?= =?us-ascii?Q?yfZl4kVHco4SXYVaLsAbGwmHnndMO+5mfU8R5nTxfLAVGvCqdpMXKaN+WMRT?= =?us-ascii?Q?hRnL2VJ/cTJN1GjGAngvCQGUiFnln1QNgj9rhZFFKLRzHb1ZhC3uS7y2M/Qh?= =?us-ascii?Q?OOlcwg3ZQ79Dec9tvmHPi3N2mcFoHRXDY6cNQniio498mSxqFZ08PMFVc6AE?= =?us-ascii?Q?WFLM0BkY3OobWhHnhj+hSvBTAzTNjAWiGJKqwoenNjKR8+14k1sgCu4kqFel?= =?us-ascii?Q?RgiopR5r+XB4o+cSMQ5rwhIVPR/L+F+8rnGKDUPUbrbT7l/vSqUzjGTBoii4?= =?us-ascii?Q?nY3sCv7OJPUJE+yLzuYM4rr5L3iXG2YBRhGWM67ypPhnIxen2xBKzjkNDP24?= =?us-ascii?Q?k64AnZfzMNHqXFSroTWQfLLzi+9J1xBUgAjZoGwKeHyI5+4GPDtwyHIoxOCX?= =?us-ascii?Q?8d79qIXZqvhaJFaBmXDCoy7k/OCknLN6fb5KlMiUgwd+h+PYiCFsLB78uPK1?= =?us-ascii?Q?9111h/yMxeOoiojGZjSGsiigo3ND4+AooH87pvY8XsEDTYpWGWoZBd0nD1XI?= =?us-ascii?Q?qEvILtONj6AUpkTdZWO8aR1Jwj0TcvoVJnlcOKn0zym8JUz+/6h4pywN+8X9?= =?us-ascii?Q?QlgF/hezololRRQzrAn1LHWL18IsLAVqLcJnbNs4blNkUuLN5lZyyvJj8Nv7?= =?us-ascii?Q?FK/a6LCKp1/OavwOs9b21qVzQGHVMmlCe8lH0o+hu+JUfNfVvFw/VFNvIons?= =?us-ascii?Q?lnh6h1IZ8GOrgvWoVblU5kFMORo0A2ZSMWod6HebeGp88I4aXsTVNIPfSJGe?= =?us-ascii?Q?kV/s1QgfH7Qx1kCxNw0iODg99HzFRquRErLkaDIugQEBhxoHJRDoenV8HWhs?= =?us-ascii?Q?fjvygLm3YVVF2YMPY/xNywddi6UZsjYSOQKlnIi7mFkswdVeTyn2IgPXppn7?= =?us-ascii?Q?7NEXiH2/Lbecnso0lgDlUfrErz7ZHW83xO4XEx96qzdnQzpB28qbrca8eEfz?= =?us-ascii?Q?Q96/9ey2IWed0nRWvtsm2VAaYVSFp6QE6UE7iDOAR+kHON4EA5AdROiF9zgK?= =?us-ascii?Q?N0BrvegnTqUXgm5Urqcmbva2DPu4OJG8rjczcFApfb5xRE58YTbn+KqKzqhR?= =?us-ascii?Q?Iw=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 97522935-94af-478f-1897-08de098951f5 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:32.5093 (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: 2OqgGZCGvCxa825xwZ7WRSrHVEJ8CHHzueZY0wf5rSGRI51+rQXduoLEtQUcstu6M7jFCC9NbEdZTOCXV5JDQ2qULaNsbnL18Zs6EtyHZM4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" spi-airoha-snfi uses custom sector size in REG_SPI_NFI_SECCUS_SIZE register, so setting of page/oob sizes in REG_SPI_NFI_PAGEFMT is not required. Signed-off-by: Mikhail Kshevetskiy --- drivers/spi/spi-airoha-snfi.c | 38 ----------------------------------- 1 file changed, 38 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 744eeb2b24ef..719b424d4cce 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -518,44 +518,6 @@ static int airoha_snand_nfi_config(struct airoha_snand= _ctrl *as_ctrl) if (err) return err; =20 - /* page format */ - switch (as_ctrl->nfi_cfg.spare_size) { - case 26: - val =3D FIELD_PREP(SPI_NFI_SPARE_SIZE, 0x1); - break; - case 27: - val =3D FIELD_PREP(SPI_NFI_SPARE_SIZE, 0x2); - break; - case 28: - val =3D FIELD_PREP(SPI_NFI_SPARE_SIZE, 0x3); - break; - default: - val =3D FIELD_PREP(SPI_NFI_SPARE_SIZE, 0x0); - break; - } - - err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_PAGEFMT, - SPI_NFI_SPARE_SIZE, val); - if (err) - return err; - - switch (as_ctrl->nfi_cfg.page_size) { - case 2048: - val =3D FIELD_PREP(SPI_NFI_PAGE_SIZE, 0x1); - break; - case 4096: - val =3D FIELD_PREP(SPI_NFI_PAGE_SIZE, 0x2); - break; - default: - val =3D FIELD_PREP(SPI_NFI_PAGE_SIZE, 0x0); - break; - } - - err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_PAGEFMT, - SPI_NFI_PAGE_SIZE, val); - if (err) - return err; - /* sec num */ val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 628E9274FD3; Sun, 12 Oct 2025 12:17:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271463; cv=fail; b=JgyZVIcvMGLaWKH+1SxU7kTOcolJ86yfTpg0N2NNCydQv06wNTc5TXW9L40Jz1AEbEfSp9f59wVWSkmMXa+rtB8S7CtH09RfglEwQMYYFukBYSi30OLo1w/6u23Nc76hETb5uhkA/0dfj4Y4TxHwGeGU66qLizU9GgNEy8eQNPE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271463; c=relaxed/simple; bh=cBHsnFZtmlxn0wHvSPe8hsUcctWdvufB77xOkfG7jHU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OtFIcBR+fRDn8fb4fMoIFzPoectsy91k/GTLR/DH9vUb8d0Qyy5Pc4/IRRs8KnaLvdAG5Wdtosrl2k5kwyqcFYxrVXNoARBcBKeCzx32eqZKg54fPo4BvORe1rKI8wB5ASX7tH2beUCgx+B/hQy9g9BzfUk4sJKQOWp5qxgUDvY= 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=mOcFkzfV; arc=fail smtp.client-ip=40.107.130.88 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="mOcFkzfV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RyPHm/+/hAYnYGwSsUDwp2fa8KyNDi4rVZA/wkt3mvymMZlnTUxeKPD3J1G8oevY850ikvMSd2EwfrB4ZLeu6Agq3CKkw3SSSEOVfMKI6MhmL8GknRaXGZEZF53sJu6VAbZ5x1oHNeuSAQclVepoe7A8yIcCxU56LHObiDkpXz4e61hM+vrHgBcsJiPd6S0rChCvAZA0hQy383XBBY9+4jb0dRbK2nB4kHsagBbxrU1RXbh8XOm9YM3u2bbybFuCTFu509o6DkNiDUBZfz0sg9VVgtM82xBbzSYUo4pUZ3wFNBXpg3eX/WHl9IRKqN0w9BFjIBtPq8u/DCKbaS1pxA== 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=XaeR23XjV99KyKxtEKYRWyvyl2v/64v49i3KS/BYe9E=; b=G39IbfPpb0VelzlFYnkrqRlr9nnSPigruBN0UMr4p3srzIdWLS5yWUtLemL9SjHY0J/pdhsYMI3MfBeVOtoAGBCfISfG61l0h4z72/mxFLg4/l+oG2VJqrxTKAjfEvTM/yTMQLFpTydXwBdiVlflDwERxK+D5+IQ9+kx/z44zJx6W10i2ULtt91mDVDYRAbJiwQW6ojZbSgyVLVxjdjhkTt8tswdUNNJCe03Hij9npr7BwPD+SV8wFiBp0byLwCmHF8kGvyaEjv+JqIZ9gTzEt0P3t0JzHTi06lyQme9TY8926jDJitxvNUOspNNicsPOVuWaEgJv0lBvcXMj3e12A== 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=XaeR23XjV99KyKxtEKYRWyvyl2v/64v49i3KS/BYe9E=; b=mOcFkzfVpxjb3S5NQL8faBnSidzbjVaqD+SuY1tFRg5a0h7LeZcXz/LNRO0GpMII28B8fW9q928tKhZL24QgCHKjIa6pEhZRynA8HOL8YUtX1JhKK38X2yWMsfH9iPSOztwdI1vBdNQaUkxu4luadvIBsWOEp3xVKLO+pbZ26+q3noz0frdFsqXgJQIJ7bEFSd62C1zofT6Yw6i992Sfi4DdylvD/q6pr/wsDxmu7kE2hCb9XnWTni/P0VO0S0NGDgI81/LxU8So7Btr6KgghdlxlV14s/eXtdJMpilNgI6Iub4O9H7+z+pIGaiV4xlC95sqw0nctP4j//g7je67cw== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:34 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:34 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 10/16] spi: airoha: reduce the number of modification of REG_SPI_NFI_CNFG and REG_SPI_NFI_SECCUS_SIZE registers Date: Sun, 12 Oct 2025 15:17:01 +0300 Message-ID: <20251012121707.2296160-11-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 1016d4c1-938f-4c66-eb5c-08de098952f9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pRGZrTrMIHcfrcNrvvvk/1redbOmqThsBd243hLFHQuJ0jV2UYc21Ma81VbY?= =?us-ascii?Q?nxPr4qg7DHExcCOabWot0cFrv4t3py2oSZgCE/Dfsxu1Eqv9bMMzB1WKIJt/?= =?us-ascii?Q?JRY+zZNXXL7r8fyyUQSXJm5qxiwdS4CXVBoeurH92yeLWU87cfjmgURRlO8R?= =?us-ascii?Q?t9QKDTT+zjYsURaXTakwjqzCug1xNu4SDAu/hdiogKXa0RwklE1cTvA5t90d?= =?us-ascii?Q?4DQQnQWUFxYjf/L26VMK3uK8XHQ2pmlqfrnBzvy0BFtOq9fQwAN/a90vz/li?= =?us-ascii?Q?lG9FFyt1F97pJEYT8og5FnQ2kStmIW2EpFGcgjGMk78wGE/jLaaXgW+MN89m?= =?us-ascii?Q?kr+KPppmzXUpWiTdjuJfQ/tR6/aDUq9VQFXtNkv6p/eFDnPT1qYD8vdAbYpo?= =?us-ascii?Q?UAEQzfwcErs6qZtsTIPBzANfkUqKWFJaKCSS9sCbzBUecyaYQJJ7+c3yMmyU?= =?us-ascii?Q?v1gWLfWLKin5cwkCp+6bnaIJ7MC6s39nTfqZ95e8u6kM+/4sRnkM5YXx1q0Q?= =?us-ascii?Q?VfwC0jm+1RQdvtYdv9r9y2pmBTT99K+ZjmVmMLwRORNEVhUVsCu5NU0vnLiw?= =?us-ascii?Q?6I6JGT96EJWjHpOlZqG+e/LtCQ7QoWVEe/WQG5cLr4KKiLiN13c0ObwijcAk?= =?us-ascii?Q?PAthpF0xwj2zA224+f5OOMoxY3Bu7EOPwZlpfYTaElk+JEBf8bK6/PVeyk8Z?= =?us-ascii?Q?BZeO9AHl6TXC8BHVu7Hm6nJafO0ewKleQW0IHExAS4E5fX291c2TMVNgqdFE?= =?us-ascii?Q?m05n00fnEmX2lD0z8b8eTClZ/LF2+ynYvioSA9ZrqXXQgQ8MIj1wYaWVDQiK?= =?us-ascii?Q?fivsxUeP8f9Y+wBtsdHDarX5OD102DY1qOpua9AGhrs46v8l7Bd7jZe8GS9U?= =?us-ascii?Q?s/nWvevA9gA7W6HQYzbaFPegEeaAPVVzgj3lLmfC2tCS35g8tGtEtj6Yjny7?= =?us-ascii?Q?0nHRuAGku31hcXNsc/vSF+AYj9Br6tmThJXSyM+PqFE5/otQ5NaYKHbe7y+5?= =?us-ascii?Q?rb9+NDM6nmMacGXdugZP3ft47AJCElvuT1YnVfVZQfcmEiorH6lGXvV9DEfM?= =?us-ascii?Q?oSATFqSNLREB5F9/BqBAEZ1HGlQFJCG/OF8cic6UI0kmPdZrJQOiAFP6TFl9?= =?us-ascii?Q?VeouS+t1l642rGnsoQ7kJ0Mb0QfV7ZshFBkeY5JiIoZCUxZUvn2/zcI8JhYd?= =?us-ascii?Q?5DrVT52D4kxkG62PiZhhKFAEHbyRwfQi2gFimiGMtOD9aTvq8EgzS636rbQ8?= =?us-ascii?Q?o/SdPZetsnSvaYus+Hp+CogPbUamR//tIetsm/zWskJw9CDnRrFdXxqZy1sp?= =?us-ascii?Q?GfcR0Zv7dUQSTQ816NpLtvc/uNFi5lUX0LUPf0vFbYCQPuYReE+n4lR4lBTR?= =?us-ascii?Q?HFCJAks+V7p+4sBKPSxnXwTEAUuZF45dYtHwNwkc9/E3KioGNmjRo610pRHf?= =?us-ascii?Q?e8lYA/F8jN57C9t9n/f277wH5h8riixfXwy1pTqUwV//k9bJWDEIGRykmMxF?= =?us-ascii?Q?GykZPGiu5OyOCcKZyMEPCKJAq8X3HRNt3rm3Mzlc6OY6n3RV8FGZwi/0cQ?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IxCDHlGNVtCmLQ8fZ2pr0dExNmJRAt/ikyF8rx7keQNPf3bVuZBD5nS/x69p?= =?us-ascii?Q?W60fu2bWtMSPQcX7lI7R5UwPD3k0TkBKv5QdjP3iQpSnP4izsO/iFpGgOXl4?= =?us-ascii?Q?MxalSSgQstIv53cwsyaG7O2HjrXlWFmBcam2GXGVJPqfT7iK3PjFq26uwb+z?= =?us-ascii?Q?/wMxHDXu5ge/d/EHuoudnZuK6Wi0LvtRPNtanY0PH+rGiiLD1cGR8QLok8fK?= =?us-ascii?Q?NoP/zNgpVG0+cRVT8uVy5a0XBSFIUdeXWjnhK9kS1XvY+N4GDgvsuGV44TOk?= =?us-ascii?Q?76K6A0WvGiu9r5IrKpr3YLx2YsHgmjUlYlI74lo4zp4Kk6XJjycoWqUtt63m?= =?us-ascii?Q?gv1aSwQRUnQzSfMF296kyG4oabH4IMuBQ8PIk14lPFWn7QXo9QzbeFwWMUs4?= =?us-ascii?Q?qCk8s5uoYXioan4L3OIbc6RjQxCIviGWvSPCB5RAXcqhXUQTQ0vpmW3dVnjy?= =?us-ascii?Q?nvctCSpNxC1S3JeXDN+aI57swq2o7ui22SZC1WFnv8bO8PDmEEZSaITkuWdQ?= =?us-ascii?Q?KfHFzgjYx9NWKDj9nZxnME8CTbMt/x2sWzDzOnB1zM8hjew84U7NHiszbNcZ?= =?us-ascii?Q?7wkFeB+d12+iDPgF71s4Ve4bhfoV+DzffiOK4vVfiw+ejhwrIm+MDi8+i7YQ?= =?us-ascii?Q?lgJvWug5IAMxA/ybP9Ey0pPvy+6OLFNkgC1/N2PsldC/Hz0lhDKnEW3bPbGQ?= =?us-ascii?Q?Nbfq/WPqog+vwFZOk+AhkgKkOX2xI/Wuza7KNw5stJGAeKvBfgnrexfYMI+b?= =?us-ascii?Q?r9IakqWh2VwGQXud/J8UcoG/z2TOVvbKIncA6B43IJE5ZBSYJQnHFqbXFjuB?= =?us-ascii?Q?kR5wLtIHeK9/N9ipbADULrJLJ5ErFE5K7BbH6Ga6fIdoXPRMi+vCUfMzCUFC?= =?us-ascii?Q?MVUWsJQRyifk/OhVmhY8Z3Lz0Ib28kKTZbAghjYgd/2Aezxls4vgJ/EVYchr?= =?us-ascii?Q?0KsBMLfeA8KmBB1xBptrV7Buwtzxl/8J1EeE6UnGwAVcpJl2e3Rvg7DyZfFn?= =?us-ascii?Q?dg/27Urh300S1qH2iCHLZXwbP1E+g2NmPhrXPevlFDr08Z8QSp8bC6cJ0AmZ?= =?us-ascii?Q?5D4SKGADDtI7Gtu7mJI7Lafz+TC1y4AxCVlyMLLVsozq68TXj+sKYYMLaPX1?= =?us-ascii?Q?a9vfZL0Z/Yz0nS4Mc80JUUt/iBwABlyMVd0fTXx4/Z7xtx+XEJ3wzSluZokq?= =?us-ascii?Q?+yVUxY25SDPoQoV/Xmj0t1NKD3e/PJz9SkH1TnShhC3ohbDpwC+/hohb+n/u?= =?us-ascii?Q?cEZFT3W6zhegufu71O10J9shdpeDw5ai0DIbR5V8RfDFXuoreGpvjvTXRIUO?= =?us-ascii?Q?Li692vipm7j6XiloXmJ6wg4FVa3jiyrtCBcMlJrx6Y9ZU3hHEX4DYlc3MbNH?= =?us-ascii?Q?nR8/12bYfxter95MoQOGlRZsDfey3c/TDCUpo1qI+YgEOtzVxGXv1AL6WN72?= =?us-ascii?Q?6GVHXbiOWdIcMMf0f2C5MS7Fz6paUdU29ti2+9cfU1UOuEeZcfctrVhex7qd?= =?us-ascii?Q?5rT0a7Z49FWCYtFSnhG/6b322/Sm/8TydQEB3EpowjU9ZQf4cfsdv4fmd8kN?= =?us-ascii?Q?D69QunQtFu+LlbevRdvjQYRn4VMS1YLiCdDUCLbHjPIM3d2W/1VXZKtdJW5o?= =?us-ascii?Q?nQ=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 1016d4c1-938f-4c66-eb5c-08de098952f9 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:34.2435 (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: 8o6NDU0emI6j2oJG/Y5HjKaZxlhMozh5Ai315Jx37x0NGb5Zk/Ubo2XnUp+fPWcngq4AyOe4UdizvLmXJxC3miI4hJ/uttuFT6tLMgB3DRA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" This just reduce the number of modification of REG_SPI_NFI_CNFG and REG_SPI_NFI_SECCUS_SIZE registers during dirmap operation. This patch is a necessary step to avoid reading flash page settings from SNFI registers during driver startup. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 135 +++++++++++++++++++++++++--------- 1 file changed, 102 insertions(+), 33 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 719b424d4cce..3fb76e2dd5e3 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -668,7 +668,48 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem= _dirmap_desc *desc, if (err < 0) return err; =20 - err =3D airoha_snand_nfi_config(as_ctrl); + /* NFI reset */ + err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, + SPI_NFI_FIFO_FLUSH | SPI_NFI_RST); + if (err) + goto error_dma_mode_off; + + /* NFI configure: + * - No AutoFDM (custom sector size (SECCUS) register will be used) + * - No SoC's hardware ECC (flash internal ECC will be used) + * - Use burst mode (faster, but requires 16 byte alignment for address= es) + * - Setup for reading (SPI_NFI_READ_MODE) + * - Setup reading command: FIELD_PREP(SPI_NFI_OPMODE, 6) + * - Use DMA instead of PIO for data reading + */ + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, + SPI_NFI_DMA_MODE | + SPI_NFI_READ_MODE | + SPI_NFI_DMA_BURST_EN | + SPI_NFI_HW_ECC_EN | + SPI_NFI_AUTO_FDM_EN | + SPI_NFI_OPMODE, + SPI_NFI_DMA_MODE | + SPI_NFI_READ_MODE | + SPI_NFI_DMA_BURST_EN | + FIELD_PREP(SPI_NFI_OPMODE, 6)); + if (err) + goto error_dma_mode_off; + + /* Set number of sector will be read */ + val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, + SPI_NFI_SEC_NUM, val); + if (err) + goto error_dma_mode_off; + + /* Set custom sector size */ + val =3D as_ctrl->nfi_cfg.sec_size; + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, + SPI_NFI_CUS_SEC_SIZE | + SPI_NFI_CUS_SEC_SIZE_EN, + FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, val) | + SPI_NFI_CUS_SEC_SIZE_EN); if (err) goto error_dma_mode_off; =20 @@ -684,7 +725,14 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem= _dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - /* set cust sec size */ + /* + * Setup transfer length + * --------------------- + * The following rule MUST be met: + * transfer_length =3D + * =3D NFI_SNF_MISC_CTL2.read_data_byte_number =3D + * =3D NFI_CON.sector_number * NFI_SECCUS.custom_sector_size + */ val =3D as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num; val =3D FIELD_PREP(SPI_NFI_READ_DATA_BYTE_NUM, val); err =3D regmap_update_bits(as_ctrl->regmap_nfi, @@ -711,18 +759,6 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem= _dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - /* set nfi read */ - err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_OPMODE, - FIELD_PREP(SPI_NFI_OPMODE, 6)); - if (err) - goto error_dma_unmap; - - err =3D regmap_set_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_READ_MODE | SPI_NFI_DMA_MODE); - if (err) - goto error_dma_unmap; - err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_CMD, 0x0); if (err) goto error_dma_unmap; @@ -815,7 +851,48 @@ static ssize_t airoha_snand_dirmap_write(struct spi_me= m_dirmap_desc *desc, if (err < 0) return err; =20 - err =3D airoha_snand_nfi_config(as_ctrl); + /* NFI reset */ + err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, + SPI_NFI_FIFO_FLUSH | SPI_NFI_RST); + if (err) + goto error_dma_mode_off; + + /* + * NFI configure: + * - No AutoFDM (custom sector size (SECCUS) register will be used) + * - No SoC's hardware ECC (flash internal ECC will be used) + * - Use burst mode (faster, but requires 16 byte alignment for address= es) + * - Setup for writing (SPI_NFI_READ_MODE bit is cleared) + * - Setup writing command: FIELD_PREP(SPI_NFI_OPMODE, 3) + * - Use DMA instead of PIO for data writing + */ + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, + SPI_NFI_DMA_MODE | + SPI_NFI_READ_MODE | + SPI_NFI_DMA_BURST_EN | + SPI_NFI_HW_ECC_EN | + SPI_NFI_AUTO_FDM_EN | + SPI_NFI_OPMODE, + SPI_NFI_DMA_MODE | + SPI_NFI_DMA_BURST_EN | + FIELD_PREP(SPI_NFI_OPMODE, 3)); + if (err) + goto error_dma_mode_off; + + /* Set number of sector will be written */ + val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, + SPI_NFI_SEC_NUM, val); + if (err) + goto error_dma_mode_off; + + /* Set custom sector size */ + val =3D as_ctrl->nfi_cfg.sec_size; + err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, + SPI_NFI_CUS_SEC_SIZE | + SPI_NFI_CUS_SEC_SIZE_EN, + FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, val) | + SPI_NFI_CUS_SEC_SIZE_EN); if (err) goto error_dma_mode_off; =20 @@ -831,8 +908,16 @@ static ssize_t airoha_snand_dirmap_write(struct spi_me= m_dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - val =3D FIELD_PREP(SPI_NFI_PROG_LOAD_BYTE_NUM, - as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num); + /* + * Setup transfer length + * --------------------- + * The following rule MUST be met: + * transfer_length =3D + * =3D NFI_SNF_MISC_CTL2.write_data_byte_number =3D + * =3D NFI_CON.sector_number * NFI_SECCUS.custom_sector_size + */ + val =3D as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num; + val =3D FIELD_PREP(SPI_NFI_PROG_LOAD_BYTE_NUM, val); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SNF_MISC_CTL2, SPI_NFI_PROG_LOAD_BYTE_NUM, val); @@ -857,22 +942,6 @@ static ssize_t airoha_snand_dirmap_write(struct spi_me= m_dirmap_desc *desc, if (err) goto error_dma_unmap; =20 - err =3D regmap_clear_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_READ_MODE); - if (err) - goto error_dma_unmap; - - err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_OPMODE, - FIELD_PREP(SPI_NFI_OPMODE, 3)); - if (err) - goto error_dma_unmap; - - err =3D regmap_set_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_DMA_MODE); - if (err) - goto error_dma_unmap; - err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_CMD, 0x80); if (err) goto error_dma_unmap; --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 B51A8279351; Sun, 12 Oct 2025 12:17:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271465; cv=fail; b=DxdOJp+cYHERbo8d9I0TpH8JPK6n2xt2HOS2DcyDc8tNUHquacNPRsrwUb97LFZbRpWCk1EN5jvlqhiA5Md9d8f4Ir51nfM7BZtiS9HHzMP/4GNff8zndSjGjjaBATFY1KR1c8hPrQKs1drlQLv8K4tdk6xkKtcGoMMv7ZI71nM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271465; c=relaxed/simple; bh=RiKbo/qwhlU6jP31RsuFL9gEwPwjUa/P/53eg/G8Wy8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=UbtDWYT0t1FD0xz5DW4tYkk+i1uZmLdUjMByilD0BFChwwRKEFarN//Su96fMYUPmM3pqZru3UWj7xcTDPxfax5ExAuLwpIJyaTWUin7pYFEl4jMUS9aEydfRt58ouI4NM/FdLknqUpz8Svjw4F2zKB9RniB17bwLy5V2mPXKJk= 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=mn8pV04j; arc=fail smtp.client-ip=40.107.130.88 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="mn8pV04j" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tjrFo50DHjZYye2J/pLF7/a3p9oDoOadvVoRz0qJfo4aE2d/xs4TNUrN9pI0nocyFDSc95yjwhiOY/+/LCQiSMmYcV3V1MS0wCk7g13yltoXzaMeZBtdyRwEXjXKWsudYasuym4+DT+DcICYh1et3KBZo97TvEYuZ+TRKNJwqecMMOeBoSjxhcU1yl+/xZP7JddfLxewWeQ+T/MuRDaVfUbU0vsHtmjbl4A6A0gVB/ewYK6o9pXqJbh02e442o+O7+fg50H7ds/1qwGRmLeF6vWTHrep4fUh9apKZ0W9wG/YMdf8IiQoXsXYJnt5+alcU6CpdpAeiKeRgAtTG6BNDw== 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=iSyv9KzWw/RI12dwfNpi4y8uBoDZVv0XdyTCW2gY7B4=; b=MaNbPJWPTYMDmB2RcARSx4wsJyleEbws2IQeEDmPs0r0jDDU8MJsmwLUgD6DNs6IcMahfapTzw9seaJrKoBO3EDyQLwgyS9xF5LHcrgP8xO+4ZUt97YZIQwJ6LcNjhnPQ8dOPEptcom+MXnQ/Tc7PbSqugGEVyyp4icx70q74nj9IDX5Vm6LQEmCFUoNYvHTFTc73zCL5nfL6qpwn14lvLMzp5HvKD46NLJDaYfTdAw9Fn7LesAG5n2SRLSl3RQBrg9oavkNmPkblz8VWBL3USV/OWKjPN1AC3ymliB5dTVasYy7ybVwtvJ1AroUgioNfA0wXVnvJ8jhoI2Qh9rlug== 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=iSyv9KzWw/RI12dwfNpi4y8uBoDZVv0XdyTCW2gY7B4=; b=mn8pV04jtXJtQ47oUUb96bCoZXh1youbBqTkkIE9z8Twhiwg9wKOt4Xzzl6ym/dYaA2Q8tZE9xrE24AEkwOIwnKbDNMb3HiRiZOYBFhBuWobzxpWlHQcVFfpJZ/tfO/V5KGaJKre59QkiIlKDHUG/hcANe1Ly+RiX8LMzVpepByIbV0hR+K8QS1k/SY8jgOsyhQtex0G65rBLZMfDbq6gqpcPQ3zSG2tm75ORmVkSQ20qxM2BjkaJdp/QfpoMo32mX0ku6nm3s8XkVHSMGAkaikPxg2w+AdxqK3/N8tLiAZNgwKmDd3XYtSrTKBUs1W4M5wFJ/7ift5dAmXpPdA5+A== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:36 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:36 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 11/16] spi: airoha: set custom sector size equal to flash page size Date: Sun, 12 Oct 2025 15:17:02 +0300 Message-ID: <20251012121707.2296160-12-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 639b066b-fc77-4946-e5a3-08de0989540a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7vFO4wOG55dAfjFkZBW2F0eoGEvt0cc7Iv3AD1dGuB0KCjdfs3rrML4wgljN?= =?us-ascii?Q?57DLNyMMogGa6JJaXXTZQbUZt9zYd0Ecztc4wHHV3myzl3zLT2qLyV1gkxyj?= =?us-ascii?Q?T1+nhhWiQvzHIVx1Urr7ud9KOIy0Yq2mLQbu5IJmTRWpN8qdPVWwt/9bGqJY?= =?us-ascii?Q?uzmuKTLWJQ8sPVobxZbX9MrmSGiibHd47Fm5CrP4LyMh0VE7/xh15TXkVEfq?= =?us-ascii?Q?tl/VVHpuMJNgRH14QVgyS4pE/OVRVNHKPLMM8BTsA2Nx7mTCN09ZPVL8Kl5g?= =?us-ascii?Q?+XrBj44fqcO4y9ZSpgjh90IeVIEoELv4mKmFH+5ZLT4EeSczaxgVxt1HKe1P?= =?us-ascii?Q?yJlM/+XG8/WSVj+TOrYWjzvX1869F4yFydqYckCZFTRcwLjG4+UybYHsm3NG?= =?us-ascii?Q?lsTcI09d+eyd47mQwBuV/SiW0l41X01gU8jPl5zt6cpOhkzwHRKKstY+Car8?= =?us-ascii?Q?0JzyPaaa46i7yYuom0c914q5XYx6JTAhyb61C6e3IfBeQ7yO7z8uaADlOKDG?= =?us-ascii?Q?gxxzbDpp1L/0RotH9bRWStPhHBt+GH2LnCRbGONX7o+s+dv6pf3ehaB9VeDv?= =?us-ascii?Q?dKHoRiQRCzgpGI3zuYOyeZHrSZLJsfzlDZPD7bV/DyVmHrRJb4vcUuvcQOxH?= =?us-ascii?Q?jXHMKp81nZL7z6tESewcTAXwATI8Gy66Z5Wtx3I7sPvHsZQAi7pJd1M41Kyr?= =?us-ascii?Q?BC0RSnYgDSjDTCXOZmu2LwyDMKy5WeNHU6eKCEmKxwPHkMdKGTO2CwxEoJPr?= =?us-ascii?Q?qZNIbYbwmZs2Ihk1J113vr4/m7woyBv3tm2Z3kyZYu57pzpx75HOwH3fLo1O?= =?us-ascii?Q?KwsYc6pZM+P6pplINFTY0QTkvaRX3YcvllUqY7zt6mNTa9dX1N6DWhHxoc72?= =?us-ascii?Q?rp0aPG7LP+mss7aRr8RG9y4RrSCl5AfxcZHy+77/d7HyD9A9CVhRJ/nUOnRE?= =?us-ascii?Q?nT9E17KMpNkjB3DUhgnfyetpg/uTH0gmsCcriy/7vIrBJd5uuXDuY11rTC3X?= =?us-ascii?Q?KJ6oyseriUEF1GlaAyBIuGiZUKEWQExj5UZRTKKddAkxOw9B/5GcI7fuMM4A?= =?us-ascii?Q?kMVDikKIsQMRs4Aq1jaIUdYnpS9LupW6ss03deCHTXL17JLzGcjdOrj+qYYV?= =?us-ascii?Q?JT5FcBLhSZp3O1Knncq0Q6SoCFdhDahJUPiknUcWXceqT98eDax2Li9IzZxo?= =?us-ascii?Q?GrTC+qaw6LgeutWZl8nq7RQKvzgo7NoJ9epMeMHpgsMSD3kLackH+N7pj3Be?= =?us-ascii?Q?lslhyOV8p7pibysE7dxUXCplY4UNxsQM+R4OJ7M8yXL8EriAQjvxAJHO970c?= =?us-ascii?Q?/HXeHQxHgRBkiAoOgV9zpE0nNA839b0WE4DEzbhqUs7BoMrqZjigfadrjEpu?= =?us-ascii?Q?/7qBgw8mztem4Wb5cqC4SO2sSIH6zWcTSTBwveRuWNahSo4EI8oj+ArSgXBD?= =?us-ascii?Q?cnT2rTxYX4Jd4T8R7irbsWdbijVXkdjTD8BTjdlc/ycK3ei8BU1BbcPRS53v?= =?us-ascii?Q?qisLm0DoC/HDwM4QoYxDL7HIWrhpkIGcDpOHHwS1umwCfYyZKezpws83nQ?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yFSOHJEoddpw5wIrVepxKsrTwsuIwrRBi2uGi6mecsP0f1UY0i4HTgLkIYxh?= =?us-ascii?Q?65z4dNJp7tnTjyJDuZbqiXnY2mKAOJ6FoI4Wozt2arNTkyxszi2QpCORUXb2?= =?us-ascii?Q?klpJ+DiM7i/i5AU8j7y1JUIMy0+TESvNWB+cXXUevlahxZWoYmg7P+l3j2A1?= =?us-ascii?Q?AI0qbzK0MNRpBQJ9gVlpOuz1yINr+HPj8Q5Lzbk9et17ImrArNTE4VqL7qUH?= =?us-ascii?Q?dQtDcMdNS4VasVQhxmrBv7SZe4mksj6X7YpryZ2BI30LU1HCVpo0JpAEbFBU?= =?us-ascii?Q?XjQxjPwMwDqhmSj+jUucqHyYnaHzPXqUmfpDYsPsgyxussKp4n1c/2C521Z4?= =?us-ascii?Q?xlYckGBTf9cYhwZK8jmpI4AdNReiFokAfWmTC2I3VDvJTm6jvE2exoID9DkJ?= =?us-ascii?Q?DwkPDoJED7HX11vacnHuqsjVwQykiAG/DpMDJ/hpP7eW1Y0aGoIOMJBXQ8Bp?= =?us-ascii?Q?CDHzdwaqGrecKbV11tE3tryxJfrE8voUaCOlH71xnJA7y9/VT2juhUOCU5GQ?= =?us-ascii?Q?VDXEbkBeS2Kv8VKniprSK3MTfvMD4+NuA2NgUXP78JaoBxlQzfq86VVYsFlR?= =?us-ascii?Q?uWFMhBADOrS/xQEUbZUKWYZ2Ympsh0DWWAKJsgEdeITuC/UlxgGVGqbUV1b8?= =?us-ascii?Q?pOWsira38oL83kjX+4Zhx+PKjZRmXPtc+mtcZ9H8vium/dllHcASFhZJoAkB?= =?us-ascii?Q?bA8dJ4R64sbVjL2Bv57dj2K1Qs9EDKvosNImcKxKAjQ6hSsi46s4mJJuxcKz?= =?us-ascii?Q?j8cJSbqYN3RYeI9BPKLLRJjaOfTUALTxoiNpMhEFEaY2FvQH83EtkAbNqb1w?= =?us-ascii?Q?n9EEN9YH1aONlDW+Z3LB74rfYn+y9AWwOb/j/mFM/1RdxvyXAE2LpgUoZHra?= =?us-ascii?Q?xqni14FB2PR9Y7zJdQQKy49CMn6LPbnheDmaq41lWMyDtSBC/WkF2E2YLaTW?= =?us-ascii?Q?f27VyqvfrNJglH367X0/ImkOmqt3sKo9KtZxy99OC65LEPXgMYb1Hx8e81MP?= =?us-ascii?Q?AJ+RUQH2Fz0ufHerhKtcWNYxNpYk5XayvAczHEn2RBDk10VywRkE7sxFOyUe?= =?us-ascii?Q?ybClSWRTRLhs71YM/0BIN+lox7Dw9XKdsPWnZ6E8/eHJK89KUr1o6xWTXatm?= =?us-ascii?Q?V6Qc3R3qb2E7ZriiQXjW0SlEe00aBBNwov9Bx+FvG8jmILFvkXbGR0jN0SNb?= =?us-ascii?Q?3QfVuCPiOBOkQ9WxVdslsu4Rpff2Y5TnvaCoNrBX+uDmnIcF8RWXnVzah9KS?= =?us-ascii?Q?oH+iJVZ0sW2KqDueKn8FiC7WiLMC209tnoXV69k+yLwO78GaBvnBmq3z5aMb?= =?us-ascii?Q?F8hZTU0d6WD3cFxzUKQ5pFSNJ065yJgqAXqSpx1us0omPauRBEgVl3waOmUS?= =?us-ascii?Q?IlEjTAfRtUiKGYzyc5X2Y/k0GgNMXllFFfbik0TEt+Tdw0uHDKR/JBmGWtsJ?= =?us-ascii?Q?DnHHCcI16CuC46kz/GhjN449eTL8KtrwpKwZf7m7ZvCWwzr8WTmRwyZW0Wj0?= =?us-ascii?Q?eljBryaV/0cu1C0oOdXgF5zsvis3MdOvsV62z0RjVhiP7J0cvjvB7QuMBLFs?= =?us-ascii?Q?aNxc5FF99IW38QCd7aqVnbiNnG8EhopRR40K35YhE5fUdJXoqVUbv84XC7LI?= =?us-ascii?Q?Gg=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 639b066b-fc77-4946-e5a3-08de0989540a X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:36.0096 (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: hgCrkqqxYwRlCbM+Lo8rStX8W/vAPKr0Cz27EF4vkVs6Apj92VYyHUtIR+1C1F2eUwDRMYZYkpFIXGqdUbWhNIz8LIoNrJGIU6LaAn+Sfn4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Set custom sector size equal to flash page size including oob. Thus we will always read a single sector. The maximum custom sector size is 8187, so all possible flash sector sizes are supported. This patch is a necessary step to avoid reading flash page settings from SNFI registers during driver startup. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- drivers/spi/spi-airoha-snfi.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 3fb76e2dd5e3..babf7b958dc3 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -519,7 +519,7 @@ static int airoha_snand_nfi_config(struct airoha_snand_= ctrl *as_ctrl) return err; =20 /* sec num */ - val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); + val =3D FIELD_PREP(SPI_NFI_SEC_NUM, 1); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, SPI_NFI_SEC_NUM, val); if (err) @@ -532,7 +532,8 @@ static int airoha_snand_nfi_config(struct airoha_snand_= ctrl *as_ctrl) return err; =20 /* set cust sec size */ - val =3D FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, as_ctrl->nfi_cfg.sec_size); + val =3D FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, + as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num); return regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, SPI_NFI_CUS_SEC_SIZE, val); @@ -635,10 +636,13 @@ static ssize_t airoha_snand_dirmap_read(struct spi_me= m_dirmap_desc *desc, u8 *txrx_buf =3D spi_get_ctldata(spi); dma_addr_t dma_addr; u32 val, rd_mode, opcode; + size_t bytes; int err; =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 + bytes =3D as_ctrl->nfi_cfg.sec_num * as_ctrl->nfi_cfg.sec_size; + /* * DUALIO and QUADIO opcodes are not supported by the spi controller, * replace them with supported opcodes. @@ -697,18 +701,17 @@ static ssize_t airoha_snand_dirmap_read(struct spi_me= m_dirmap_desc *desc, goto error_dma_mode_off; =20 /* Set number of sector will be read */ - val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, - SPI_NFI_SEC_NUM, val); + SPI_NFI_SEC_NUM, + FIELD_PREP(SPI_NFI_SEC_NUM, 1)); if (err) goto error_dma_mode_off; =20 /* Set custom sector size */ - val =3D as_ctrl->nfi_cfg.sec_size; err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, SPI_NFI_CUS_SEC_SIZE | SPI_NFI_CUS_SEC_SIZE_EN, - FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, val) | + FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, bytes) | SPI_NFI_CUS_SEC_SIZE_EN); if (err) goto error_dma_mode_off; @@ -733,11 +736,10 @@ static ssize_t airoha_snand_dirmap_read(struct spi_me= m_dirmap_desc *desc, * =3D NFI_SNF_MISC_CTL2.read_data_byte_number =3D * =3D NFI_CON.sector_number * NFI_SECCUS.custom_sector_size */ - val =3D as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num; - val =3D FIELD_PREP(SPI_NFI_READ_DATA_BYTE_NUM, val); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SNF_MISC_CTL2, - SPI_NFI_READ_DATA_BYTE_NUM, val); + SPI_NFI_READ_DATA_BYTE_NUM, + FIELD_PREP(SPI_NFI_READ_DATA_BYTE_NUM, bytes)); if (err) goto error_dma_unmap; =20 @@ -826,10 +828,13 @@ static ssize_t airoha_snand_dirmap_write(struct spi_m= em_dirmap_desc *desc, struct airoha_snand_ctrl *as_ctrl; dma_addr_t dma_addr; u32 wr_mode, val, opcode; + size_t bytes; int err; =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 + bytes =3D as_ctrl->nfi_cfg.sec_num * as_ctrl->nfi_cfg.sec_size; + opcode =3D desc->info.op_tmpl.cmd.opcode; switch (opcode) { case SPI_NAND_OP_PROGRAM_LOAD_SINGLE: @@ -880,18 +885,17 @@ static ssize_t airoha_snand_dirmap_write(struct spi_m= em_dirmap_desc *desc, goto error_dma_mode_off; =20 /* Set number of sector will be written */ - val =3D FIELD_PREP(SPI_NFI_SEC_NUM, as_ctrl->nfi_cfg.sec_num); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, - SPI_NFI_SEC_NUM, val); + SPI_NFI_SEC_NUM, + FIELD_PREP(SPI_NFI_SEC_NUM, 1)); if (err) goto error_dma_mode_off; =20 /* Set custom sector size */ - val =3D as_ctrl->nfi_cfg.sec_size; err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, SPI_NFI_CUS_SEC_SIZE | SPI_NFI_CUS_SEC_SIZE_EN, - FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, val) | + FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, bytes) | SPI_NFI_CUS_SEC_SIZE_EN); if (err) goto error_dma_mode_off; @@ -916,11 +920,10 @@ static ssize_t airoha_snand_dirmap_write(struct spi_m= em_dirmap_desc *desc, * =3D NFI_SNF_MISC_CTL2.write_data_byte_number =3D * =3D NFI_CON.sector_number * NFI_SECCUS.custom_sector_size */ - val =3D as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num; - val =3D FIELD_PREP(SPI_NFI_PROG_LOAD_BYTE_NUM, val); err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SNF_MISC_CTL2, - SPI_NFI_PROG_LOAD_BYTE_NUM, val); + SPI_NFI_PROG_LOAD_BYTE_NUM, + FIELD_PREP(SPI_NFI_PROG_LOAD_BYTE_NUM, bytes)); if (err) goto error_dma_unmap; =20 --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023096.outbound.protection.outlook.com [52.101.72.96]) (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 54CDC27511F; Sun, 12 Oct 2025 12:17:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.96 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271467; cv=fail; b=lRDgGxnpBmtTgFhyiF7PTqoBEOOmeh5EcVjXHK+0XBv5+eB1x2e5Fb2c1I8F8FL7aGGYWdd+jr/ywtZ0oqkB2tUE2yrhRKUWLBJUDaYlmyrxt4grkPBvvFjcID6nTKx6mopwmxivXBfhLW9AtkgTxWKkg6HcoQCKq2MV+8Y2e00= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271467; c=relaxed/simple; bh=TW0r7ZDi5Kpc0NOqesGU8kDdpINxRHGh/ajmzO2PuQE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=oTWZ6pfoJ3+nEghINXMVWKuxVyPyEeSi+8o8+Vp2JNMJxAb8ULPDuEg12kfT/4KqNB1UEHHCWc6uJG7whibRLz1bOhr0D1fjoWxlPKr+zQ2E65sbHF1uxXx0WugGCn18jBKlTfbRh6Qd4jomqKJk8+pGOED+IURECbU0yc7zQzM= 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=W22XJOn9; arc=fail smtp.client-ip=52.101.72.96 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="W22XJOn9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Z3DMCky6OAtKby9dhegOyj5BxfDu6rRXF2yr3ugqb22f2vT4ItGgdSonk8FVpPmAooRo6FJk+GO8Wfi21FHCziRzuw/mZsT1wi539sXWBvRkSG2dtK5wV6mBGV01eELJq2tGS1+MokVw7yHLNjgr0hnQ66gLX7KAqQdGCG2KK94i694WvWiw722JhDpvDq0jOSDxp/uuFdaHpMP2YF06GlTuI2sM8o0fqRuu9W+nAeSanpFu2+sH08Et4Wt++CQ4peh1oZkL0Qpyx+WXJizRkDp047hGQlgYgxgWKOl/WfO5epVAlJgg6YjmPs40mTxXlqKreyGrQ/eKLcxvYWy2Sg== 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=sEk8brtdw5W01o7qoOkKslSSjbVNlZcNRZIgXO6c4j0=; b=kK7OeUr/mzsgeb3miBmOxsOP7MM+NqUaqx73a09t9HlkRi/FWWNgRFevjn8bWCo2HxfS4us7IznlykHHVL/cRfWtZXMi8drQl41fYFrxshMpAVA3Z1qCb54menIOuOmy9mMVD+pOzkotChyF6FyOBhFpRPGYgU5EBvktOV2XCiGiI3PbxxnkBUN1KOvSF2VRrhE7gYPYYBva/ty8HNr/8T5Ve/INI08WNtzdpgtW8HHlNzGkRHjBJ0EbheCN9AMpY6taB+2ene4HEoAe/unZhDfuQ6BO7eyTVkvLv1R4zNp3xzUUXT4BCDp0bzLlcouMywZ4lY9qTspZzl5GPXhPKg== 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=sEk8brtdw5W01o7qoOkKslSSjbVNlZcNRZIgXO6c4j0=; b=W22XJOn9dSs0DDvFXxzy8jjTUjPnsRcbGip9RCddn0DSV+ML+Fjfq6SZA5Rj/zOb2Natx3PhHqAffVHkt8lQ6Gd8srJouYNdIGvcd71Vf81zDbJsL0FuibHDdJuEEgDf6ejGtaevqOi/UnVk/e4NY3Um008bpJ1qlZkAkG0D/d5RB9YIz5Znfy5vSqtjO/YoBhWLdG2SSalqb9sKgMIe7CiuTNrALveJ9JnMQluJFTN19JHxp0ldW9zeMClByOqtitIA+uPejy2gEemWw4Uj4crVvV8CngWv/CuK4txZW/qZOUneEz9v85/rgga2iBZS/oKj1xvGsXtV9//5Iid/6w== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:37 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:37 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 12/16] spi: airoha: avoid reading flash page settings from SNFI registers during driver startup Date: Sun, 12 Oct 2025 15:17:03 +0300 Message-ID: <20251012121707.2296160-13-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: a246d34f-86e1-4a54-7524-08de09895506 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?014tNN+f7tDSOAwaB+Bla6kUVrLF7sRdy8rCwm0PIqR0waNb7NgafENUM2UL?= =?us-ascii?Q?cGG8D7T9+U8ZWDOfelbqA1ZtvAnTZ6ehrg5+A934ZjUibNn0KRsGUh9WpGQh?= =?us-ascii?Q?weJONVP6khyVPblQgHpB2qkTifsVI7RqQwtWykCG2brDugZvVCGyc9VkeOn3?= =?us-ascii?Q?lx/ze++N5W5jBBeuHW16QnO3qNw9UWpTFGxE8MvudUNMgsgI/WH4NC6w9FlZ?= =?us-ascii?Q?Ko9ypZcIZCVXxB0FSiWXl3QT5fKrWFKJg8HcVpb4XoDdV5J0bm4NLvICi0hK?= =?us-ascii?Q?teXdeUaLbbZ20JcElXLiX5+hs4QYp4GWJAtMC18fAZ3zSBEnGo5cFvLPJn8J?= =?us-ascii?Q?TQrGtlnlaO+kHAPLro2yTx1Gnz89qbvY6lI/YooxDXevd8rlxwGteq2Vjw5n?= =?us-ascii?Q?9L9oUl/skD9W8lin0PdELMAGXI1lbMAOHG8XDY8hQvF+X8GgAsCw3QZ33Ilf?= =?us-ascii?Q?NU+DRS1rg0nOk8rSuptYsHelQ5D7HThclWTYbl3oeL0dCLvhH3GGk0YPo2Dz?= =?us-ascii?Q?4FzG+r//8OFYH7MD+NY2tiAx8kLYItseW7xoOFB6E5GqgltVT84wzA9axgPj?= =?us-ascii?Q?NtCVut1+bbBVQ34s4oqw/wKik4TgtwhHeToD9QQRYMdVt8801UbAJnZfyC6P?= =?us-ascii?Q?ukoFQLXEEB0DI3ZlCfGx0nIjGAFm3P0oOqHhV646Fz1QeTZiVTwUbK7m5AWy?= =?us-ascii?Q?K72QWmMUZ3VnQUCfIpQC4VHiIoyZ87GQ6Cfv/ELkYk7xX+EnONIV7IDuN5uC?= =?us-ascii?Q?ZVu4yrvYEHIW1XIACOW/ZUeHnykxxs86LETkPvMwJ7mDATVkhRDR/pI6L8xR?= =?us-ascii?Q?mhdBAGmTKpV1dhL/8b5g+eIyp72rOCpeqOeFyjlsWJAIjdwt4I6ZlyCqDykc?= =?us-ascii?Q?gq9J1bAvDBV4j2qPAmJcJ04Xq65eHGoFlKiJLFTffxsE0tYVoswWU86lfQ2a?= =?us-ascii?Q?mS/jX3pc5r2D0AXx6hx8JBWWm9fMrmxIlVIVnEL1YjkpFm9DZZTSrkdFrxSq?= =?us-ascii?Q?JyYEzCIMETspTB4v9p/LXg6vVHtJn3tW3dnFVUeoY8ZV8N4HYrpFpy6Lc+PW?= =?us-ascii?Q?mLVTYAkzrg9gBFq93GTtI9iru8d4LicwJZnM6T8J+x0uUYSiutyp3/pHJN3W?= =?us-ascii?Q?5UWwJNzMiWf9GzE6tO7GvLMPGiR5KLL+hLEn4A6XWfDnjW9ao8lrjA+iqpOU?= =?us-ascii?Q?xcatIGOV/PLg6AX7NrM5U4862fZgNE2IhAzfE67BTfbx7EwqjXbWtk6l2UkU?= =?us-ascii?Q?XlHi/yKeNY2r12WJeb0UjO2NovYjXnHUsAVPFnvBpe+nxd6uZFrJG4lhHH6X?= =?us-ascii?Q?GYFpqZ/8On0Sm27GVJ4pKuJ/08YAFqxDzmkXqPwdn9DvarlcOsdCnUINFPp0?= =?us-ascii?Q?QVNGM8CZng/mXNQek6M3m6eU6vLBQEsDDfTKNOFThpNHVwuY+iTd9vIt2fcz?= =?us-ascii?Q?dl6owAoAS+UzgjtMa55O5moaSlnd9tdRH0Oeb7BE0SLJAkKbNp5OVJUgUEnC?= =?us-ascii?Q?W70ehYBHcV5SN4oaRJ4pMUuGWsmk8W6jnayQ5KFdHoPWKDl/0/J7ikoHrA?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Rej0EuPph1XjVbfPwgUvpnAwAMGP3V5dCAmyU6VZSoY+nHNr20tcueiCn+2u?= =?us-ascii?Q?HmB7CNfz7kbAqs+mIAlLtWXqgJgKBY9j8DWsnb/h75/8buMQq9FRhGlEcuu/?= =?us-ascii?Q?DlRkIIxga/14RK1jDfvjnIFlzI4Tl0eYUzH5sWXEb092FaDFKoy4sWaxHpdK?= =?us-ascii?Q?Og3SuMgdsZ0tuLzsCDiCd+S4F8MjC0m87nPTzzTeNNf+zrP8aD8qsueC6yU4?= =?us-ascii?Q?bDtcyGhDQIGVHc/aAcfmCNobYS/SeFiOCbPV2JgFs4cxDNEBOozraVB1dUwR?= =?us-ascii?Q?HwerRJZ4DS8H9sPUx9uVVvbmzBJdrLrP+CVijLPnu/pHNe78T+whtMN/PO8r?= =?us-ascii?Q?72KtRVLy/ROmKNcNO2oNH+nZlRLSDw08ErfCcx7mf9m0swi5eXZk2Nasm1CP?= =?us-ascii?Q?cjOMJxDv4CsG7F7uWcS/fHJ+749su+kPOPbYZSgZZOzztnCgD8CydtgfoRKs?= =?us-ascii?Q?NJuwPZSwc5Ct5Pzj5/eUF6JeDaYjl8Mz/u2koO//9GeHFUA7Pa9UOdZueTa1?= =?us-ascii?Q?NC9bEhsJDSkH/xnCjC1uW5ffoouBG2p9DEC8XTbrCjClIQmq4V/msJ6N1miM?= =?us-ascii?Q?Iz9nPyHRuClcX6hRr3inf5wJjTL2D2rCm9V3Ods/Qxkb0NB1Wi+Gh7T1ImbO?= =?us-ascii?Q?iMUBfEgo26hJGjF9YQXR0gt1dofA51wtpcQ6lJcCBjIoPP0uVd5mc8WfXEKF?= =?us-ascii?Q?cNx7NuMqcOSKPH1td0tGp++yGHbfIA6W6zw0e7Diqwzf7oQtSthydnZd0vDQ?= =?us-ascii?Q?xDd8zM3lZTtObFFLtHMmO4OC0aM6rCM+n1X05WLp5Bp3mw3gAxSHCRxsfQWD?= =?us-ascii?Q?PqhAbMl9l/SEhSyE8PW3AQ8qF6K1pFHod0Mb4Jlw+wWjDbceXDjEL0dx+ued?= =?us-ascii?Q?sn9wbNoV1HBnjhNZ1n2QOBMnOIjjqxO0lnHAoKlN6OqgI0Ey0nloYRVkxNvG?= =?us-ascii?Q?isqESc3Nb20R3G7C9tHBTjCULH/Txy8j5ARAFSCDgQI/UYotgWGE27czE+Q/?= =?us-ascii?Q?JHGa1ra5A9qP2EnVOT6NYCxPasISyYfXMSrUsaJ8o8UQ50IRzdaMd7jkfj7A?= =?us-ascii?Q?CsJqv/8JJJTaJD3pCsZVDiDUqPHFU6Vnf1wDbaF28S8Vpk2ILjM67yRSnsDc?= =?us-ascii?Q?2+3BPCi81R028AqD8CA+tfgqr+GR15q1gGoJKbJctAtEUgCdElTpuVdxwMLj?= =?us-ascii?Q?hcE8+jsFpgJ5OZmsMW3oDi4nZKAngujWFaCpQbHcj9WunejhIlZFDgyrc8Mw?= =?us-ascii?Q?Qv4rEX6vmMLj129JQrrJrXEL0kTh0T7qgrgaD2BwrT9v8sCYw9tt+4Uu62Zv?= =?us-ascii?Q?pAs5jjc6YFCF8b5ML9+HS5ar2YQWTEz+opM1KrK3adzAHJiYtNk3BlimMUAb?= =?us-ascii?Q?FeXn7y+k5lmVxTrtU3NIN6B4Ejkr9KuAx5RAiVO8squicOOmKKYxhjM2x7W1?= =?us-ascii?Q?VwPtDE6rdLxnZU9X38vsbZTviAsDdtqaGnuALcJL9wOF7glm1GDhPXluehyK?= =?us-ascii?Q?ocBvTQfUyO1Q4+eNViL3pxCUlzTovH/0fnkbbK9nRLxJQmV6zbEbSIoU+C+v?= =?us-ascii?Q?fIgx9hZWzECeyKFeXWxsARV5wPog/IDO3aNvnGJWFUNr3VSzvSYfJ5N2tI0E?= =?us-ascii?Q?Zg=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: a246d34f-86e1-4a54-7524-08de09895506 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:37.6645 (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: MeQHpJ564oUK0A06MqoNeIwENySLmr0h9ap2YY55tu7H3U0YHsujEMWzLhfmYW3KeQK1419xwMvm6A3GecgNKCFAV5vMnDSb54SnUUiA3yY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" The spinand driver do 3 type of dirmap requests: * read/write whole flash page without oob (offs =3D 0, len =3D page_size) * read/write whole flash page including oob (offs =3D 0, len =3D page_size + oob_size) * read/write oob area only (offs =3D page_size, len =3D oob_size) The trick is: * read/write a single "sector" * set a custom sector size equal to offs + len. It's a bit safer to rounded up "sector size" value 64. * set the transfer length equal to custom sector size And it works! Thus we can remove a dirty hack that reads flash page settings from SNFI registers during driver startup. Also airoha_snand_adjust_op_size() function becomes unnecessary. Signed-off-by: Mikhail Kshevetskiy --- drivers/spi/spi-airoha-snfi.c | 115 ++-------------------------------- 1 file changed, 5 insertions(+), 110 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index babf7b958dc3..437ab6745b1a 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -223,13 +223,6 @@ struct airoha_snand_ctrl { struct regmap *regmap_ctrl; struct regmap *regmap_nfi; struct clk *spi_clk; - - struct { - size_t page_size; - size_t sec_size; - u8 sec_num; - u8 spare_size; - } nfi_cfg; }; =20 static int airoha_snand_set_fifo_op(struct airoha_snand_ctrl *as_ctrl, @@ -490,55 +483,6 @@ static int airoha_snand_nfi_init(struct airoha_snand_c= trl *as_ctrl) SPI_NFI_ALL_IRQ_EN, SPI_NFI_AHB_DONE_EN); } =20 -static int airoha_snand_nfi_config(struct airoha_snand_ctrl *as_ctrl) -{ - int err; - u32 val; - - err =3D regmap_write(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, - SPI_NFI_FIFO_FLUSH | SPI_NFI_RST); - if (err) - return err; - - /* auto FDM */ - err =3D regmap_clear_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_AUTO_FDM_EN); - if (err) - return err; - - /* HW ECC */ - err =3D regmap_clear_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_HW_ECC_EN); - if (err) - return err; - - /* DMA Burst */ - err =3D regmap_set_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CNFG, - SPI_NFI_DMA_BURST_EN); - if (err) - return err; - - /* sec num */ - val =3D FIELD_PREP(SPI_NFI_SEC_NUM, 1); - err =3D regmap_update_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, - SPI_NFI_SEC_NUM, val); - if (err) - return err; - - /* enable cust sec size */ - err =3D regmap_set_bits(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, - SPI_NFI_CUS_SEC_SIZE_EN); - if (err) - return err; - - /* set cust sec size */ - val =3D FIELD_PREP(SPI_NFI_CUS_SEC_SIZE, - as_ctrl->nfi_cfg.sec_size * as_ctrl->nfi_cfg.sec_num); - return regmap_update_bits(as_ctrl->regmap_nfi, - REG_SPI_NFI_SECCUS_SIZE, - SPI_NFI_CUS_SEC_SIZE, val); -} - static bool airoha_snand_is_page_ops(const struct spi_mem_op *op) { if (op->addr.nbytes !=3D 2) @@ -571,26 +515,6 @@ static bool airoha_snand_is_page_ops(const struct spi_= mem_op *op) } } =20 -static int airoha_snand_adjust_op_size(struct spi_mem *mem, - struct spi_mem_op *op) -{ - size_t max_len; - - if (airoha_snand_is_page_ops(op)) { - struct airoha_snand_ctrl *as_ctrl; - - as_ctrl =3D spi_controller_get_devdata(mem->spi->controller); - max_len =3D as_ctrl->nfi_cfg.sec_size; - max_len +=3D as_ctrl->nfi_cfg.spare_size; - max_len *=3D as_ctrl->nfi_cfg.sec_num; - - if (op->data.nbytes > max_len) - op->data.nbytes =3D max_len; - } - - return 0; -} - static bool airoha_snand_supports_op(struct spi_mem *mem, const struct spi_mem_op *op) { @@ -641,7 +565,8 @@ static ssize_t airoha_snand_dirmap_read(struct spi_mem_= dirmap_desc *desc, =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 - bytes =3D as_ctrl->nfi_cfg.sec_num * as_ctrl->nfi_cfg.sec_size; + /* minimum oob size is 64 */ + bytes =3D round_up(offs + len, 64); =20 /* * DUALIO and QUADIO opcodes are not supported by the spi controller, @@ -833,7 +758,8 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem= _dirmap_desc *desc, =20 as_ctrl =3D spi_controller_get_devdata(spi->controller); =20 - bytes =3D as_ctrl->nfi_cfg.sec_num * as_ctrl->nfi_cfg.sec_size; + /* minimum oob size is 64 */ + bytes =3D round_up(offs + len, 64); =20 opcode =3D desc->info.op_tmpl.cmd.opcode; switch (opcode) { @@ -1076,7 +1002,6 @@ static int airoha_snand_exec_op(struct spi_mem *mem, } =20 static const struct spi_controller_mem_ops airoha_snand_mem_ops =3D { - .adjust_op_size =3D airoha_snand_adjust_op_size, .supports_op =3D airoha_snand_supports_op, .exec_op =3D airoha_snand_exec_op, .dirmap_create =3D airoha_snand_dirmap_create, @@ -1101,36 +1026,6 @@ static int airoha_snand_setup(struct spi_device *spi) return 0; } =20 -static int airoha_snand_nfi_setup(struct airoha_snand_ctrl *as_ctrl) -{ - u32 val, sec_size, sec_num; - int err; - - err =3D regmap_read(as_ctrl->regmap_nfi, REG_SPI_NFI_CON, &val); - if (err) - return err; - - sec_num =3D FIELD_GET(SPI_NFI_SEC_NUM, val); - - err =3D regmap_read(as_ctrl->regmap_nfi, REG_SPI_NFI_SECCUS_SIZE, &val); - if (err) - return err; - - sec_size =3D FIELD_GET(SPI_NFI_CUS_SEC_SIZE, val); - - /* init default value */ - as_ctrl->nfi_cfg.sec_size =3D sec_size; - as_ctrl->nfi_cfg.sec_num =3D sec_num; - as_ctrl->nfi_cfg.page_size =3D round_down(sec_size * sec_num, 1024); - as_ctrl->nfi_cfg.spare_size =3D 16; - - err =3D airoha_snand_nfi_init(as_ctrl); - if (err) - return err; - - return airoha_snand_nfi_config(as_ctrl); -} - static const struct regmap_config spi_ctrl_regmap_config =3D { .name =3D "ctrl", .reg_bits =3D 32, @@ -1204,7 +1099,7 @@ static int airoha_snand_probe(struct platform_device = *pdev) ctrl->setup =3D airoha_snand_setup; device_set_node(&ctrl->dev, dev_fwnode(dev)); =20 - err =3D airoha_snand_nfi_setup(as_ctrl); + err =3D airoha_snand_nfi_init(as_ctrl); if (err) return err; =20 --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 E046A279DDA; Sun, 12 Oct 2025 12:17:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271467; cv=fail; b=KT1QkmljbFsa8orXzpxrHscqW1wNM1jGD4uG3eScPvblmVUWB0YZJe6ba4iuvOYY8DTGzrQT5/JYnt4dxJgnP51CgQadD+6B33+1fsVMkyO9El38RGfpt1A82l+T2VTtIcKYSZijJNPsKZYI3NVk+FYHT+QbQcZ6SgeM0f2MBrU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271467; c=relaxed/simple; bh=zXs1zjwe73k8NBFsZyuBC+GPa3XlTDJdYKLifu+UCv8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=S2Tqzkbob53qzLTTF/0weqnmdemWBR07OJf6YvorFdQyJ3z+O/R9ix62ldsSYO/hB+WLZYZcx2sPs7GLdHQD9TywziuQiJWnIob8xvOdUoicAvksTATrW0lPk6Qv5ebNo23982Ojm+crBMlB0uKyd2fAPwzcDY/bx1ph2rBZeD0= 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=wkoz2gQw; arc=fail smtp.client-ip=40.107.130.88 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="wkoz2gQw" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=totIIHISeop8ukCco/CwRR5xNTkHvivcZWn/3zzLG9TmRnTonsq/WIO1C51J9O309NNcitfC0pkkOCxnrvo1WsHbFPXfZZsshTQeR7HXfmKezOrOeJUt+OulRRmYDwrXttBrS7OfLVwSJmzjFYR2K6O3DF0mPPUJHsmYAJXHGthXAXnIct5DZyIB+fQLgJKmK1scESNKQPlkFWGjuG4HHJpii6Czhpq2PldkXAKvAn1U6niJCZ3BMDh/RQhixut27ggi81fU7CZWE/6T1u9MSSbpt7NzRtOvbHcYOPIr8PlPOsTFT2CoDnZGs8j9AsLDcOFTioVgmLsyfJKLO4K2iQ== 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=+YfP1CniJwGInA2vQ6HDM3aMcUELcqgKMynfNA1KCUs=; b=C8C4nqwWaMkSAOA8Uqed8kKekUHDl2w4K14202qyTZ2BAGV+dNd0qmWiY+OReLnLmQFUZektmpQKUznaPBDXsoNy35b/oeiYSo4Yc/X5JE05BSLcNxjiC1OqVSOy49C2YWOEU11imuCPukQpCKcsmD8G+Eyf1ydghezUmTSbe7b7Soht9RUGXQbmis9euGv0VFn0k+C/2TYQPrlusC8uMOrn0AZfcTQZ9hTHdyPEPuS/X0e0O+GemYnBOjuvjpOJHrys6DkQ/2hZeiVdZa4AN6g3ENIRKuntRD3d8WEvdoWk0RJQZs5rcCWECxerYFK6NuHU/JKA1gaztwck3uL36Q== 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=+YfP1CniJwGInA2vQ6HDM3aMcUELcqgKMynfNA1KCUs=; b=wkoz2gQwljdgGhyvqOGewl1tn+Az9B0HdktWBWt8c6EVAAxf9e/NqjgOOTyIsKCBE3LeDBszH9f4x6tylj3s93jtVBETGORv0K8BEnHZJp2lzZd9wnhZn81kY0Dn0shUWlRVnG/oK8B9RCGtdDeRqgTFB3IJZYMGquzQcI7AZoUtqXYXIsvL78gTgsWqoZhJIz4IdFAD3kT5e9Z971qJRub9RB0OpUSMXFLFPvO0JVxldcnkYQ64yNbdN9vnsjf0i86vI4Z2uxZ6nPtocubYM7tOSXESMZGDcuUqoJX2gKFT6VmR+cG3u2bESTvW/wepTXekL/4jMc+tzBbhx2vn/w== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:39 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:39 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 13/16] spi: airoha: buffer must be 0xff-ed before writing Date: Sun, 12 Oct 2025 15:17:04 +0300 Message-ID: <20251012121707.2296160-14-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: f326f54a-776e-4829-5939-08de09895611 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cQh1lfRA4CZ+xwS4gbq6ROj6dv3QxJyjnV2UQEhDUjhuTgR8ZplwpdREro2/?= =?us-ascii?Q?jLV/pJJl20XOJzdSnarse5LxVew73ZoiqKvMRSxV+sHFtE1a6nMOXoPHdCO8?= =?us-ascii?Q?yN4omLKRPKwP9KOIu9iVMgyywJzponRWWIKwjE91mYBds9wZlM1AEO/KApBO?= =?us-ascii?Q?oidgDjFaWBUvA++Ax/RTTWawQFBAUSyOZ42IBauza0tpJ72cYk6cArcEY56p?= =?us-ascii?Q?Scr5UFLxib+3onHugeeXYmbxJafLGE30yF0Tg6fIY8AxmQyLrk5vl5oTQbti?= =?us-ascii?Q?oPu8+YnFbJSRM4rvAfX45xR/fzLwiKPr3e2r/HsO5Yh/upC5FUmo4+FxjrD1?= =?us-ascii?Q?LMpbLdKUiENFIoOw2EZnlKgFab768/+NX7BQHEVSbv+V6Dso68LimklRTVQ3?= =?us-ascii?Q?H4s7amHkXsuJGqVHFiRaagBDwj+VGwqAzyUJNzcS68g5mdqb0JCEPBbosyIZ?= =?us-ascii?Q?KrDFbWIEf3ScMMccXReclxt4IZCyTzSaUuaadiY27dFR6hl9PLecXVa8gezr?= =?us-ascii?Q?+Rq2Ymt/+t/BGjDffAYTia7s6Y33FW6uXdYMlAjZxA2/IskpQe7pPH2MV/ZI?= =?us-ascii?Q?A469no/6SKUcyn17K28rhf7aeaMcXvjr+9zWY41A64Dnw+Zq+c9W+bf9KyZ2?= =?us-ascii?Q?Ev31zoy25x9lwudTfMXKCWIl7FqRv6oEiSHqj0euLsSyPpAOj5LsvsYczcBc?= =?us-ascii?Q?bS/Jtiy6dCf+iUX588/QZQrdPDIOWrfipX+aSXACNXRdt+3MV6EYZrlMwXmO?= =?us-ascii?Q?sHGCum1KRXMAV92628MNy6Ei3welWjjteoVylZcOQk/JQUih60EenWtIBOTh?= =?us-ascii?Q?hqcghyRxce3kgj1BP+8yI5RLoOGgE5WGp7VPwLWMfl8reuQqsy6ZhPBvbDtV?= =?us-ascii?Q?R2aGHrUUdEwJRlVv/zm2leQq0u9dNG3Irg07j+n2ghxLvYeRpw1qhehqEFo1?= =?us-ascii?Q?f0UfKPt2Wo+taE2+e/xYCwNDCV+fBSV69JQomPY0FJpiUqn1IOlfSRJnvEgV?= =?us-ascii?Q?sh7UT28IV6TRmYDk1R6yda0GRDY50PgBWvfIq6L7SZlV5Sq0Y0OwZDv1CQ5j?= =?us-ascii?Q?QUs67uFUgutknlDvsokIoCgXZSOHxodZV2JaEiTYpRjiFWKoLfirw13csKEB?= =?us-ascii?Q?hxQYnwDG9tAptuSX0HhWf4RKdiuzfvlj158KCe+ww+F0rbAVjh7siQFCWLAj?= =?us-ascii?Q?WGJRgm+B+kx7otYonGgTvUrLPHPrWixHz2dBxYpl2QRKDSXg26AlWLN6imO7?= =?us-ascii?Q?zPdco+KydcpPyUW3nxQfTI3orNhmzj/e/Pq+8Z8T/1Cm4TaKbXiFWNOh80il?= =?us-ascii?Q?IWDhS6N6MIeee+BkHWe4lzcKYC3TKjW/fpRS17zdPzHuBhUcUABeBirl8tbm?= =?us-ascii?Q?fm4mcpAnq+cFteSbyt17pyvRMIZ5R9hQ3CmU+R8R/vFlIGeK13tuT9u407MV?= =?us-ascii?Q?luOplTHU6dZi5fBjtzigbQ/CLWHgae21Od3siKpkRXiUytU1ZWQCRuAPIoZ/?= =?us-ascii?Q?npZ2nx4CmOzSI1hwhsW5unD4D3X7tzlJ2/RPnVp5+s9RuZhpeaRiykwi2g?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LwcsuY3SOP9ag5LECn+awjWMZUYg31PZAzkJ8OFANx0IgJHg0zZWlNIdbquN?= =?us-ascii?Q?oGveNp8gAEIm0yEKgQvE4PJbkBOBHQRtn0R0XKu6b3tr2ezyuvLVDbDgxhuY?= =?us-ascii?Q?h/9pUvB58Gm9IKayvnGTuYvs9fQwaXEQaNxgFLFo3Jt+zOtGVJPTjZA87kuC?= =?us-ascii?Q?0skapPngzLaMGt/ohH+r6faeXh2zRgzcxjGmowfciVngebf8EIKouZ+ExP9e?= =?us-ascii?Q?rOiuwUffdOw/VYNbFuOD2qwmTfCFgtCeyqBNwiWvOiYGmmjUnc/5Goi1Kb79?= =?us-ascii?Q?7S5CSlNu+k8TJztcdSC3cuM6NOPd9bd4r9tR/dbe73AScDvOLj9lo9ebyFpl?= =?us-ascii?Q?UGP/8jkGq9Chq/5RfjF2hcMLXaaofLmTKa01L3I6VTEIQqKAPJAf/rAab3AH?= =?us-ascii?Q?ZMLmdhcb4TJ/z1V3ydFGkKX+V3kn7b/4/6yrevj5ZJykKWrAZdfMenk8D2Hp?= =?us-ascii?Q?4Nc4slabKinC34u5KO5U3QLIUS4grP77PDGrZ9YZXARg6HtA9e9byULSc318?= =?us-ascii?Q?eFw6NA+7gOZBeKH2m7eF6UpoZZ5r876kBpb+hf+cbUDcMS/qv+DeKQCyx14P?= =?us-ascii?Q?L19ARJjENmoVD0nuhhQ8+V1vayXvsTzQru5Sf0xcksY4dyIel+9JriLb6r40?= =?us-ascii?Q?vWc0MpwLb/xEXEUkqFYXzqJyfI+kAKQWpGh0VOUVqqz6CgPckd1+7vD7Agqz?= =?us-ascii?Q?QhHX3PzxGMSpmw98U/wKzZ7J/7JQ1/OYKpj03vHfNGeYSjnl+YDauQF0XogR?= =?us-ascii?Q?s2nQ4rwho+93opK4/3KVlsNAJTVJP43hinOAdsTWe4thxAlDSHvA9RHGmUXd?= =?us-ascii?Q?7hEoMIypmDMe5pNExL6nAzXs95s2Tn3KBVZ9b35/aD2ikOdH1wXApSLo9Aht?= =?us-ascii?Q?/3r95mcQ9H9NFY6mzsY+Coqxm9a3m/FP2Rc4/WP5L+Qtkk9OPTGS6z6sDRg3?= =?us-ascii?Q?D/ZaOG7yHw3ebwQOdOICTr26Q7xvcMmKAYBr1P+rKQlXwhAi7KkrmXFv1EJx?= =?us-ascii?Q?031VqMtIzUK3fBMSFvBnV+IKx1eVlZntqvmbyWWYL6Jm5A7G/8q2pXTaZKx0?= =?us-ascii?Q?K4HfnIDER/WKkHJmfQhdHz/Jt/xLDGERERXbeHoxiIEEEJXyjf/jGh1QCNbR?= =?us-ascii?Q?rIfU+2oxf9fRdiMLJ2emx4qv0rISJ2v1+Tjz1nNyj5kQwy34vU/629nFUw9K?= =?us-ascii?Q?ZUTXT3Yj+NP0HSz6lhGBYLe0du7jILdRsPBfW38RBKlK2mvWbU5sl4ycjPoz?= =?us-ascii?Q?qTIsvsOxJt9hfOdEnPcZWh8UfIxWUyXVUVaXpC1sEZcXdJIIcvyubv6JjeGW?= =?us-ascii?Q?tHL9ma3HYvKNRRmSk4gKx50yQ/89jb9HvZM0ZixoZycEZXO5SnDAeo1znxmP?= =?us-ascii?Q?HaYkJBtVI1/T7fwrZLvacFfsLvc1qjiJSliz04aqhB+A7W2I9X/7zUpCTITc?= =?us-ascii?Q?gaGlTg0UXbC7JIknUFUO2cLtchF24qrlWavLHE4Cf0Pb2qPWkkbUd8QEdmng?= =?us-ascii?Q?ibgagc0Gvo7ksVvFTLOCAMzqZJt+e4ToIctg6ckFyLaORs0B+jUDELhr03Qa?= =?us-ascii?Q?gjWuSOzZwby7fygsVU9pgfTRl5UrPEQ5mpRD4eVHzsRy9KD+kleLrc+5N2o8?= =?us-ascii?Q?ZQ=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: f326f54a-776e-4829-5939-08de09895611 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:39.4195 (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: CfXlIl0nn9fKE778uj4can5CavBqcA6Nc5sauXv59XT1U0evxssoxm8SDBo3id56vtSugJgBuefCtebXGAVmVmUKYL7k7wglDXjpiHQHsQo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" During writing, the entire flash page (including OOB) will be updated with the values from the temporary buffer, so we need to fill the untouched areas of the buffer with 0xff value to prevent accidental data overwriting. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- 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 437ab6745b1a..8408aee9c06e 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -776,7 +776,11 @@ static ssize_t airoha_snand_dirmap_write(struct spi_me= m_dirmap_desc *desc, return -EOPNOTSUPP; } =20 + if (offs > 0) + memset(txrx_buf, 0xff, offs); memcpy(txrx_buf + offs, buf, len); + if (bytes > offs + len) + memset(txrx_buf + offs + len, 0xff, bytes - offs - len); =20 err =3D airoha_snand_set_mode(as_ctrl, SPI_MODE_DMA); if (err < 0) --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023096.outbound.protection.outlook.com [52.101.72.96]) (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 BAD1227A919; Sun, 12 Oct 2025 12:17:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.96 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271469; cv=fail; b=ZjyiJr5q8baQDd0GBKPKF0pVaqVkJySeeQhFfMZiLRH5C4mDxHk1FdN8EA4fxTR3x7EKKfYykKQDyUv083lBM+V3OSmL2yCQjIO5qUkqI2jhESEYTmQTKmBMrfWrnxkgIFjq0Gfubx4+DGqDTEphGIBE56cvw+T8FwkZFAHs0Nw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271469; c=relaxed/simple; bh=SIrwQsj5DNcb1bSDBn1B1Ozjs/tTqcuM7XO1rq6r+2A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=nic6O2p/qnBzG90zGoG8/KX6G891QtAkQAWuniI9gI6KaAN5fXaKNa6GtqAyYMqjberhedUUfO22FBvtRkVkTur6f0U0dKmZ80J9j4L7HvOhcKJx5TMbVks8NdAaZMbMM/V/JXMAUTz8Rf+/oXgatUE8p2uAEa7e2cD3r6S20Bc= 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=rC1In+ra; arc=fail smtp.client-ip=52.101.72.96 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="rC1In+ra" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Glrnf8n6D/OV8fWA+ByvHsQeYrtfAdLoGRJSdOGi0/oRump6s2v/XR0IoiwKeezSwNDSJEfMY6SmoeA3BZneeC6Y+yvgbcREsL8BWoNW0ubyfMbuIjO+zNKQFrS1zDD1iSwSjV/jGYMz2t6YEsL02E8xa8QN3+8BcfTYh8vGz+yRM6JLABY7Q9tCoafSzkwoTmkCz9hhLaM8TZv/zEnkodcGk+WjZC1/D5W+Zjh6pKJGov5BEjqkMfFoc9ueo3zFDep3HkOBC2a+7ZyBuNfOAzIZSZoMq4HrYiFO8zaXOMX/BurN5Pn/YVfWVK+n4rgwsR+Hdrq8BX/xF1Tpu55GrA== 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=0ACFEDXCqWsjssDon/bjZqDbkhHS29S6qhRh8npBda0=; b=LnkwlT03x6LegwFoC+u1MfUE3y4KrQrnw+umBPGwbRun4nIs1gbSZJS+lIOC3FI0R0CNAAUYVk46SYrkU3Z7yMlTqbAlC0R8m5ttsQZhsUk51eb9oe/ab8MZlVslL9fLR5WVg8rgiBQ+KIqwkgj7aSTwegvbxdqA3MYKZn1Q/fXiZq/Nr97yD2ZXn86Cr0qi10aLib2Eucp1NdNLhqBKutGQMwkTPa4y/G52nqMg64l0fXj89ifDGDABRV51QmMYUimWzYeG92uI1hOBEpdG57i+q8Sgl7lYKjZAfQ9FKbgaDviTFkfpfEp9q+ZPkz3CC3a1+LM0CKlSl12whsc1VQ== 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=0ACFEDXCqWsjssDon/bjZqDbkhHS29S6qhRh8npBda0=; b=rC1In+ra3OeJQCk+gXSUyUCc46V43yqNIy2vrblgsdIkZ4V3Kb8ribs1HPo8BjFNcF1QBRE5yM+XCS9CllDuoA7dngIPMl+WO6mhqv0E+O09HjpKZDbTAMU7v2WvNqDKPD0STg265aE8yurvRAK/R1WhJco3wLfiOrG9oJt/NJBFOi7RnrzwTrnNNLiSLTc6vRV2gIhUdy4uIDTxPkGClxeBhMN/dFWEuBnCw5IZ8lF7WVtuwRdigdEjhLXnH51YiAJUfhaNxal+xw9LsEvmtq6q3IbJjXGKbFRoED5wOompRptbyJkwOmIxIl7KMHbhJMszkOQkWAWIFV+k4V6Hig== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:41 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:41 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 14/16] spi: airoha-snfi: en7523: workaround flash damaging if UART_TXD was short to GND Date: Sun, 12 Oct 2025 15:17:05 +0300 Message-ID: <20251012121707.2296160-15-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: 279bcb5a-f447-49a8-0a82-08de09895715 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?J0fr9a0ulbO3QrZ7gqQGBSjCtT7sSDeWW7k5YZo2FG7/uRl17E6H7PMHLx/+?= =?us-ascii?Q?bimlrprAwg9jzBSvA2WfuZm9zTNkmtP4a60K2Ai2gN7J7u2vn8OFh2Rwores?= =?us-ascii?Q?bj808GdD2BsPHnqBkIUr0vFEXZjN/EmD8lZOv6nZxJjjHhy3pn0pi1kDk0sB?= =?us-ascii?Q?ae1BO/p0tkj8oG50op5HENf2nttL39Q1sxvI6aYyBYd3AgN0WhlPHCfxxu6T?= =?us-ascii?Q?7v1GklXPPU/h+6Q8RmxXCQSAmqLTSpi1M+eYRFzflJlKcgYSf8DCmpmg3/fv?= =?us-ascii?Q?6V2too4NCOJfN61z0oRRNkz2XSF+620bxwdhvXmk8EM0mlf3rPX6k+K0xfwQ?= =?us-ascii?Q?TJNH3kkLsY1O2bHQEZkIZ0WtPT0Jxsy4O3Rs8UKTr6FDQS/0d59cUM68IIgr?= =?us-ascii?Q?lzBbx5IiugCi/Jc/4LcTdwSNTeFxvyHVYS2lRfb/M8khih2XLSrlymMDQXN4?= =?us-ascii?Q?HNoTsdScyDFA0DlO6iB8Labta8qjgrIdsdYKGZde44NxvGyWYCvfGGLxZtMh?= =?us-ascii?Q?F3+TWJhcdrG6H0Y51EZ4+Q6gtkOEev+HJSYw4QSzmNQPi/SUmVkhZvBo42t6?= =?us-ascii?Q?YXqO1T62P7AC7NMnBjMidbpLAbncTXWtrAtpoSKPQ1KG76YZCnD6EKMpYpRl?= =?us-ascii?Q?lQD+5/bFuEWS34d84S95/qdAM/X5SRaX7l9Zs1x8jRM5snr3FnZ6O/5eoZPU?= =?us-ascii?Q?/0ojiNSMU7OqINl36M+TDOAvTLOtN3QbdYMqQpjagsZBFAJYum4P/zNr8vbx?= =?us-ascii?Q?p9ERI6eQ+xdN3MC6BkTqvlX8psdBAXNHZWZb5/oasMkwRApZB1WDTq8eMiJd?= =?us-ascii?Q?UvpW1MLDOCNQl8WwaZBrRue+sgiXs/3bGA1LY6vuAhyhbbO82Snvu4WNqASx?= =?us-ascii?Q?YphtXolOAh2N3zLs0WNFa6wvlys/Ye7Gv1OG8q7HHEe6/cgVnUa5FO5mNgrr?= =?us-ascii?Q?DlAgc9ZdtwqcMPsRXl5jOQINI5MomN9ggP388qdVKYoYpiabKkAJ7bvYeat7?= =?us-ascii?Q?6fGIqjPMDeR2h0QMR+/E0M2mkKY9GzcvYGvgMdhN3ioxYFMKHKPnoXqZqbx8?= =?us-ascii?Q?hXDcxWbemog+z0n0StHjP7r+jOLY1H+zKmvr69IBJv46ICFzXm5vpTRDtjXz?= =?us-ascii?Q?PCHrYIrB0U/HRCve/mbbHBiBiXZ9sSgkF+kcgFvFXWVnTMAeZZ/CX3YKpmpI?= =?us-ascii?Q?GFA+5ebmP4rFKBuYdexg7VHXXgIVMaQRujeOz82e8sXiuBSJKCXxzMtpkuNW?= =?us-ascii?Q?VpFstc9Q6Y1l7nVCb/L+qGgYsKKWeh/S6bRcTcOigZvt+feOCegKUsabSncf?= =?us-ascii?Q?6oi1r5w00NbeELZIFG66q55uwSmMk1uK1kdqtii6I95EiLM6okkAohWi9uHN?= =?us-ascii?Q?WHusbmSFi1QeLCZ9g9yeD4VxPOmErBAD38tffBME9rS4IMzbmY5291Iu73yw?= =?us-ascii?Q?KOn+cXWzrKe9RRnRs4BuAer9XS0pf4cfBu1wAXVc46NdIza2awu5zzghOsEq?= =?us-ascii?Q?IiCFBGm2Esc6DM2MWHvnrqLn7Q3rqxShamrFQ7qEzGdzY1olxhxD4cYbjQ?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3nSj+CD/5TucgQEnTF/155FMnwRAD8Gn9My1lEqUi0RRIa5VjPzvvQMjcvCB?= =?us-ascii?Q?yMKp8AwUvP7EuAmgBV9+ROPCDa0b7XhR+TByo6a2hyxUsfk8GDSLQKwzdocM?= =?us-ascii?Q?RmP0j5Gb3Unvm4JL7YbUVh4tmPavkqaVi/asCqOUdBGvr8Fq/XkadSGkU/eI?= =?us-ascii?Q?L8eMFg6Ch8shbVeOEGQt3ahmm7nOpL8qPboyysnyC2gpR/QJPng9toE609eC?= =?us-ascii?Q?Dk6QXFwHBtpO6yhsSIU8nfmJX62YpEI6peMf4hbzbIyBhyyMXybfc1H8VKrF?= =?us-ascii?Q?pRv39jDWJATtmAQ8ny2m9rj66z5nNYSn3HfHcWHAPW8BEeT6GoMHkIsvukRc?= =?us-ascii?Q?JhKgoeb9aAkmkVrIkG9CODZB0QQ+YUhL5FSjopFbJM0qLB4jlyIFBqilMFBi?= =?us-ascii?Q?ntSe0rJrdBgH5eNub1K8oNoM9lv+3//WkgsJFhKPSg5280ixID2mkSdYoe6C?= =?us-ascii?Q?LZUwk7Z+rw0ioJTMnnaDOa0dg4k3pIQWEmwWWvywT/93ADEI+w0NS49e7n6Y?= =?us-ascii?Q?0Gq//y71cLWe7ymOtt31w5e1qQAHpLu4rw8zch+WxyKt0m3ZfCefSY2GS4hW?= =?us-ascii?Q?69+ilvoTwxCwomU3blwEVIOGYoR55QIJdzgWMG4GLpSM28rGtDNy5TQ6MLsb?= =?us-ascii?Q?aEXjec0SDYE/5yKHekE294mTuyrDPzno58Ic4hxN+9lWZIOK0X156v0EPbve?= =?us-ascii?Q?NR+QPIYpXN93LnkK8+t4xocUiCaFIbG4I2XhiJNQm6iHVMwJoPV14PoUUuRC?= =?us-ascii?Q?WMftqmJO2kKhQMTM7Qv61iz8qojchqAScRFV6vAtQNxD3zEpgp4J02K3jGNH?= =?us-ascii?Q?AqirCgUffdujiqpasazYzDCFmqrKkw0qPULdjfUypVQ55lgtf/dsKntDuaKJ?= =?us-ascii?Q?FUM85wpwEIG+88gxp/WhgsC6xVC1W1ctPf7Z9yfnqGwVsZXirLqwzDOiZDb1?= =?us-ascii?Q?m/nqHdRX4bPhbENa3k/BGRP2RNZDkHLDO2VGK6Va9MP3LzDRbPQD8ZugsTEc?= =?us-ascii?Q?+f5aqM2njG4uke0xZiAvBkNQxv39h8dMwJG7X6jZYWcqNQcjIJql7b0OrzX1?= =?us-ascii?Q?cdMksbhtjUWmNSZ14/O0IT+ztaL3hyr5ojK1CaMVcl8fI1R36cy5ZI8QEnM/?= =?us-ascii?Q?iedpGu3dX9LehThHlTbXiWQfSAKrNvinTIlZaV3HPIC6hQfMjpeiynmvnurr?= =?us-ascii?Q?mmOjtkihaHtLvAddBPZPK6QrdfuUfZL6YmGPQIJDh1oE6UQqRv3nvZZu/mA2?= =?us-ascii?Q?Hppg5zHDdQBwRsCC69fnmQ5akYky7HACQKaGsrasnQ7y6EdZ1fn+QY1iWHgB?= =?us-ascii?Q?jnVHdLGjFPpXvRKpz76ZRazoGQMJZp2zLHBK7GCtM9Z/M3/oF1RE0PQqkLXD?= =?us-ascii?Q?WT85L0dbkYuQLDQ7Dn85xCBll5q/hT5fR8aRaREXpAYiH6ht5Fx99TtVqZPj?= =?us-ascii?Q?WDQYB/4k9We/aIzBU3tFGJqd/Eu8RjHSZOPKjQw6Q3EYAhYh7qyv8j/AMQ6e?= =?us-ascii?Q?08nqqVRvA2HVYn7dSDyn11NyujvEzS1x0XbQVFkz+QKglUzVsBqKZAudLazk?= =?us-ascii?Q?WrutbgzRCfCK9CfGQO7OLaA8GQ8XGQBdZlXMgcpTpSCPo6UGCrkFLr1GxO95?= =?us-ascii?Q?LA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 279bcb5a-f447-49a8-0a82-08de09895715 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:41.0917 (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: 0f47K6qcOZc4EzKnPqc6nszE2a1f2rlJqjqwI6oB6zaZhwpT+0WeYVPWzkz9d777wtn9y/4IyJX+03WaM496N3Ux3zEKjQY5geYhN20pg6Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" We found that some serial console may pull TX line to GROUND during board boot time. Airoha uses TX line as one of it's BOOT pins. This will lead to booting in RESERVED boot mode. It was found that some flashes operates incorrectly in RESERVED mode. Micron and Skyhigh flashes are definitely affected by the issue, Winbond flashes are NOT affected. Details: -------- DMA reading of odd pages on affected flashes operates incorrectly. Page reading offset (start of the page) on hardware level is replaced by 0x10. Thus results in incorrect data reading. Usage of UBI make things even worse. Any attempt to access UBI leads to ubi damaging. As result OS loading becomes impossible. Non-DMA reading is OK. This patch detects booting in reserved mode, turn off DMA and print big fat warning. Signed-off-by: Mikhail Kshevetskiy --- drivers/spi/spi-airoha-snfi.c | 40 ++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c index 8408aee9c06e..0e84a9addfa5 100644 --- a/drivers/spi/spi-airoha-snfi.c +++ b/drivers/spi/spi-airoha-snfi.c @@ -1013,6 +1013,11 @@ static const struct spi_controller_mem_ops airoha_sn= and_mem_ops =3D { .dirmap_write =3D airoha_snand_dirmap_write, }; =20 +static const struct spi_controller_mem_ops airoha_snand_nodma_mem_ops =3D { + .supports_op =3D airoha_snand_supports_op, + .exec_op =3D airoha_snand_exec_op, +}; + static int airoha_snand_setup(struct spi_device *spi) { struct airoha_snand_ctrl *as_ctrl; @@ -1058,7 +1063,8 @@ static int airoha_snand_probe(struct platform_device = *pdev) struct device *dev =3D &pdev->dev; struct spi_controller *ctrl; void __iomem *base; - int err; + int err, dma_enabled; + u32 sfc_strap; =20 ctrl =3D devm_spi_alloc_host(dev, sizeof(*as_ctrl)); if (!ctrl) @@ -1092,12 +1098,36 @@ static int airoha_snand_probe(struct platform_devic= e *pdev) return dev_err_probe(dev, PTR_ERR(as_ctrl->spi_clk), "unable to get spi clk\n"); =20 - err =3D dma_set_mask(as_ctrl->dev, DMA_BIT_MASK(32)); - if (err) - return err; + dma_enabled =3D 1; + if (device_is_compatible(dev, "airoha,en7523-snand")) { + err =3D regmap_read(as_ctrl->regmap_ctrl, + REG_SPI_CTRL_SFC_STRAP, &sfc_strap); + if (err) + return err; + + if (!(sfc_strap & 0x04)) { + dma_enabled =3D 0; + printk(KERN_WARNING "\n" + "=3D=3D=3D WARNING =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" + "Detected booting in RESERVED mode (UART_TXD was short to GND).\n" + "This mode is known for incorrect DMA reading of some flashes.\n" + "Usage of DMA for flash operations will be disabled to prevent data\n" + "damage. Unplug your serial console and power cycle the board\n" + "to boot with full performance.\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n"); + } + } + + if (dma_enabled) { + err =3D dma_set_mask(as_ctrl->dev, DMA_BIT_MASK(32)); + if (err) + return err; + } =20 ctrl->num_chipselect =3D 2; - ctrl->mem_ops =3D &airoha_snand_mem_ops; + ctrl->mem_ops =3D dma_enabled ? + &airoha_snand_mem_ops : + &airoha_snand_nodma_mem_ops; ctrl->bits_per_word_mask =3D SPI_BPW_MASK(8); ctrl->mode_bits =3D SPI_RX_DUAL; ctrl->setup =3D airoha_snand_setup; --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021088.outbound.protection.outlook.com [40.107.130.88]) (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 0D865275878; Sun, 12 Oct 2025 12:17:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.88 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271469; cv=fail; b=BN1zGpU1rLmUf9WXUyU7+QZfd5rJIEeihZHZ3s1r8Dj4jmlPl218tFHZwYz+ioM86Lf13pJ0TPabs6mZcnpkAeRnzbhcuOx5IEDhHkkamyz4RuYHJSRY44hD6gnlLIu1Oq4SREc33o4zD31yJ7aoUqIuGNPCw7Fbh20GJp79eL0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271469; c=relaxed/simple; bh=oHeqOBCmBhS3fD1ThYyWNUgBvUM//hBhjvJb3+RvGvI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RC3Y1v6S5vNHscfPqyK+IAmRxl1fPDIqOQtiKgl2ndN6habiaAE88H4UMyWVFHYQh4R0KSHVbSKwP20QFpud94VD0X6kOj0lEWMruMw/+Je30faQ6smB1QtT2wyu6xmZk4SlWubkJenMVm/EjqX6L7GLpXUiLhg+vKxHAoGruJM= 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=ZSr4OM/v; arc=fail smtp.client-ip=40.107.130.88 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="ZSr4OM/v" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kwnJr37jA9JHy0LY7DqzIzET5L8qfxxX1td7LmlG7f8Ax85qd3ixkscd8SgnGnUE4bRzstmtWg89cjsWGfh67ZAMxoVAJ8K0Ff9feUPm3wKDJI62fx4sn0S54mfLvcJJz0YynOD1qBSsxx2AFIhB4Mev4LB15zD63Z6iVpKwSsunx/N2+uNyMRBPkIvX3Gx1Pvb0JDKb56StPRf/+hD+hNDe6j7AG3BlE+xstQP3Cv7mw45F4LcbWWmHKV3jrWllm3PmYJ1G2uTobfWYoufrgUHisbtfy1P2kTBgnkwnvbVhU+Wc/lnAuoVhuKFe/aGBSCa8b2zpgUS4W95GXabCTQ== 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=9tLjtrNjk1hZ/AsjYl5tJ0dev/qb7f1nlrD5YY40hGw=; b=qG5uR4nlchn8tHwLkbaoxtiDYj550NXOtcH4OEsloi1ZmXR2SI6BRg52T8ewugPfT6qUKLrkSIqDgdXwVlWbLBObNfmMa3DRRmjzzB93R8rwETrpc82W4rIn9899msahpUxNlg8J53Jsp0VYVtbmnUzknRBbGfh2C/1A/vmLYRaIsGX5VZNUUohX6BVpKFKgDDIPXVHwcNCn7tElB3ZbA9I9ACMIV3jIVdCKsGlCKqCVakgJcCr8ZpqoMaPH4nVtpFrqWz+LQtetTsdcdT3KqIJRVjcM91d6YIQ+2Mz573XMcjDyfMWdFbq9yHCx7k5Q74Us3UOjrKSwIUmQ1LBNnw== 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=9tLjtrNjk1hZ/AsjYl5tJ0dev/qb7f1nlrD5YY40hGw=; b=ZSr4OM/vit5UU3hHSNfNmENobUqqZG4UWuO2giBi36LkHXmUhntulHIxG945s4rcAFOAekcZCYlzQaj8jpR/RpYxxXd7sEJfxzqw8seOajO5PLRQ92aLDHAvVeA+kXtIbvbznqpE3HMYbWfqW302hlXY0Qea95qyXbu9mCqvL2yGennQJggFbJT0jtxmkAPX0cs0XU9Wm/8PFeT8xbQwkRIasXauwiu/cjN/KZ6sHAIhyqFtNdM71CTnSsC1UXeG6my/sozpyKJwO/ibrTE9Qp/2zaqYamWPAq8RTkMn0hid95SyJJNA56YsARFYa/LTWw9kgJlvJSDDDZkJ2HNfLQ== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17: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%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:43 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 15/16] dt-bindings: spi: airoha: add compatible for EN7523 Date: Sun, 12 Oct 2025 15:17:06 +0300 Message-ID: <20251012121707.2296160-16-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: b3d3efe7-4338-453f-3806-08de0989581f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WdHOLQUntu9Lr92RVaumrojpRZ75V+B+GDzVNg5fG23pr2Z+44lV4eJTsRJ3?= =?us-ascii?Q?wLQHN0BvKdHx1Oly57Xv0PqvlovlklzhiYtBE6WrUyFg3Xi8eNLoSYwINksj?= =?us-ascii?Q?tT10KXA30Q4Hzz+OyAk9eTT55/Sxut02JokCFIjl8y3sYSOlbD0Rbxoaya39?= =?us-ascii?Q?T/TMH5CCeLmy3QTMvqxruw1LE4GbHrgh/xo1eqNKbmaIUqBYl+cE51lmGZo5?= =?us-ascii?Q?AQ1ZzqNyxqD4hi0CecEUTXHV3TG2UnMrXWvbDlnzi85jip/p/6fXxWuFkhgU?= =?us-ascii?Q?29k4qDQ2JJ+4bvTyiGKgWZCzJkJZ5Ph1XEBoNRlT/N1PH9NPrfbx6TzD3G2T?= =?us-ascii?Q?FV3/n5SNpZxJvOWXLvLNJLYCX3rPZ0ui+PqENZUyU6MkQd/+a982+NHG9j53?= =?us-ascii?Q?ePgwTbXj3gqC1PQF+4ku+N+SoNNMtZWGMz71yGuuZR73LyrByLBicNJAyQLw?= =?us-ascii?Q?RglKxTYFYg7bIyILfbNwEAge9yG0TYeacoee2ZmGLFiK+etkZmrO5q4YuKhQ?= =?us-ascii?Q?SZegl3LI3AgGXDZOA+0JLalBG0+5zWF9EJoA8sGlNewDlqHqNvR9iabT8wQx?= =?us-ascii?Q?2I5IIbAio47Zc42bBpgjkzNOlOHLvQwzFBzraAMDfTj50t5+j5eKIiafhOCv?= =?us-ascii?Q?zCeFk8Oyl0Lc7lIiFQCMEO8xo37IoC3OYslXOFtlLWWOQd1TZmTOpRr0W/pD?= =?us-ascii?Q?uyV+3h5J5UavPZLzd2d6ip8Aum7r3wdvX7ICMmO5/0l8KxpS3t3RD5GSY2QT?= =?us-ascii?Q?1AaEcIvcAqMNC/Yx6kqWmdQEIiz2pwd+Kxp4UKYtLTDQYRGs3NqUeaR1kEX8?= =?us-ascii?Q?yTES0lpLYTT7okG6y8YJkSzmdMIffNnPi+8zPpPTFn1H09oHLm8WuuZ0SwXP?= =?us-ascii?Q?FxVi4eug/TdUABKSsvoApohOCW5v5BJASy+ea4QxaukMaMR9qT9HIYKMS3of?= =?us-ascii?Q?YdAbJQxAzRRl1IVocPyMzwzD0Cx5bfYRu9z1WMQRpoNBiG2GhrdxM5p5y4HK?= =?us-ascii?Q?pk2B5CbiziyYIjOgIdZPYfxUI9UJqQR28CqJkSw95+JdxpZ4k76mVKhEXwho?= =?us-ascii?Q?oBurSceE1NNYm1BIfJKEtfhk9dF+kibOHbNWP4BXQiAC5h5a4fy+cPqVW6ow?= =?us-ascii?Q?Y2v7a4L876shIaXBR+VoGsYMuE4F1M5OYy20RT1VYeg05KR4HDiH1mio9U9Q?= =?us-ascii?Q?kqMGeVPkiKVg/CfdiA2NHlhjWWAiPJYEFiYvYJJ984svsbnM/v6EU9K8IB5F?= =?us-ascii?Q?L0+jInMNbUSuwkmc/Bm9MLYROXb0W2EnR4pjoq27l8FjWsrmFrdmctGpShgn?= =?us-ascii?Q?JQacDn9qduqCyGaI7mOz6WwFBzfcEjOTMjML4Wp43cyaR1i4g4xYOXxx0xat?= =?us-ascii?Q?RMrJQmFBgZfcztHHOvz//AOAm655XdlPYhdZmcyBmsUAkXOjxr3BA7hcbwWO?= =?us-ascii?Q?NmF0sWuunTIoxBVh+0HHKr9Q25W9Ph/MqLyb9BkEA96kMpdQi/vNL3+z3IEn?= =?us-ascii?Q?K9kksP7LDMjpQXAoVuTjh8keqvfGyVlFacDFna88Es2qoWcFQmSCwgN3xA?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E01yCbRZmRikrCbfmkzrbNNQKVW7Igz+xVWvvhB9xlbSSxWMliO/9U0ZV5vU?= =?us-ascii?Q?z59tC7M1cBn6s4W6AOuw1IkrwkBLCEn8Ad2OUWDQI5t0ONRBmPc0LZSlBmoI?= =?us-ascii?Q?tu7GRtUM21S8HQyo+oTt2Juky28goR11ONzGSoWFqbgjclKJ3XkCfqmiwNfC?= =?us-ascii?Q?4KKmKPI+qTlQgUYkxQpPjahfVChs62MDiXq4y+RSLV4m+0ypqTySwaAjI8lh?= =?us-ascii?Q?qbbh8La/558PdRDHCJHOaqQesZhCiR45jYYEgCcCKG1UYscLGmdKj4hE198W?= =?us-ascii?Q?dBbHEYpD18cmFHLgt6hE7tDrZKCz/iApo8VL/R3LB2JE/uDBTiU/zMSiPFU4?= =?us-ascii?Q?TbVM34fwZ5oeadVfvbbGwVVDe8RQCWGYE73fg/YPUNbvRbG6bBUEy4hGsKzj?= =?us-ascii?Q?h8sRDuWp/e4YK+LlXpkT9LHRITyZu7kvbjMh72pTyFzmCqTWyNlDy171fdFq?= =?us-ascii?Q?IYYk3Ggc33VQyAdMUikt77oVfrxgsO9z1UC0YkjoEED2Up5plTm9gV2s59jC?= =?us-ascii?Q?r1APwZdrY+3gIgkbP53wEknoeB7JPFkcAGiHTdskJicjfFT6wJULbA6CPw2z?= =?us-ascii?Q?+1XI2xN6cA3MxWn27dIoMA87J3vtm9Zmkpgf0Zj5X0fkqfkMyy7JfMDLyAfY?= =?us-ascii?Q?0KS1cpHql6surk484F0sJFVbq4dolTG/sHOAmCKIfX5ftyts5YWX2s/xxSbZ?= =?us-ascii?Q?q9cDNjc476eshOMj8gKHW6xM+2jks0ZHzvX83+VULo2MKnNNuRIq4L2unpqi?= =?us-ascii?Q?CmMzgwLivdOW+GOHOgZPAPwmhHHx+w6XFEf60cAevsd/zvhVsh+Co8zwvXgO?= =?us-ascii?Q?Q+KvfC+xSXCWxUNoe2nhOxiPlQF68CuWj309ttSqJqGUcTjyebIVKWuDzp5k?= =?us-ascii?Q?yZ7BRqZKV8kwldaTMGk/5abOTWSLVp6xGv0dcZ5BCdZfTzAz30u+PyFCbpaY?= =?us-ascii?Q?RJNGvJSroa9n8n5RSh7cuY+JJr0ctsE7d9t/uNWiZRAIGeodWUgmeAj5sE4G?= =?us-ascii?Q?eh43iZLZXptHVrnEjK9xyfHm7MWbrAImpx1bNayiTj4e+WNpvX2Pp82EPXIM?= =?us-ascii?Q?GhXuE9nM6DI3GTp/Wgn9FwgKxDw350qNPmCDH9SKU6fIEuTR/BZAw5n3SJ1J?= =?us-ascii?Q?0aQCMeWxzO4IqpWzRCgEsbJTeETfP7lfQKCLu/h3AR49CA6UhK77rba5BscW?= =?us-ascii?Q?mus9D4M3RaJ9AP3OFxgM+aOJTqikYm6RKpeAQYk0W9RcwvaGycuY/EZMbntT?= =?us-ascii?Q?bcvGuBJKJsVtTtW9HwVLgaGVexP46e9f4UDH3oYhbb88JZsihnbZVv0bBqFO?= =?us-ascii?Q?/Z6GMwVRNKmRhshb/KlpZSq1rwwz6+Q58qpUuodgYn+28WgM2MUgjeA4paOV?= =?us-ascii?Q?pNsaMfGv0Wfepa0ohEmHQpgCRjpheGbTngV89WErE8ASTLeLQJKg86+Cq2SE?= =?us-ascii?Q?t2r3KbL6n0r30gzL83ichX6vY9dV6I+P5MnCAx+//ofVFw+ukAbcgaOAKbrU?= =?us-ascii?Q?aCHqDmpR0z6kNc5WCl6AiMQ2fKxvjxiPNB4uDBwdj+GfE2mA0m09MZxz0qW7?= =?us-ascii?Q?JJmZlRZsW2KLVrv8jLFJ3HSx5NBLRFK+gizg4ot8vZfTN4NgyALHBAL8KLb4?= =?us-ascii?Q?xQ=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: b3d3efe7-4338-453f-3806-08de0989581f X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:42.9527 (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: pgf9dC31E0ys9X/ar2cq1pOYgfZioWrz76y+Rdj49cf72w5kaMnWsV7Rf0+8sLEoZmeLPZvZdC3U9PjU7UHOb0N4xESkts2RgGhOrfoHfzA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Add dt-bindings documentation of SPI NAND controller for Airoha EN7523 SoC platform. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/spi/airoha,en7581-snand.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml= b/Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml index b820c5613dcc..855aa08995b9 100644 --- a/Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml +++ b/Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml @@ -14,7 +14,12 @@ allOf: =20 properties: compatible: - const: airoha,en7581-snand + oneOf: + - const: airoha,en7581-snand + - items: + - enum: + - airoha,en7523-snand + - const: airoha,en7581-snand =20 reg: items: --=20 2.51.0 From nobody Wed Dec 17 07:41:48 2025 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023096.outbound.protection.outlook.com [52.101.72.96]) (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 414D627B351; Sun, 12 Oct 2025 12:17:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.96 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271472; cv=fail; b=S8oN/jttPqdquwVvmvMlV0fKof2rhICiFLiKo3zhmSQPgJl/Q8qdu3dtAVVljCv6t3CtI9CQtvf/pKJfirzx3iFy2Z39EJgDeZjWKX9ihkQGyQMkLvlKRJnIFXHWAdqUOh8AiFms1WEFmcwoTNSff8U9D92UCdOlHm/bbSIi9+Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760271472; c=relaxed/simple; bh=qI/aWULC92ajq0w+3fhhxhtQef9CdKkgitnqIQzRGiA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LzJxpAJesyIzvX0J0p7zyRq44pjJ/tZq3ThbzpFPsi4F7MW3BvhJ5ltag67uchGpQ8VGdG8fGJkyOZWug4UTP7GrhbyxHlFFtTUrsdqHTB73bEDZ1CG3bjruuLicSv37yyX+4bguEfS88tBnZ6oSqoXByh+5rH0lKOMg4/jnO8k= 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=5rw4qwx/; arc=fail smtp.client-ip=52.101.72.96 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="5rw4qwx/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X4hhfe6aNoy/qh8gyuuoJYebYoxwmTxVF2cPmZDEH9ki9Q7y1grBxOb7t8YYvEPXjo+UrRqA32ufBnl1LG5YR3QYvO+8J27Mq6JNdxjKJ4YR9Lw4pXVsu0BbwIDS1iSzp2ORx9hWlj7VHASn4WjdVCiNtodrJ6UYWlIRLilrCJZlcLzYHUuJJvl5MSFKQAhHoJTMRTj5AYSoSILjkN2SpDZvcE3Q1pCQxExZTiXOOLizHyda+R+gIKjoIl8r3qbH1stI5Uf6tNMfQ9+J7wsgYG+Ardlcwtr1bzW7GSWOCi2a+tTwW+gGMlrAiBKWMLKN2lj36282ioo7g7EItZmU/w== 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=e5/hZbOh6Ifif5WjU2+oENtgouoXyrZUUc3VRiRwO4M=; b=rIl+e6+7e9zrZQXe2rA0oVoYAyyOl0hrMGynGcY7X3qvapHf1ZZy4/v/uEs8FeFldWFzfoneHQgjq3dXe9qI+w/laQapJaX/ZSCP8JEkS0tc91+Ch4vF7uryGsJEv07uReDdJCJXQPZf4wFPEM6l8FoaJEjE7lPhK7r7hq7DCjEgt4/D9+6XYxMyMI2fq4Psok/VXyldVUEMsdf7sSJ8AZPLL4Lrc/Wso1wjXmO31Y9EUX8QKiwI1TvxEO1NDgEcMnMm1tVukzRTFVNWudAud25tCHwjC9QGjWonkV44fPR0FoOOVcw3PagTAWvqQa6t+JWBnHrOR+62CHgqUAfn5w== 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=e5/hZbOh6Ifif5WjU2+oENtgouoXyrZUUc3VRiRwO4M=; b=5rw4qwx/hPigKu4PRqYiT/ewjwNW33RwtIGYeEYFY1pORLE5rwAVntc/dvD4ssFo33ZjXEnMCyakpYab+NQRdG0pZFvvA/4Dgfra2CPU4KD0tu/4Me3O8XT59SSsQnL9XEKxetE1a9sGQkISrnpPedlQR3SjRVVYtZyXMre4NHO5Kwg1mu4e5+u6mJKuEsT6Qi76aqp8HRKXX76/U1j0oCK/QkPyiSHn/qLlsoxCz0nvx3fZVMUpoFkqCP6chZiDobH8VvtXinCVSENHsXO3UlyNudXt+D5LkA4ec3ipvWGStOicR0cFzZyUG1bY1LWMDheVIwrndzaQ7zJF8pDdkA== 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 DB4PR08MB8056.eurprd08.prod.outlook.com (2603:10a6:10:387::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Sun, 12 Oct 2025 12:17:44 +0000 Received: from GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0]) by GV2PR08MB8121.eurprd08.prod.outlook.com ([fe80::4cd3:da80:2532:daa0%3]) with mapi id 15.20.9203.009; Sun, 12 Oct 2025 12:17:44 +0000 From: Mikhail Kshevetskiy To: Lorenzo Bianconi , Ray Liu , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Cc: Mikhail Kshevetskiy , Andreas Gnau Subject: [PATCH v10 16/16] arm: dts: airoha: en7523: add SNAND node Date: Sun, 12 Oct 2025 15:17:07 +0300 Message-ID: <20251012121707.2296160-17-mikhail.kshevetskiy@iopsys.eu> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> References: <20251012121707.2296160-1-mikhail.kshevetskiy@iopsys.eu> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::17) 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_|DB4PR08MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: d43e5b28-7a8b-421a-96a7-08de09895938 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?aDzAPLKBTcHMd+2eDSwGJrG87gaNaEhBz1n9GQgxCcMk5iUf/kmw8GrDoGN1?= =?us-ascii?Q?ewEx2Uo85Eni7Cigv9VIqZwXBTnuoT68IiX5NZjaKJs22ZhsrHYcPwc7Rgwq?= =?us-ascii?Q?bIfdx707XsRIk/48EqHld4+GzNiSE25/qRirZmDd9oIrAq4qu498/yIY7YR6?= =?us-ascii?Q?b4v/voddG+Pye8UuV3U9JFcmiHxRX7Cx5WmtqLn9OcvTAh72O/JwkOxUisR+?= =?us-ascii?Q?r+CQy4qMWLuH1doEq50WBM7opt9GQsuwEiFc7tdhp3qhfNKhRV0/LgLidiHz?= =?us-ascii?Q?xMqDLTADUpk1paRRxQ0RvEUGU3cPjodq5WtwnSTSeN1TxLnqLpOE433hlAJH?= =?us-ascii?Q?C+w5qmbE7Tkgn5H7j+n5JNxRaKX/awOFL/yFVfNGWB/mtdAu8blqEry6X0ZE?= =?us-ascii?Q?9K2j+OZ+q7H/23mgAuNwRhI0uu6UUOT2oyE+0l3//FxEnGHfku6sQLd/vsFE?= =?us-ascii?Q?8uBdlJSV3FcdjFdkuLtjj388Y44gMyqhcRNR6ncKIx0ASddVVMauep6Zd2L9?= =?us-ascii?Q?yXxf7OobUwKHTrpbXZQqoVd4YcqESaQIR4Ln+WRLnZ1OFMrz+CeDoWdYnusy?= =?us-ascii?Q?kh/zHpg7F/BMAE1Bhz0kh41o7xN4BuQjoAK7wYg8hKsRqXqNZ9+DVhLrD6Kw?= =?us-ascii?Q?QkUkSqY6L4xPVZ2l04g49/m/pnege1mhrKSOYLh7U4/Li2K+9Z2tb54JlX+B?= =?us-ascii?Q?XtJKr3DqlppCT1iGXbVQqsOReLAu3+22jYpL3RGqf5M6SyngytZHZQ1ETLCY?= =?us-ascii?Q?OdYF9v60xaImniTMW5RvbfJG/7nQE/gZbzl+xtifLl7rgOCJAxk6kJ5v4bO2?= =?us-ascii?Q?R+MzMQwoFWkOkTgIr29jeu9zixSd0IzbS4FQaSdLUmRZpdP+84hPPNf3Azvg?= =?us-ascii?Q?21sGvB94DxjUKFmTBgLAoYCR6FsNV+VcPAEd7cxeFdk6cBg3738EuCJwAkNk?= =?us-ascii?Q?ff2LcEmNsGK+ZZUWmnXBdQRdUbHjppXy8dZ4hCsl0ne7omR4VO6c0yhBIEGh?= =?us-ascii?Q?zlt5tiwF+B5IaAG7uxN0SC9d7vU7PJepjEOsZsZgowgFUqcCsJCqgBgMJLfN?= =?us-ascii?Q?2c3YpiB3V8a42Jm607kpXR9Fm8ar7ooWQhBJwBIHlQcMdc9ROuEaWqVivxuE?= =?us-ascii?Q?SjBkNO0SKG9F9D1v1jKRJ3MtKWnRlJcqFCF0PIYa+BL5BhLEnIrvcsU+0jyK?= =?us-ascii?Q?82RP7c0oGKhJk8TTBiMdmTZ2F3nSEiVCt9qZFEr/+DZ8HG1FHRZy/koEczfh?= =?us-ascii?Q?5sTHA7mnyat2wI6duhSA413rx+QDwxyLt4t340AYoqDwyWu5BHMiXValFp7e?= =?us-ascii?Q?+HxQCU72XQm+02osgQ1QcDspDhb2nDb+k5Ef38uLc7BR4jRhLd9K+qYPLoCE?= =?us-ascii?Q?WifM8YfzVJTWXE8c87lXA+wjLx2GjgzhS7BG8ZHIL0DH1JNPzYRQwXRcgGV/?= =?us-ascii?Q?oGThwcXlKxOLMlwXo4NiVLkiYKccgQdzKV19L8GkWHCwc4Pes1W5X13NDZEd?= =?us-ascii?Q?MAx8FQ+yCmJB1I8l8dHgAblyJ8fPDJ7Z+G2VVRD5YEHSj7B6iqk5FMl21g?= =?us-ascii?Q?=3D=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)(366016)(376014)(7416014)(52116014)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8E/uvEO6sogJiR621g1e/yxBtgSDRLKXtVSs78j2JgckeAtgwucfXV/WmtcA?= =?us-ascii?Q?46Xz+iBXPdVdCXBo7FmR7H4hjWJtxExjYtXHk0qNB13DYklguDr0MJA8ruH5?= =?us-ascii?Q?ovBW3SXCtbEeTGNWhW2Af1rePwdWwArYc97uDWI7eyrhOgeJ5CkTJgh8eqck?= =?us-ascii?Q?p6SEOuHnounLoTBOMv/D9/8izOuBUf6Tha3KMf5x3WOMs/DdMXVbAmd134Er?= =?us-ascii?Q?mPo3u1SQDcGkt/Z2TP+UKaOE1iS75k6/Kk2KERPTX8T0nj53Qy1Sh13fQSKK?= =?us-ascii?Q?vDgr7m/aleRRf5PVD+LclaIUkOigTRGxX8liBcIc7E+KEpTpYXIHf0cA1Quv?= =?us-ascii?Q?drEKccJ9UyzmGqZNK28u088XzEN6HEI70pnU0pDfxgtq2QmYII3+AP8omlIH?= =?us-ascii?Q?ZDhRwh/mrM1yZhzCDQFHHWxNql5REFHbBqalPKxSmgPMst0OnP0d7am3KBs3?= =?us-ascii?Q?QGd05O0XhEorZcmFIa9S8ZKLpp5WeTCQD6Bju/BW+VbweM77cDV3RaBaNeZq?= =?us-ascii?Q?dLiiZs6/8PMGfezVw8lTj5f6xjfAqpsX6DTOLAF5T5A9gf9jLd6m3Cel19PE?= =?us-ascii?Q?qA1t2fYly6QUOh3HNoTKQGyufSnJ9wyRLfP/ojqfk/hIfuhrFCscxBi6DRkG?= =?us-ascii?Q?0gmwVIIn2XOBkxctairLDSYzZWWOI7Lgv9vMJyB2p7fEsIZ+Q7NM/1Erm6gL?= =?us-ascii?Q?8Dh2b8OdV2hQ4zJJJkuPnrNaY5s1JxG7XQ/D+clyZtKGEDsDNW0kw6UpqPGa?= =?us-ascii?Q?5aAaBdQhjihYH/6OSMY/Ivmir+HrUr3z7B+zPmLpTZ00I9Grgn3GI8fu2lxf?= =?us-ascii?Q?Fvdn0cKPgq1vbLNNUUESWyZ7mrkD6mC3vKbwUSKzqEO8xHkg2C3s/OqPYBbV?= =?us-ascii?Q?iva+WdsuQzl14pgJqL/eycMU5CecJhMSDvkqzhm/XttJIeDMPPRufwPmG7Hf?= =?us-ascii?Q?d3P912ShDYnau1saQhDQ2D/qJ95/izqmfS+XtCXLutY8oe85nZBT+GmVm1OY?= =?us-ascii?Q?/W3YHiPXSIWvtNlVvkdq13Mhq2xWOXkhlrBe8gXsCcYnVEOf8WELvv3p9w7W?= =?us-ascii?Q?Qc7H+ZO8FvLU9EYvhoxJrRUtgPrL0x2B6PHFl5z5TqFsHldfAZCduTGSm0gS?= =?us-ascii?Q?LNtrYgZ3V+YR6MRaBe/zvJo7Qf1eMyYHllchUdVL+e7lBCZKjr1xZLxZG1gm?= =?us-ascii?Q?SoynBGI47WFk1B2CE0Yd08Ilsh0wu1I/K7dMIKtnOMNlqIkIjLxcrwVB++70?= =?us-ascii?Q?esvnSBnJzgsmYYfVp00MYPD1+7O7sJihvaiFP+ajHkmY9up6ifcq1LdhXAUh?= =?us-ascii?Q?g2iZ6hh2s8AgxOaS53Lp4SnLbM7JQ0yWAirk2j25QgSf6Y6L0V6rHwtEkMg+?= =?us-ascii?Q?VtD7uXAdtEJWAeHdeF1GAd0HZU8cexEHme4djjPLwNUZofuldVmi1huRdRoG?= =?us-ascii?Q?qwYA2hYQabb5B0fONmRvoM6cvCiYGDBFABcsP0bktL3l6ZVxfAyh+7lzJcTb?= =?us-ascii?Q?n1hRUmebUNSBPFThAfY+hZbK1TLwKkHl8bk/P4b+D6lMHRF/2yk5eP9PixJn?= =?us-ascii?Q?6BMB6tFDThZaB2c36yWVX6rjOJS8f5GuhVviFfJ6a+PZNuJR3Gdv6kYIdhT3?= =?us-ascii?Q?mA=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: d43e5b28-7a8b-421a-96a7-08de09895938 X-MS-Exchange-CrossTenant-AuthSource: GV2PR08MB8121.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2025 12:17:44.6994 (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: hgznWNfhL6VMCQ/sDjySttXL5BxwSuiAl+5fqVW+sk/DMvvvOEd59GFn+TMYh+yOZ3OfzsUZyBHRte9HEy6VsrUCNavqoRRtt2b6ANoUFe8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8056 Content-Type: text/plain; charset="utf-8" Add SNAND node to enable support of attached SPI-NAND on the EN7523 SoC. Signed-off-by: Mikhail Kshevetskiy Reviewed-by: AngeloGioacchino Del Regno --- arch/arm/boot/dts/airoha/en7523.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/airoha/en7523.dtsi b/arch/arm/boot/dts/airoh= a/en7523.dtsi index b523a868c4ad..31191b8d1430 100644 --- a/arch/arm/boot/dts/airoha/en7523.dtsi +++ b/arch/arm/boot/dts/airoha/en7523.dtsi @@ -203,4 +203,24 @@ pcie_intc1: interrupt-controller { #interrupt-cells =3D <1>; }; }; + + spi_ctrl: spi@1fa10000 { + compatible =3D "airoha,en7523-snand", "airoha,en7581-snand"; + reg =3D <0x1fa10000 0x140>, + <0x1fa11000 0x160>; + + clocks =3D <&scu EN7523_CLK_SPI>; + clock-names =3D "spi"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + nand: nand@0 { + compatible =3D "spi-nand"; + reg =3D <0>; + spi-max-frequency =3D <50000000>; + spi-tx-bus-width =3D <1>; + spi-rx-bus-width =3D <2>; + }; + }; }; --=20 2.51.0