From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: Re: [PATCH v2 06/14] mtd: rawnand: qcom: erased page detection for uncorrectable errors only Date: Tue, 22 May 2018 09:04:59 +0200 Message-ID: <20180522090459.71d35004@xps13> References: <1525350041-22995-1-git-send-email-absahu@codeaurora.org> <1525350041-22995-7-git-send-email-absahu@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Return-path: In-Reply-To: <1525350041-22995-7-git-send-email-absahu@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org To: Abhishek Sahu Cc: Boris Brezillon , David Woodhouse , Brian Norris , Marek Vasut , Richard Weinberger , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, Andy Gross , Archit Taneja List-Id: linux-arm-msm@vger.kernel.org Hi Abhishek, On Thu, 3 May 2018 17:50:33 +0530, Abhishek Sahu wrote: > Following is the flow in the HW if controller tries to read erased > page Nit: ^ missing ':' > > 1. First ECC uncorrectable error will be generated from ECC engine > since ECC engine first calculates the ECC with all 0xff and match > the calculated ECC with ECC code in OOB (which is again all 0xff). > 2. After getting ECC error, erased CW detection logic will be > applied which is different for BCH and RS ECC > a. For BCH, HW checks if all the bytes in page are 0xff and then > it updates the status in separate register > NAND_ERASED_CW_DETECT_STATUS. > b. For RS ECC, the HW reports the same error when reading an > erased CW, but it notifies that it is an erased CW by > placing special characters at certain offsets in the > buffer. > > So the erased CW detect status should be checked only if ECC engine > generated the uncorrectable error. > > Currently for all other operational errors also (like TIMEOUT, MPU > errors, etc.), the erased CW detect logic is being applied so fix this > and return EIO for other operational errors. > > Signed-off-by: Abhishek Sahu > --- > * Changes from v1: > > 1. Added more detail in commit message > 2. Added comment before each if/else Thanks for that, it's much more ease to review :) > 3. Removed redundant check for BS_UNCORRECTABLE_BIT > > drivers/mtd/nand/raw/qcom_nandc.c | 65 ++++++++++++++++++++++++++------------- > 1 file changed, 43 insertions(+), 22 deletions(-) > Acked-by: Miquel Raynal Thanks, Miquèl