All of lore.kernel.org
 help / color / mirror / Atom feed
* GPMI driver ecc_write_page with oob data problem
@ 2015-04-01 23:03 Youxin Su
  2015-04-02  4:38 ` Iwo Mergler
  0 siblings, 1 reply; 4+ messages in thread
From: Youxin Su @ 2015-04-01 23:03 UTC (permalink / raw)
  To: linux-mtd

Hello all,

I am attempting to mount Yaffs2 on a GPMI controlled NAND flash on
IMX6. Unfortunately, I'm not able to mount it with default settings,
instead I have to mount it with "inband-tags" which means don't use
OOB area on NAND page to store data.

Then I am running into check why yaffs2 can't use OOB area.

We use MICRON MT29F32G08CBADAWP it has 8192 bytes payload and 744
bytes OOB as log show below:

[    0.982938] nand: Micron MT29F32G08CBADAWP
[    0.987056] nand: 4096MiB, MLC, page size: 8192, OOB size: 744
[    0.993508] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5

Since the IMX6 only support up to 40bits ECC corrections, we don't
want all the OOB used by BCH for ECC correction data. So we enabled
"fsl,use-minimum-ecc" which is still use the max 40 bits corrections
in BCH, after set_geometry_by_ecc_info does the calculation, its end
up following geometry:

page_size = 8762
write_size = 8129
metadat_size = 10
auxiliary_size = 24
oob_free->offset = 570
oob_free->length = 174

Which means we do have 174 bytes free OOB area can be used by file
system. After a few days tracing and debugging I've found out the GPMI
driver method gpmi_ecc_write_page actually does not write oob data(the
174 bytes area) to NAND flash at all? The flags "oob_required" never
been used in the method.

Does anybody else used GPMI with OOB data read/write before? Does it
work fine or Am I missing something?

Best regards,
Youxin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-04-07  0:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-01 23:03 GPMI driver ecc_write_page with oob data problem Youxin Su
2015-04-02  4:38 ` Iwo Mergler
2015-04-02  9:40   ` Youxin Su
2015-04-07  0:42     ` Iwo Mergler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.