Patchwork [2/2,MTD] MLC device check in OneNAND driver

login
register
mail settings
Submitter Rohit Hassan Sathyanarayan
Date Sept. 14, 2010, 8:06 a.m.
Message ID <000101cb53e3$b15d6280$14182780$%hs@samsung.com>
Download mbox | patch
Permalink /patch/64677/
State New
Headers show

Comments

Rohit Hassan Sathyanarayan - Sept. 14, 2010, 8:06 a.m.
Hi Artem,

        Adding MLC device check Macro.


Signed-off-by: Rohit HS <rohit.hs@samsung.com>
---
 include/mtd/mtd-abi.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

---



Regards,
Rohit.H.S
Artem Bityutskiy - Sept. 20, 2010, 1:18 p.m.
On Tue, 2010-09-14 at 13:36 +0530, Rohit Hassan Sathyanarayan wrote:
> Signed-off-by: Rohit HS <rohit.hs@samsung.com>
> ---
>  include/mtd/mtd-abi.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
> index 4debb45..6c6465d 100644
> --- a/include/mtd/mtd-abi.h
> +++ b/include/mtd/mtd-abi.h
> @@ -57,12 +57,14 @@ struct mtd_oob_buf64 {
>  #define MTD_BIT_WRITEABLE	0x800	/* Single bits can be flipped */
>  #define MTD_NO_ERASE		0x1000	/* No erase necessary */
>  #define MTD_POWERUP_LOCK	0x2000	/* Always locked after reset */
> +#define MTD_WRITABLE_ONCE	0x4000

MTD_WRITABLE_ONCE is bad name.

>  
>  // Some common devices / combinations of capabilities
>  #define MTD_CAP_ROM		0
>  #define MTD_CAP_RAM		(MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
>  #define MTD_CAP_NORFLASH	(MTD_WRITEABLE | MTD_BIT_WRITEABLE)
>  #define MTD_CAP_NANDFLASH	(MTD_WRITEABLE)
> +#define MTD_CAP_MLCNANDFLASH	(MTD_WRITEABLE | MTD_WRITABLE_ONCE)

MLC is not really a capability.

I think MLC flash is so much different to the old good SLC flashes, that
I'd just treat it as another flash type. I'd introduce MTD_MLCNANDFLASH
for it, similar to MTD_NANDFLASH.

What do you think?
Rohit Hassan Sathyanarayan - Sept. 23, 2010, 11:56 a.m.
Hi Artem,

> -----Original Message-----
> From: Artem Bityutskiy [mailto:dedekind1@gmail.com]
> Sent: Monday, September 20, 2010 6:48 PM
> To: Rohit Hassan Sathyanarayan
> Cc: v.dalal@samsung.com; linux-mtd@lists.infradead.org
> Subject: Re: [PATCH 2/2][MTD]MLC device check in OneNAND driver
> 
> On Tue, 2010-09-14 at 13:36 +0530, Rohit Hassan Sathyanarayan wrote:
> > Signed-off-by: Rohit HS <rohit.hs@samsung.com>
> > ---
> >  include/mtd/mtd-abi.h |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
> > index 4debb45..6c6465d 100644
> > --- a/include/mtd/mtd-abi.h
> > +++ b/include/mtd/mtd-abi.h
> > @@ -57,12 +57,14 @@ struct mtd_oob_buf64 {
> >  #define MTD_BIT_WRITEABLE	0x800	/* Single bits can be flipped */
> >  #define MTD_NO_ERASE		0x1000	/* No erase necessary */
> >  #define MTD_POWERUP_LOCK	0x2000	/* Always locked after reset */
> > +#define MTD_WRITABLE_ONCE	0x4000
> 
> MTD_WRITABLE_ONCE is bad name.
> 
  Removed
> >
> >  // Some common devices / combinations of capabilities
> >  #define MTD_CAP_ROM		0
> >  #define MTD_CAP_RAM		(MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
> >  #define MTD_CAP_NORFLASH	(MTD_WRITEABLE | MTD_BIT_WRITEABLE)
> >  #define MTD_CAP_NANDFLASH	(MTD_WRITEABLE)
> > +#define MTD_CAP_MLCNANDFLASH	(MTD_WRITEABLE | MTD_WRITABLE_ONCE)
> 
> MLC is not really a capability.
> 
> I think MLC flash is so much different to the old good SLC flashes, that
> I'd just treat it as another flash type. I'd introduce MTD_MLCNANDFLASH
> for it, similar to MTD_NANDFLASH.
> 
> What do you think?
> 
  Yes, MLC flash has different cell structure.
  Added MTD_MLCNANDFLASH flash type.    
> --
> Best Regards,
> Artem Bityutskiy (Артём Битюцкий)

Sending changes as per your suggestion.
Regards,
Rohit.H.S

Patch

diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
index 4debb45..6c6465d 100644
--- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h
@@ -57,12 +57,14 @@  struct mtd_oob_buf64 {
 #define MTD_BIT_WRITEABLE	0x800	/* Single bits can be flipped */
 #define MTD_NO_ERASE		0x1000	/* No erase necessary */
 #define MTD_POWERUP_LOCK	0x2000	/* Always locked after reset */
+#define MTD_WRITABLE_ONCE	0x4000
 
 // Some common devices / combinations of capabilities
 #define MTD_CAP_ROM		0
 #define MTD_CAP_RAM		(MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
 #define MTD_CAP_NORFLASH	(MTD_WRITEABLE | MTD_BIT_WRITEABLE)
 #define MTD_CAP_NANDFLASH	(MTD_WRITEABLE)
+#define MTD_CAP_MLCNANDFLASH	(MTD_WRITEABLE | MTD_WRITABLE_ONCE)
 
 /* ECC byte placement */
 #define MTD_NANDECC_OFF		0	// Switch off ECC (Not recommended)