From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D09061C07C1 for ; Wed, 22 Jan 2025 07:00:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737529207; cv=none; b=DTdvWz/5ZWETaLByx9zBqbeBnOv54ARPnQGjCxB7XwVD9tFl4cPZ6K/mIBdjt+nLOFWf3fYqKcbtn/CeftrxTNSHnFi8ZApfbwzXMTCokMllGSm3z074ST5aecnJrdXK3ZoDDmZMnjX29SfoXTbqEug6qadIoB3RrQ7xZfOolkM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737529207; c=relaxed/simple; bh=g3kSkF8mxmDiUX85UCD9V7ZQPpFCwued61dRmQzsttU=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=jDbhonKVUhJtByk0v2IvoSwh81GBjYpjMahRqQeiz2rZ4ZsHtj9bqPV+/4qo8n01Skhg66R2mih9MM1agRQaAyIMIys2lmk9Y9qRJsQrgWZx53218xbx/pT1lxVFvMxQbrls2+8qrEY0d3vIwDK2dKc0CphtHbJcQwt+MJVSmXE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kt5+1EZr; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kt5+1EZr" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-2ee989553c1so11255296a91.3 for ; Tue, 21 Jan 2025 23:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737529205; x=1738134005; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=1WkJFE/Sed7K/1w/cnr536dKRzwsHBM5/yCypYusGTA=; b=kt5+1EZr2wi2MlUgLYvh+sZzk67Q20ZsmhXhTzdKDME42yK4SOalyp/UJJ/MVTVbhj 4Jg6Tddk/wPCkWHy7R1rnK/0I8LhpY24TvDtDVn5W1XOeXZj3X5gxHnN0QEaxTNmbZud 01UM7HTJ8vLTua3PmH3EsE/pYwlfejgEuDiiScWmC7sCy8KXMVGyMFXf1GV4zwhcakV3 UbXpBvv5FVFmA1FwrVwSt2xjUdGbzOb7+shxFSPgaRdu1c9P/y3jfcYfvENvzU77ytto SNeD26JA6IASytbmDwNVNu+TR9DaP4A591LyGFGuGAi6XX2mKJ0BzgiAy5rW7jUBbgkg oQjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737529205; x=1738134005; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1WkJFE/Sed7K/1w/cnr536dKRzwsHBM5/yCypYusGTA=; b=f3J/Lvfeol5na0x/z+OujpEH0G564NgNdD6yPS4d+m9eue69yuzvdfq2WxTe+ize9n KYf3DwcI78Zhr+74HvWHMj42L8qCDKdYXkgsVvFhezwk2wRHoZD2dsmEj3maYGRK6NYe 5C8Y5Au4MsCugFG5c5Xu5CO7+9OJT7Ue2UwocJGxNFeXDPyYKHJbF0Kj600Qk9vgjuUu jDn1Ajqn8ojADGwC9YKOkfHWTcH37uvUsLak7J6CmgMsgxfKJp4Tc3ZK6l0jfZS7tUPz ZAlipJUEwukKtPXIhz6c77G9D473yb74hMA3Dr+S5nCiogLnkIiDItEgQO0FHJdGJL8F I0cQ== X-Forwarded-Encrypted: i=1; AJvYcCVxa5bjTE94KkaSpiJxANdBkXr7T9gCXfEAq0Fn7BMHe3SvH+XcMY5vF1eY7VMeXEt0OUQYq6sfBP709zk=@vger.kernel.org X-Gm-Message-State: AOJu0YwTas8THj/A57xNuqEVIdLazhYKrO8xQV1JilnAaN7O2zfZEH5k 2cMtNTbmyzTNTi87fVXFLFxxfDtcCdEq27yrN5V+EBcK9RwixJJg X-Gm-Gg: ASbGncvT/6U5f5k++kO1oWASihiap6D42DqpBDH+YFmBrqbQ/pfoS/56He80+yR2+Dc zSdoGrYNdXyKkpcK15lRqEheAUCGJ23ovEAJ9KI7/KxkX6gwoyGgiZAHUGxi8JRpb1N3HGpRVo0 h2ELEbgyBltkHz+L6MUNkOVC0zlwjAMtPqrm7CAQb5ig05UMbPuuhILsYJpFvdRdmoUrVmpsmtK OTRa0/WNWnlp40X7vRJLTorjyN7m1/xDekWuNXp9O7hfr2/8aPQN55Ikz6tDUGpunWZHIhVszL4 xyjiRgh9mYd26DElLw== X-Google-Smtp-Source: AGHT+IHKcFyaGwkF21hGRmAmjs2DEoZKxhMm0F/ekZztkPH6Fc9QpKv/UbyVXttJL+RtMHMuBFhbAQ== X-Received: by 2002:a17:90b:264e:b0:2ee:5bc9:75c3 with SMTP id 98e67ed59e1d1-2f782c4c28bmr25783235a91.5.1737529205046; Tue, 21 Jan 2025 23:00:05 -0800 (PST) Received: from twhmp6px (mxsmtp211.mxic.com.tw. [211.75.127.162]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f7e6b97e51sm766436a91.43.2025.01.21.23.00.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2025 23:00:04 -0800 (PST) Received: from hqs-appsw-a2o.mp600.macronix.com (linux-patcher [172.17.236.67]) by twhmp6px (Postfix) with ESMTPS id 4F4C98085A; Wed, 22 Jan 2025 15:11:07 +0800 (CST) From: Cheng Ming Lin To: miquel.raynal@bootlin.com, vigneshr@ti.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Cc: richard@nod.at, alvinzhou@mxic.com.tw, leoyu@mxic.com.tw, Cheng Ming Lin Subject: [PATCH v3 0/2] Add support for read retry Date: Wed, 22 Jan 2025 14:56:03 +0800 Message-Id: <20250122065605.285145-1-linchengming884@gmail.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Cheng Ming Lin When the host ECC fails to correct the data error of NAND device, there's a special read for data recovery method which can be setup by the host for the next read. There are several retry levels that can be attempted until the lost data is recovered or definitely assumed lost. For more detailed information, please refer to the link below: Link: https://www.macronix.com/Lists/Datasheet/Attachments/9034/MX35LF1G24AD,%203V,%201Gb,%20v1.4.pdf v3: * If set_read_retry fails, it should return an error v2: * Remove fixups * Remove the function of init_read_retry Cheng Ming Lin (2): mtd: spi-nand: Add read retry support mtd: spi-nand: macronix: Add support for read retry drivers/mtd/nand/spi/core.c | 35 ++++++++++++++- drivers/mtd/nand/spi/macronix.c | 79 ++++++++++++++++++++++++++------- include/linux/mtd/spinand.h | 14 ++++++ 3 files changed, 111 insertions(+), 17 deletions(-) -- 2.25.1