RE: [PATCH] mtd: nand: disable subpage reads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Sascha Hauer [mailto:s.hauer@xxxxxxxxxxxxxx]
> Sent: Monday, March 03, 2014 08:50
> To: barebox@xxxxxxxxxxxxxxxxxxx
> Cc: Sascha Hauer; Hattink, Tjalling [FINT]
> Subject: [PATCH] mtd: nand: disable subpage reads
> 
> The default nand_read_subpage implementation returns -ENOSUPP, so we
> have to make sure that barebox never uses this implementation. By
> setting the NAND_SUBPAGE_READ flag to 0x0 we ensure
> NAND_HAS_SUBPAGE_READ() never returns true and also give the compiler
a
> chance to optimize away some unused code.
> 
> subpage reads are a rather exotic feature even in Linux. It is only
> used on largepage NANDs with soft ecc. Even if we have this case it
> needs non page aligned reads to actually profit from this feature.
> 
> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> Cc: Hattink, Tjalling [FINT] <T.Hattink@xxxxxxxx>
> ---
> 
> Hi Tjalling,
> I had a closer look at the subpage read stuff and saw that this is
> really an exotic feature that even if we could support it doesn't help
> very much. So I decided to go back to a variant of your first
> patch: Fix subpage reads by disabling them completely.
> 
> 
>  include/linux/mtd/nand.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index
> 74ea0b4..3c7509f 100644
> --- a/include/linux/mtd/nand.h
> +++ b/include/linux/mtd/nand.h
> @@ -162,7 +162,8 @@ typedef enum {
>  #define NAND_ROM		0x00000800
> 
>  /* Device supports subpage reads */
> -#define NAND_SUBPAGE_READ	0x00001000
> +/* Disabled in barebox for smaller binary sizes */
> +#define NAND_SUBPAGE_READ	(__BAREBOX__ ? 0x0 : 0x00001000)
> 
>  /* Options valid for Samsung large page devices */  #define
> NAND_SAMSUNG_LP_OPTIONS NAND_CACHEPRG
> --
> 1.8.5.3

Hi Sascha,

I don't think it matters much either when subpage read is disabled.
Barebox will not do heavy read operations on the nand so the subpage
support will not do much.

Thanks for resolving this bug,

Tjalling

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux