* [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
@ 2014-09-01 2:20 bpqw
2014-09-01 2:47 ` Jingoo Han
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: bpqw @ 2014-09-01 2:20 UTC (permalink / raw)
To: David Woodhouse, Brian Norris
Cc: Paul Gortmaker, Jingoo Han, Christian Riesch,
linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org
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
^ permalink raw reply related [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
` (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
end of thread, other threads:[~2014-09-01 8:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox