From patchwork Wed Nov 8 15:07:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Han Xu X-Patchwork-Id: 163082 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp975238vqo; Wed, 8 Nov 2023 07:07:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IEyz/fpbenbXeXxS936YfB2J7ipSkOeKM5WR+XtyHiAxu8sDcyd0aCQPBshwu8LABPzvGN+ X-Received: by 2002:a17:903:1109:b0:1cc:53ed:cc78 with SMTP id n9-20020a170903110900b001cc53edcc78mr2496147plh.15.1699456066664; Wed, 08 Nov 2023 07:07:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699456066; cv=pass; d=google.com; s=arc-20160816; b=a/E6ViJKRNABuywL9EQJ1SgXtP7IrTwCE5FaVvwO2OohtFIfv78FJ3K5sAziTRK5pU g6Ur7Y4JBKo0IFefSz2uMmqPGThTvlR2cXjZs4LjP2+V9el1C/kV4w9boLGPjwdoJZx3 +RL4dRGueENgg455vlXt9a/8Lqk9Q3QlkALyN2jbtGbjv6ebctsvVLM5cudc+zjA6XQB FLfDjnFsNyt/Np0dIayGF+NXPvrvID6SKmX4HCn5jM78KSsZ04QhKmtfOV87iu035YIK skNXyNQE0mjVslqSsVGcnWvbpfH/rmdcPpAipCZl8dgxDqqNITuDWByrqOc74TY6wwa/ j+UA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :message-id:date:subject:cc:to:from:dkim-signature; bh=RnFIeWFVjD9MzIxm4tk5N/GodF6qN4x9pPgXueCfqJQ=; fh=3e4t5WZzNJ8XrEvOEe3ppAT6x1cyuOklMHF43Mfww1c=; b=nC150ZG3m6glstVkqER0F2L0p1WqdrZh4ZBXce25nFwbaQYAJ0dFqH+szbO4FRIFP/ AwYwGACKpL+8ZByDTlVEde2TLa9QYwW+MQ/aowG0MVLwAVtXO6ETLZQ56raZwg+V75na jhqaelJ2ENT0KmadUQmT2hZ5wGYEA8HN9kUPGuzGbs4/5khCeeTDIPvoxEIz6HPqzVpV WaWR3ng6VuEyBkF5lKx9wnkhGbrjaiMSO87pWO4oCdZDk8u5hCOaDbi+SF+2JucOJcdp tlwX3vCRkfdXYr3L4sOklLk64eAAkifmc3JMpiJE5Jy34hSBjKtqfmnX8jyQDgfg8Nhk Yx+A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=dX5znQqD; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id u15-20020a170903124f00b001ae40e07fb0si2606404plh.216.2023.11.08.07.07.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 07:07:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=dX5znQqD; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 661EA804EE79; Wed, 8 Nov 2023 07:07:44 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232149AbjKHPH3 (ORCPT + 32 others); Wed, 8 Nov 2023 10:07:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbjKHPH2 (ORCPT ); Wed, 8 Nov 2023 10:07:28 -0500 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2057.outbound.protection.outlook.com [40.107.22.57]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8EFC1BE4 for ; Wed, 8 Nov 2023 07:07:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dH7k+bWyzjMWBNWWlLaCkh1Htd/XSfgrt1Sk8xJBAWT7tStBkFI6++MpMttWIV4stxWG1LcRs+a3RqB2ca2yfSXzlmpvjpvK3Fs2+P6Q6cAHGxxUWKuLcSyrxEnifizwJCK4k2vqjc7M8mu+b0ZFc/u9R9jHD8fryT8pOHq9DfHe5EJrO2tpsBDeyTnPQV+8krHLCpNdJRU5zyUHYRPBYpvlXrJ2S73uUN4To9o00vM4Zt/3EuXCCc/xBMzmRzvSPCU6fedHDSNfzVNEBhrJDzjEhteAFzbzhb5FGFMxKK+MFK6rL6mU9Drg0SdPLch7r8bXmpIeM1GpEgMYqNJ6Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=RnFIeWFVjD9MzIxm4tk5N/GodF6qN4x9pPgXueCfqJQ=; b=iTH702YgRJ/xVOLrDaft2gk4axD91kTWFTlKFky50zasByhLZEbq21UcIA73ZVn+tsWaWDHKWUy4qj9f5KIh1WeVnUO3QjqYfqRoobtzfDOkgOZDEyQ6+lFNxLyHytu45iLn8Si1iJaHOdPc8xzpUHfGhGbaWPgfikgDA2tHoPGtuyEzt7uVgDvqidVmMpm3Y+kDgemYPzBlfIReOvk1w6smZ72Oq5gKp1tqg/h12e8/PbGgXJKyxCOQX2m7EoTeR4pmqUd9k88WHd+4Ij4H8zPDbKzKo15Bu70eLQ+sN1s4PK2M9UvfQksRnF/NzUojDzsaSpiJLUbeYOhKw8Skgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RnFIeWFVjD9MzIxm4tk5N/GodF6qN4x9pPgXueCfqJQ=; b=dX5znQqDWK5ROmBC1cyr+Rbi86iK1kPkRAqLsN4rEU/APbCeK16hwRuMBGACZs3RAnigyOj0O/Q9TPoUGzVoiWtAHFWY/4preNcPcyHR68aBamGrwbaJo2uDmzKP45YxsF1EQuTP1mlNtMyuE/H04zF2whclV1LDGfOLn4RhQSY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from GV1PR04MB9071.eurprd04.prod.outlook.com (2603:10a6:150:22::11) by VI1PR04MB6797.eurprd04.prod.outlook.com (2603:10a6:803:13e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 15:07:23 +0000 Received: from GV1PR04MB9071.eurprd04.prod.outlook.com ([fe80::f582:d694:c655:89bf]) by GV1PR04MB9071.eurprd04.prod.outlook.com ([fe80::f582:d694:c655:89bf%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023 15:07:22 +0000 From: Han Xu To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Stefan Roese , Boris Brezillon Cc: Han Xu , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] mtd: spinand: gigadevice: Fix the get ecc status issue Date: Wed, 8 Nov 2023 09:07:01 -0600 Message-Id: <20231108150701.593912-1-han.xu@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: BYAPR08CA0048.namprd08.prod.outlook.com (2603:10b6:a03:117::25) To GV1PR04MB9071.eurprd04.prod.outlook.com (2603:10a6:150:22::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB9071:EE_|VI1PR04MB6797:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b92f437-4615-47a7-9e32-08dbe06c68f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OUzimJ9GauYAFO3zx/k0pe/zBRPa8s7786E08oMHjRaxFFr6wo9k8dgoFYMy7AYKbjIHWarzeGPOgLf4ADbZX7RyrQWa5shmW1UXZP/aL1NZoMRcUvIhysdoqhjFrK4ySN7cxu92CbKb0B1l57H08KerDSvdBHJsex8N89HlBWYs8lTEgFhcyk3Fo3yBdIIu2UCl96NMvJfbXw35CBGuBwX9T1u+BQvCJes2keuu6ULd0xqoTWyDLPiboeau6sNexSJmOxpslur6S7hHvnaLG8wLoR4F5Jz8SjyoBTX0qi0c65+Dil6rnwofINy51Gc8TF2cDBDj/bRKyDC89dqarC6AncdeBuUYVK1NUoWNuF0Mnsl5N/uhtvjv7UVzOPJjtIBXf15ylgMn4qS8wcVfdB83WrKe7gHktr6BWH2WM4mUrIFPDxmofyUNRQNHXVmt2v5k1s7oDn0pinxRQWEpSWaPcvB53MBcUN465r3itlmP3TFXAxpTQVpQiB8FRLxd29NJPTPviP8R7zIRkiGBfDkCAi3SJbNuZirIFWMZpHqHmABiAp0YaBTTGHfUHZQQBM6PYcOPRKgPzxFAqLV8kFhNYdsR/UZzten/Pgw+5hAwVBGguM3USLohFCgsjWaO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB9071.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(346002)(39860400002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(6506007)(6512007)(478600001)(2616005)(52116002)(6486002)(6666004)(36756003)(38100700002)(86362001)(44832011)(66946007)(66476007)(66556008)(41300700001)(83380400001)(2906002)(1076003)(26005)(316002)(5660300002)(38350700005)(8676002)(4326008)(8936002)(110136005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9p1c22B0W4Kpo5NKzbhIRA/ZJE05kplvHFkiDTjeqbGQAolcc7xWajPapfHg7Yzza6h/SSIeGAwcvezvPJyicHPZRqI2WfvjxzESlSrvtNczo7dxqtQarI/aElETxdwz5L/Ao5IBngc85JxOt4jx9t3VwAlTNZhnAO7r3tuEZ/WsThoAoJRd/pNJfdhs2jZ36H6o0ANfQ4zFZUd2Re1KlxOAH9RR6mySQux55k7gbKxtQUEFarPkKbgVL2SK+CpjdM/+TgbLZXw/q18hib3j2okP/w9K4J8SZEeaWQDHBRPFVnvuiR+CbpunroQ9MhNMVCOL50esIOmdfJh+FH6siJQ1kfmKdV/L65fH7iYE3S73DTzDWdYarFEv+6teupPpLHDPN5DMAOx2hEt3ozWV6rrghpfC5No+pUqnOLXL7+tfypOmzF3OSD1Dq0wmu//1pwFSLm0KlmqekXGxEJ2VqGfjwAi2B6koVFGJpu80ASEN5innwXbsCqaW+IhwZ76lUi2vc5hj7o2Lxrm6JO2Za7HCIMaMfFRfm0mYOnFQTTQ+YqPSbavKnjax3SGecxif7+MVJfI7KXiK13BNkyJSSHD1V5PBTIzEcrVcebm+Q9NfUePzoMe3iM+xQDbsg2etTSMmYBkIvb52y6qnHgU/+isj7zC7Dic+MIV4XV8p9T5j/yM5rAuTNO6dKOd0JZlBMpKpjzUzQqt3NfAPsxnFyqc/8EuqaU+iCCv4vNV/r0Y/YtCT/eUtW+wXbu25y+goTInd+VsLhli09qqoAMrpBC06WAl9vceiqMxHq9flqv1qCN6iz28x7KMXDecGPzeCyH8wqmTFbtdeFvJBQCKQLdi0srro+vQUxAbOCXkf2jEFhvR8BrHs49Mr/fn6e6z7qJ60DX93ecZiAOFbRd3My7vxrrwsXpKIroYzPch07YLZjOVqmjGKdiAd60cAOzd/hcM6qV0JItHWab8Y2NTdUOwGpne5UkQBObR8g8Q+YnBXD9leqqWPoxi4OntIHZKtlLFUDAPmryJF7ELLp5q8VqDHxdm6dTlHKbqvVx4SBsucovu7nfvilzo1Uf3MOufR9SuNXwcpxlbAud2HoZX/GTvTK/RvO03/jEWInR3lnmRjpoHZ77fsoLWAOBuSS74aJF5lZBv4j9HKJA6LXz8Z12jm1zCVq4OA1cUm5Qq5nvyNBECC2QrXpUmGOMTq/oGmGQLAe7C7jtOHVQsvymACqZm8QBs+9iXh2rZg7o+Oh5oH8g5GA6nvYruCmUOWR/L4JpN5r3PEOHemnwbJ2m8ysq2e4o4m1uYxsWtdwJ7ZgBivbfHG7vx9+9jAKdfS3ePnK4403KiAqzcS52unDN+VJ6L0qc/f6GNpiIWj7o7cKCez4jVn6npwjRgNH3QzTiuyq6fF5PP1vV0OvfrQN7O/dQiI93UowBaTcWAz63Ju0gnC+c9lGg+slKN40LlBHGlbaSJnH11zGnRlRXK4JxiR1KYmp++HTGNbR86uFan/9aaysSJOdZg/2HXr9h0x5M2oel1SuF571ESbhcnrtg/nO+nnoRPOkNGq19cqRYvskR8= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b92f437-4615-47a7-9e32-08dbe06c68f6 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB9071.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 15:07:22.7625 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H8T0SQC0mUEgarT49EFbMzj2CIUHu/N0zi2KdFm0gykvTGWvtJKKzjnHumihZ31+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6797 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Wed, 08 Nov 2023 07:07:44 -0800 (PST) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782008844721765523 X-GMAIL-MSGID: 1782008844721765523 Some GigaDevice ecc_get_status functions use on-stack buffer for spi_mem_op causes spi_mem_check_op failing, fix the issue by using spinand scratchbuf. Fixes: c40c7a990a46 ("mtd: spinand: Add support for GigaDevice GD5F1GQ4UExxG") Signed-off-by: Han Xu --- drivers/mtd/nand/spi/gigadevice.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c index 987710e09441..6023cba748bb 100644 --- a/drivers/mtd/nand/spi/gigadevice.c +++ b/drivers/mtd/nand/spi/gigadevice.c @@ -186,7 +186,7 @@ static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, { u8 status2; struct spi_mem_op op = SPINAND_GET_FEATURE_OP(GD5FXGQXXEXXG_REG_STATUS2, - &status2); + spinand->scratchbuf); int ret; switch (status & STATUS_ECC_MASK) { @@ -207,6 +207,7 @@ static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, * report the maximum of 4 in this case */ /* bits sorted this way (3...0): ECCS1,ECCS0,ECCSE1,ECCSE0 */ + status2 = *(spinand->scratchbuf); return ((status & STATUS_ECC_MASK) >> 2) | ((status2 & STATUS_ECC_MASK) >> 4); @@ -228,7 +229,7 @@ static int gd5fxgq5xexxg_ecc_get_status(struct spinand_device *spinand, { u8 status2; struct spi_mem_op op = SPINAND_GET_FEATURE_OP(GD5FXGQXXEXXG_REG_STATUS2, - &status2); + spinand->scratchbuf); int ret; switch (status & STATUS_ECC_MASK) { @@ -248,6 +249,7 @@ static int gd5fxgq5xexxg_ecc_get_status(struct spinand_device *spinand, * 1 ... 4 bits are flipped (and corrected) */ /* bits sorted this way (1...0): ECCSE1, ECCSE0 */ + status2 = *(spinand->scratchbuf); return ((status2 & STATUS_ECC_MASK) >> 4) + 1; case STATUS_ECC_UNCOR_ERROR: