[PATCH 6/9] mtd: nand: qcom: support for checking read errors for last codeword
Abhishek Sahu
absahu at codeaurora.org
Sun Apr 22 23:08:27 PDT 2018
On 2018-04-22 21:45, Miquel Raynal wrote:
> Hi Abhishek,
>
> On Thu, 12 Apr 2018 12:47:42 +0530, Abhishek Sahu
> <absahu at codeaurora.org> wrote:
>
>> On 2018-04-10 15:35, Miquel Raynal wrote:
>> > Hi Abhishek,
>> > > On Wed, 4 Apr 2018 18:12:22 +0530, Abhishek Sahu
>> > <absahu at codeaurora.org> wrote:
>> > >> Add boolean function argument in parse_read_errors to identify
>> >> whether the read error has been called for complete page read or
>> >> only last codeword read. This will help in subsequent patches to
>> >> detect ECC errors in case of last codeword read.
>> > > Can you explain when this happen: "last codeword read"? I don't see the
>> > use case.
>>
>> Hi Miquel,
>>
>> This is happening inside qcom_nandc_write_oob where the last subpage
>> data is being copied first.
>
> I still don't understand the use case.
>
> What to you mean last 'subpage copied first'?
>
Hi Miquel,
According to current implementation
QCOM NAND layout protect 16 bytes of available oob with ECC also.
When ecc->write_oob (qcom_nandc_write_oob) is being called
then it can't update just OOB bytes.
It needs to first read the last subpage which includes old
OOB bytes. Then it updates the old OOB bytes with new one
and then again write the data back.
You can refer function comment of qcom_nandc_write_oob
for the same.
But, to me, it looks like this read is unnecessary since
all the other bytes will be 0xff only. Require your help
in confirming the same and then I will remove that read
last subpage implementation.
Thanks,
Abhishek
>>
>> host->use_ecc = true;
>>
>> clear_bam_transaction(nandc);
>> ret = copy_last_cw(host, page);
>> if (ret)
>> return ret;
>>
>> you can refer function comment of qcom_nandc_write_oob for more
>> detail.
>>
>> Thanks,
>> Abhishek
More information about the linux-mtd
mailing list