All of lore.kernel.org
 help / color / mirror / Atom feed
From: Huang Shijie <b32955@freescale.com>
To: Marek Vasut <marex@denx.de>
Cc: "fabio.estevam@freescale.com" <fabio.estevam@freescale.com>,
	Huang Shijie <shijie8@gmail.com>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>,
	Hector Palacios <hector.palacios@digi.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	"scottwood@freescale.com" <scottwood@freescale.com>,
	Fabio Estevam <festevam@gmail.com>
Subject: Re: gpmi-nand driver and jffs2 support
Date: Mon, 16 Sep 2013 10:35:07 +0800	[thread overview]
Message-ID: <52366E5B.1010508@freescale.com> (raw)
In-Reply-To: <201309151618.52045.marex@denx.de>

于 2013年09月15日 22:18, Marek Vasut 写道:
> Dear Huang Shijie,
>
>> 于 2013年09月04日 23:46, Hector Palacios 写道:
>>> Dear Marek,
>>>
>>> On 09/04/2013 04:38 PM, Marek Vasut wrote:
>>>> Dear Huang Shijie,
>>>>
>>>>> On Wed, Sep 04, 2013 at 04:00:36PM +0200, Marek Vasut wrote:
>>>>>> Dear Huang Shijie,
>>>>>> How come hector was then able to write his JFFS2 partition ?
>>>>> If he uses the gpmi, he should not write the JFFS2, since the gpmi
>>>>> does not support the jffs2. He will get the failure in the end.
>>>> Hector, can you comment on this?
>>> I don't think I'm following these comments. The facts are:
>>> 1) A JFFS2 filesystem image written with nandwrite (mtd-utils v1.5.0)
>>> a) does not mount on kernel v3.10
>>> b) mounts OK on linux-next kernel (v3.12) with the patchset [1] from
>>> Huang
>>> (actually I didn't use linux-next but instead a v3.10 where I merged
>>> all the commits done to MTD in linux-next, which are a lot).
>>>
>>> 2) A JFFS2 filesystem image written with U-Boot v2013.01
>>> a) mounts OK on old FSL kernel 2.6.35
>>> b) does not mount on kernel v3.10 (neither on v3.8, I believe).
>>> c) does not mount on linux-next with the patchset [1]
>> The gpmi driver in FSL kernel 2.6.35 is different from the linux-next or
>> linux v3.10.
>>
>> We have abandoned the old gpmi driver, and we use the same gpmi code in
>> current FSL kernel.
>>
>> Since we swtich to the upstream gpmi code, and it could not support the
>> jffs2,
>>
>> and that's why you mount always failed.
> With the patchset, mounting the jffs should work again, no? If mounting the jffs
If the jffs2 image is written by the uboot, the mounting should not works.


> works with the patchset AND it only works with jffs written using the new
> driver, you will need to introduce soem compatibility option or something along
> that.
do you mean i should a new dt property for the jffs2 support ?
>>> [1]
>>> http://lists.infradead.org/pipermail/linux-mtd/2013-August/048360.html
>>>
>>> Marek, could you please confirm 2b on your side, just in case I'm
>>> doing anything wrong in my custom U-Boot?
>>>
>>>>>>> So the jffs2 support is compatiable all the time.
>>>>>> Is the old Freescale 2.6.35 GPMI NAND format compatible with the one
>>>>>> after applying this patchset?
>>>>> Not compatible.
>>>>>
>>>>> This patch set is still underreview.
>>>> So this patch breaks compatiblity with FSL kernel release? This needs
>>>> fixing,
>>>> otherwise it's impossible to do a drop-in replacement for the ancient
>>>> FSL
>>>> kernel.
>>>>
>>>>>>>> that I could mount with Linux 3.7 and earlier?
>>>>>>> I think the mount can be succeeded.
>>>>>> Ok, does that mean that we need this patchset in U-Boot in order to
>>>>>> properly write JFFS2 onto GPMI NAND there? Is that the message you
>>>>>> wanted to relay to us?
>>>>> Besides this patchset, the u-boot needs more patches to sync with the
>>>>> kernel mtd code. Such as the full-id features.
>>>> Can you elaborate on this more? This is very vague, I would like to
>>>> know what
>>>> exactly is missing.
>> 92a2645 mtd: add 4 Toshiba nand chips for the full-id case
>> ec6e87e mtd: add the support to parse out the full-id nand type
> Do these really have any impact?
>
yes. the full-id nand is not supported by the old mtd code.
>> f22d5f6 mtd: add new fields to nand_flash_dev{}
>> 2febcdf mtd: gpmi: set the BCH's geometry with the ecc info
>> d1048aa mtd: add the ecc info for some full-id nand chips
>> 5721934 mtd: parse out the ECC info for the full-id nand chips
>> 2dc0bdd mtd: add ECC info for nand_flash_dev{}
>> e2985fc mtd: replace the hardcode with the onfi_feature()
>> 6dcbe0c mtd: get the ECC info from the Extended Parameter Page
>> 5b40db6 mtd: add a helper to get the supported features for ONFI nand
>> 5138a98 mtd: add data structures for Extended Parameter Page
>> 10c86ba mtd: get the ECC info from the parameter page for ONFI nand
>> 4cfeca2 mtd: add datasheet's ECC information to nand_chip{}
> Hector, can you inspect those patches ?
>
>>> Yes, please, we need more details. This seems to be related with how
>>> the MTD drivers (in Linux and in U-Boot) access the OOB area to store
>>> the JFFS2 cleanmarkers, right?
>>>
>>> The error I'm receiving from the kernel is at fs/jffs2/wbuf.c
>>>
>>> if (!oinfo || oinfo->oobavail == 0) {
>>> pr_err("inconsistent device description\n");
>>> return -EINVAL;
>>> }
>> Before apply the patches above, the gpmi will use all the oob, so
>> "oinfo->oobavail == 0" becomes true.
>>
>> After apply the patches, the gpmi will not use all the oob for the ONFI
>> SLC nand or the full-id nand,
>> and it can supports the jffs2 when you apply the other SLC/MLC patchset.
> So the patches you listed above are not enough?

It should be enough.

thanks
Huang Shijie

WARNING: multiple messages have this Message-ID (diff)
From: Huang Shijie <b32955@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] gpmi-nand driver and jffs2 support
Date: Mon, 16 Sep 2013 10:35:07 +0800	[thread overview]
Message-ID: <52366E5B.1010508@freescale.com> (raw)
In-Reply-To: <201309151618.52045.marex@denx.de>

? 2013?09?15? 22:18, Marek Vasut ??:
> Dear Huang Shijie,
>
>> ? 2013?09?04? 23:46, Hector Palacios ??:
>>> Dear Marek,
>>>
>>> On 09/04/2013 04:38 PM, Marek Vasut wrote:
>>>> Dear Huang Shijie,
>>>>
>>>>> On Wed, Sep 04, 2013 at 04:00:36PM +0200, Marek Vasut wrote:
>>>>>> Dear Huang Shijie,
>>>>>> How come hector was then able to write his JFFS2 partition ?
>>>>> If he uses the gpmi, he should not write the JFFS2, since the gpmi
>>>>> does not support the jffs2. He will get the failure in the end.
>>>> Hector, can you comment on this?
>>> I don't think I'm following these comments. The facts are:
>>> 1) A JFFS2 filesystem image written with nandwrite (mtd-utils v1.5.0)
>>> a) does not mount on kernel v3.10
>>> b) mounts OK on linux-next kernel (v3.12) with the patchset [1] from
>>> Huang
>>> (actually I didn't use linux-next but instead a v3.10 where I merged
>>> all the commits done to MTD in linux-next, which are a lot).
>>>
>>> 2) A JFFS2 filesystem image written with U-Boot v2013.01
>>> a) mounts OK on old FSL kernel 2.6.35
>>> b) does not mount on kernel v3.10 (neither on v3.8, I believe).
>>> c) does not mount on linux-next with the patchset [1]
>> The gpmi driver in FSL kernel 2.6.35 is different from the linux-next or
>> linux v3.10.
>>
>> We have abandoned the old gpmi driver, and we use the same gpmi code in
>> current FSL kernel.
>>
>> Since we swtich to the upstream gpmi code, and it could not support the
>> jffs2,
>>
>> and that's why you mount always failed.
> With the patchset, mounting the jffs should work again, no? If mounting the jffs
If the jffs2 image is written by the uboot, the mounting should not works.


> works with the patchset AND it only works with jffs written using the new
> driver, you will need to introduce soem compatibility option or something along
> that.
do you mean i should a new dt property for the jffs2 support ?
>>> [1]
>>> http://lists.infradead.org/pipermail/linux-mtd/2013-August/048360.html
>>>
>>> Marek, could you please confirm 2b on your side, just in case I'm
>>> doing anything wrong in my custom U-Boot?
>>>
>>>>>>> So the jffs2 support is compatiable all the time.
>>>>>> Is the old Freescale 2.6.35 GPMI NAND format compatible with the one
>>>>>> after applying this patchset?
>>>>> Not compatible.
>>>>>
>>>>> This patch set is still underreview.
>>>> So this patch breaks compatiblity with FSL kernel release? This needs
>>>> fixing,
>>>> otherwise it's impossible to do a drop-in replacement for the ancient
>>>> FSL
>>>> kernel.
>>>>
>>>>>>>> that I could mount with Linux 3.7 and earlier?
>>>>>>> I think the mount can be succeeded.
>>>>>> Ok, does that mean that we need this patchset in U-Boot in order to
>>>>>> properly write JFFS2 onto GPMI NAND there? Is that the message you
>>>>>> wanted to relay to us?
>>>>> Besides this patchset, the u-boot needs more patches to sync with the
>>>>> kernel mtd code. Such as the full-id features.
>>>> Can you elaborate on this more? This is very vague, I would like to
>>>> know what
>>>> exactly is missing.
>> 92a2645 mtd: add 4 Toshiba nand chips for the full-id case
>> ec6e87e mtd: add the support to parse out the full-id nand type
> Do these really have any impact?
>
yes. the full-id nand is not supported by the old mtd code.
>> f22d5f6 mtd: add new fields to nand_flash_dev{}
>> 2febcdf mtd: gpmi: set the BCH's geometry with the ecc info
>> d1048aa mtd: add the ecc info for some full-id nand chips
>> 5721934 mtd: parse out the ECC info for the full-id nand chips
>> 2dc0bdd mtd: add ECC info for nand_flash_dev{}
>> e2985fc mtd: replace the hardcode with the onfi_feature()
>> 6dcbe0c mtd: get the ECC info from the Extended Parameter Page
>> 5b40db6 mtd: add a helper to get the supported features for ONFI nand
>> 5138a98 mtd: add data structures for Extended Parameter Page
>> 10c86ba mtd: get the ECC info from the parameter page for ONFI nand
>> 4cfeca2 mtd: add datasheet's ECC information to nand_chip{}
> Hector, can you inspect those patches ?
>
>>> Yes, please, we need more details. This seems to be related with how
>>> the MTD drivers (in Linux and in U-Boot) access the OOB area to store
>>> the JFFS2 cleanmarkers, right?
>>>
>>> The error I'm receiving from the kernel is at fs/jffs2/wbuf.c
>>>
>>> if (!oinfo || oinfo->oobavail == 0) {
>>> pr_err("inconsistent device description\n");
>>> return -EINVAL;
>>> }
>> Before apply the patches above, the gpmi will use all the oob, so
>> "oinfo->oobavail == 0" becomes true.
>>
>> After apply the patches, the gpmi will not use all the oob for the ONFI
>> SLC nand or the full-id nand,
>> and it can supports the jffs2 when you apply the other SLC/MLC patchset.
> So the patches you listed above are not enough?

It should be enough.

thanks
Huang Shijie

  reply	other threads:[~2013-09-16  2:34 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-30  9:15 gpmi-nand driver and jffs2 support Hector Palacios
2013-08-30  9:55 ` Huang Shijie
2013-08-30 14:24   ` Hector Palacios
2013-08-31  2:53     ` Huang Shijie
2013-08-30 15:23       ` Hector Palacios
2013-08-31  3:34         ` Huang Shijie
2013-08-30 16:31           ` Hector Palacios
2013-08-30 16:37             ` Fabio Estevam
2013-08-30 16:41               ` Hector Palacios
2013-08-31 13:37                 ` Huang Shijie
2013-09-02  8:12                   ` Hector Palacios
2013-09-02  8:24                     ` Huang Shijie
2013-09-02  8:42                       ` Hector Palacios
2013-09-02  8:50                         ` Huang Shijie
2013-09-02 10:10                           ` Hector Palacios
2013-09-02 10:10                             ` [U-Boot] " Hector Palacios
2013-09-02 10:23                             ` Huang Shijie
2013-09-02 10:23                               ` [U-Boot] " Huang Shijie
2013-09-02 11:32                               ` Marek Vasut
2013-09-02 11:32                                 ` [U-Boot] " Marek Vasut
2013-09-03  2:06                                 ` Huang Shijie
2013-09-03  2:06                                   ` [U-Boot] " Huang Shijie
2013-09-03 11:53                                   ` Marek Vasut
2013-09-03 11:53                                     ` [U-Boot] " Marek Vasut
2013-09-04  2:26                                     ` Huang Shijie
2013-09-04  2:26                                       ` [U-Boot] " Huang Shijie
2013-09-04 14:00                                       ` Marek Vasut
2013-09-04 14:00                                         ` [U-Boot] " Marek Vasut
2013-09-05  2:41                                         ` Huang Shijie
2013-09-05  2:41                                           ` [U-Boot] " Huang Shijie
2013-09-04 14:38                                           ` Marek Vasut
2013-09-04 14:38                                             ` [U-Boot] " Marek Vasut
2013-09-04 15:46                                             ` Hector Palacios
2013-09-04 15:46                                               ` [U-Boot] " Hector Palacios
2013-09-05  6:01                                               ` Huang Shijie
2013-09-05  6:01                                                 ` [U-Boot] " Huang Shijie
2013-09-15 14:18                                                 ` Marek Vasut
2013-09-15 14:18                                                   ` [U-Boot] " Marek Vasut
2013-09-16  2:35                                                   ` Huang Shijie [this message]
2013-09-16  2:35                                                     ` Huang Shijie
2013-09-19 16:07                                                     ` Marek Vasut
2013-09-19 16:07                                                       ` [U-Boot] " Marek Vasut
2013-09-19 16:13                                                       ` Hector Palacios
2013-09-19 16:13                                                         ` [U-Boot] " Hector Palacios
2013-09-19 16:14                                                       ` Hector Palacios
2013-09-19 16:14                                                         ` [U-Boot] " Hector Palacios
2013-09-19 16:16                                                         ` Marek Vasut
2013-09-19 16:16                                                           ` [U-Boot] " Marek Vasut
2013-09-19 17:20                                                         ` Marek Vasut
2013-09-19 17:20                                                           ` [U-Boot] " Marek Vasut
2013-09-15 14:12                                               ` Marek Vasut
2013-09-15 14:12                                                 ` [U-Boot] " Marek Vasut
2013-08-31 17:51                 ` Huang Shijie
2013-09-24  9:50 ` Marek Vasut
2013-09-24 10:46   ` Huang Shijie
2013-09-24 12:53     ` Marek Vasut
2013-09-25  9:08       ` Huang Shijie
2013-09-29 22:52         ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52366E5B.1010508@freescale.com \
    --to=b32955@freescale.com \
    --cc=fabio.estevam@freescale.com \
    --cc=festevam@gmail.com \
    --cc=hector.palacios@digi.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marex@denx.de \
    --cc=scottwood@freescale.com \
    --cc=shijie8@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.