* Re: [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
2014-09-01 2:20 [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation bpqw
@ 2014-09-01 2:47 ` Jingoo Han
2014-09-01 8:00 ` Christian Riesch
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Jingoo Han @ 2014-09-01 2:47 UTC (permalink / raw)
To: 'bpqw'
Cc: 'David Woodhouse', 'Jingoo Han', linux-kernel,
'Paul Gortmaker', linux-mtd, 'Brian Norris',
'Christian Riesch'
On Monday, September 01, 2014 11:21 AM, Bean Huo wrote:
>
> For Micron M29EW,20ms delay is needed after erase operation.
You already added the reason to cfi_fixup_m29ew_delay_after_erase().
However, please add the comment to this commit message.
>
> Signed-off-by: BeanHuo <bpqw@micron.com>
BeanHuo/Bean Huo
Others look good.
Best regards,
Jingoo Han
> ---
> drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
> index 5a4bfe3..9b0de91 100644
> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi)
> cfi_udelay(500);
> }
>
> +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi)
> +{
> + /*
> + * Resolving the Delay After ERASE Issue @low temperature.
> + * 20ms delay is needed after erase operation.
> + */
> + if (is_m29ew(cfi))
> + cfi_udelay(20000);
> +}
> +
> struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) {
> struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram
> do_erase_oneblock(struct map_info *map, struct flchip *chip,
> ret = -EIO;
> }
>
> + cfi_fixup_m29ew_delay_after_erase(cfi);
> chip->state = FL_READY;
> DISABLE_VPP(map);
> put_chip(map, chip, adr);
> --
> 1.7.9.5
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
2014-09-01 2:20 [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation bpqw
2014-09-01 2:47 ` Jingoo Han
@ 2014-09-01 8:00 ` Christian Riesch
2014-09-01 8:04 ` Christian Riesch
2014-09-01 8:05 ` Christian Riesch
3 siblings, 0 replies; 5+ messages in thread
From: Christian Riesch @ 2014-09-01 8:00 UTC (permalink / raw)
To: bpqw
Cc: Jingoo Han, linux-kernel@vger.kernel.org, Paul Gortmaker,
linux-mtd@lists.infradead.org, Brian Norris, David Woodhouse
Hi,
On Mon, Sep 1, 2014 at 4:20 AM, bpqw <bpqw@micron.com> wrote:
> For Micron M29EW,20ms delay is needed after erase operation.
Is there a datasheet/application note/technical note from Micron
describing this issue? Like the TN-13-07 for the other M29EW fixes?
Are all M29EW types affected?
Thanks,
Christian
>
> Signed-off-by: BeanHuo <bpqw@micron.com>
> ---
> drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
> index 5a4bfe3..9b0de91 100644
> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi)
> cfi_udelay(500);
> }
>
> +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi)
> +{
> + /*
> + * Resolving the Delay After ERASE Issue @low temperature.
> + * 20ms delay is needed after erase operation.
> + */
> + if (is_m29ew(cfi))
> + cfi_udelay(20000);
> +}
> +
> struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) {
> struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
> ret = -EIO;
> }
>
> + cfi_fixup_m29ew_delay_after_erase(cfi);
> chip->state = FL_READY;
> DISABLE_VPP(map);
> put_chip(map, chip, adr);
> --
> 1.7.9.5
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
2014-09-01 2:20 [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation bpqw
2014-09-01 2:47 ` Jingoo Han
2014-09-01 8:00 ` Christian Riesch
@ 2014-09-01 8:04 ` Christian Riesch
2014-09-01 8:05 ` Christian Riesch
3 siblings, 0 replies; 5+ messages in thread
From: Christian Riesch @ 2014-09-01 8:04 UTC (permalink / raw)
To: bpqw
Cc: Jingoo Han, linux-kernel@vger.kernel.org, Paul Gortmaker,
linux-mtd@lists.infradead.org, Brian Norris, David Woodhouse
On Mon, Sep 1, 2014 at 4:20 AM, bpqw <bpqw@micron.com> wrote:
> For Micron M29EW,20ms delay is needed after erase operation.
>
> Signed-off-by: BeanHuo <bpqw@micron.com>
> ---
> drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
> index 5a4bfe3..9b0de91 100644
> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi)
> cfi_udelay(500);
> }
>
> +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi)
> +{
> + /*
> + * Resolving the Delay After ERASE Issue @low temperature.
> + * 20ms delay is needed after erase operation.
> + */
> + if (is_m29ew(cfi))
> + cfi_udelay(20000);
> +}
> +
> struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) {
> struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
> ret = -EIO;
> }
>
> + cfi_fixup_m29ew_delay_after_erase(cfi);
> chip->state = FL_READY;
> DISABLE_VPP(map);
> put_chip(map, chip, adr);
> --
> 1.7.9.5
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
2014-09-01 2:20 [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation bpqw
` (2 preceding siblings ...)
2014-09-01 8:04 ` Christian Riesch
@ 2014-09-01 8:05 ` Christian Riesch
3 siblings, 0 replies; 5+ messages in thread
From: Christian Riesch @ 2014-09-01 8:05 UTC (permalink / raw)
To: bpqw
Cc: Jingoo Han, linux-kernel@vger.kernel.org, Paul Gortmaker,
linux-mtd@lists.infradead.org, Brian Norris, David Woodhouse
On Mon, Sep 1, 2014 at 4:20 AM, bpqw <bpqw@micron.com> wrote:
> For Micron M29EW,20ms delay is needed after erase operation.
>
> Signed-off-by: BeanHuo <bpqw@micron.com>
> ---
> drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
> index 5a4bfe3..9b0de91 100644
> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi)
> cfi_udelay(500);
> }
>
> +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi)
> +{
> + /*
> + * Resolving the Delay After ERASE Issue @low temperature.
> + * 20ms delay is needed after erase operation.
> + */
> + if (is_m29ew(cfi))
> + cfi_udelay(20000);
> +}
> +
> struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) {
> struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
Missing line break? The patch does not apply.
Christian
> ret = -EIO;
> }
>
> + cfi_fixup_m29ew_delay_after_erase(cfi);
> chip->state = FL_READY;
> DISABLE_VPP(map);
> put_chip(map, chip, adr);
> --
> 1.7.9.5
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 5+ messages in thread