From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 22 Dec 2017 23:50:37 +0100 From: Miquel RAYNAL To: Boris Brezillon Cc: Robert Jarzmik , David Woodhouse , Brian Norris , Marek Vasut , Richard Weinberger , Cyrille Pitchen , Rob Herring , Mark Rutland , Jason Cooper , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Russell King , Daniel Mack , Haojian Zhuang , Eric Miao , Catalin Marinas , Will Deacon , Ezequiel Garcia , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Thomas Petazzoni , Antoine Tenart , Nadav Haklai , Ofer Heifetz , Hanna Hawa , Neta Zur Hershkovits Subject: Re: [PATCH 00/12] Marvell NAND controller rework with ->exec_op() Message-ID: <20171222235037.7b9e2051@xps13> In-Reply-To: <20171222233730.68d9cb9d@xps13> References: <20171207201814.30411-1-miquel.raynal@free-electrons.com> <20171214070930.0b885f6d@bbrezillon> <877etkecig.fsf@belgarion.home> <20171218092535.2ca1fe13@xps13> <87y3lxccr7.fsf@belgarion.home> <20171220224121.2cb6f690@bbrezillon> <87lghucykr.fsf@belgarion.home> <20171222222441.0fd77df9@bbrezillon> <20171222233730.68d9cb9d@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, 22 Dec 2017 23:37:30 +0100 Miquel RAYNAL wrote: > Hi Robert, >=20 > On Fri, 22 Dec 2017 22:24:41 +0100 > Boris Brezillon wrote: >=20 > > Hi Robert, > >=20 > > On Fri, 22 Dec 2017 21:11:32 +0100 > > Robert Jarzmik wrote: > >=20 > > > Boris Brezillon writes: > > > =20 > > > > Looks like there is a mismatch on the nand bus width detected by > > > > the core and the one declared by the driver. Can you try with > > > > the following diff applied? =20 > > >=20 > > > Sure. > > >=20 > > > Now I get a lot of these message which I didn't have before : > > > [ 26.897372] ubi0 warning: ubi_io_read: error -74 (ECC error) > > > while reading 126976 bytes from PEB 242:4096, read only 126976 > > > bytes, retry [ 26.928559] ubi0 warning: ubi_io_read: error -74 > > > (ECC error) while reading 126976 bytes from PEB 242:4096, read > > > only 126976 bytes, retry [ 26.959623] ubi0 warning: > > > ubi_io_read: error -74 (ECC error) while reading 126976 bytes > > > from PEB 242:4096, read only 126976 bytes, retry [ 26.990714] > > > ubi0 error: ubi_io_read: error -74 (ECC error) while reading > > > 126976 bytes from PEB 242:4096, read 126976 bytes [ 27.002084] > > > CPU: 0 PID: 1 Comm: swapper Not tainted 4.15.0-rc1-00041-ge371e97 > > > #737 [ 27.009674] Hardware name: PXA3xx Platform Development > > > Kit (aka Zylonite) [ 27.016750] [] (unwind_backtrace) > > > from [] (show_stack+0x10/0x14) [ 27.024729] > > > [] (show_stack) from [] > > > (ubi_io_read+0x124/0x368) [ 27.032453] [] > > > (ubi_io_read) from [] (ubi_attach+0xbd8/0x1868) > > > [ 27.040148] [] (ubi_attach) from [] > > > (ubi_attach_mtd_dev+0x548/0xe58) [ 27.048473] [] > > > (ubi_attach_mtd_dev) from [] (ubi_init+0x134/0x1d4) > > > [ 27.056623] [] (ubi_init) from [] > > > (do_one_initcall+0x3c/0x17c) [ 27.064466] [] > > > (do_one_initcall) from [] > > > (kernel_init_freeable+0x104/0x1c0) [ 27.073398] [] > > > (kernel_init_freeable) from [] (kernel_init+0x8/0xf8) > > > [ 27.081715] [] (kernel_init) from [] > > > (ret_from_fork+0x14/0x34) [ 27.090115] ubi0 warning: > > > ubi_io_read: error -74 (ECC error) while reading 64 bytes from > > > PEB 243:2048, read only 64 bytes, retry [ 27.102363] ubi0 > > > warning: ubi_io_read: error -74 (ECC error) while reading 64 > > > bytes from PEB 243:2048, read only 64 bytes, retry [ 27.114586] > > > ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 > > > bytes from PEB 243:2048, read only 64 bytes, retry [ 27.126813] > > > ubi0 error: ubi_io_read: error -74 (ECC error) while reading 64 > > > bytes from PEB 243:2048, read 64 bytes [ 27.137416] CPU: 0 PID: > > > 1 Comm: swapper Not tainted 4.15.0-rc1-00041-ge371e97 #737 > > > [ 27.145143] Hardware name: PXA3xx Platform Development Kit > > > (aka Zylonite) [ 27.152207] [] (unwind_backtrace) > > > from [] (show_stack+0x10/0x14) [ 27.160037] > > > [] (show_stack) from [] > > > (ubi_io_read+0x124/0x368) [ 27.167742] [] > > > (ubi_io_read) from [] (ubi_io_read_vid_hdr+0x60/0x3ac) > > > [ 27.176156] [] (ubi_io_read_vid_hdr) from > > > [] (ubi_attach+0x4e0/0x1868) [ 27.184675] > > > [] (ubi_attach) from [] > > > (ubi_attach_mtd_dev+0x548/0xe58) [ 27.193010] [] > > > (ubi_attach_mtd_dev) from [] (ubi_init+0x134/0x1d4) > > > [ 27.201159] [] (ubi_init) from [] > > > (do_one_initcall+0x3c/0x17c) [ 27.208839] [] > > > (do_one_initcall) from [] > > > (kernel_init_freeable+0x104/0x1c0) [ 27.217755] [] > > > (kernel_init_freeable) from [] (kernel_init+0x8/0xf8) > > > [ 27.226074] [] (kernel_init) from [] > > > (ret_from_fork+0x14/0x34) =20 > >=20 > > Looks like a mismatch in the ECC config. Can you check the ecc > > strength/step_size in both situation (old driver vs new driver)? >=20 > For that, you might want to add traces in marvell_nand_ecc_init() and > marvell_nand_hw_ecc_ctrl_init(). >=20 > > Could you also dump the NDCR register in both cases? >=20 > NDCR register (as well as NDCBx registers) will appear if you let >=20 > #define DEBUG >=20 > at the beginning of the driver. >=20 > Also, can you please give us the entire dmesg (I mean the boot, not > the flow of UBIFS errors of course). >=20 > If this, in conjunction with your check of the ECC configuration, does > not give satisfying results, I will write a test script using > nandwrite/nanddump/flash_erase. Something else: Do you use platform data or device tree? Can you show where the board information are? I guess you tried to compile from the top of the branch, could you try right after the addition of marvell_nand.c, bypassing the pdata/DT changes. Thanks, Miqu=C3=A8l >=20 > Thank you, > Miqu=C3=A8l >=20 >=20 > >=20 > > Thanks, > >=20 > > Boris >=20 >=20 >=20 --=20 Miquel Raynal, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com