[PATCH 2/2] mtd/nand: Fix IFC driver to support 2K NAND page
Scott Wood
scottwood at freescale.com
Tue Jan 3 14:49:51 EST 2012
On 12/28/2011 10:59 PM, Prabhakar Kushwaha wrote:
> 1) OOB area should be updated irrespective of NAND page size. Earlier it was
> updated only for 512byte NAND page.
>
> 2) During OOB update fbcr should be equal to OOB size.
>
> Signed-off-by: Poonam Aggrwal <poonam.aggrwal at freescale.com>
> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
> ---
> git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git (branch next)
The IFC driver hasn't been merged into that tree that I can see.
> Tested on P1010RDB
>
> drivers/mtd/nand/fsl_ifc_nand.c | 20 ++++++++------------
> 1 files changed, 8 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
> index 2df7206..2c02168 100644
> --- a/drivers/mtd/nand/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/fsl_ifc_nand.c
> @@ -439,20 +439,16 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
> out_be32(&ifc->ifc_nand.nand_fir1,
> (IFC_FIR_OP_CW1 << IFC_NAND_FIR1_OP5_SHIFT));
>
> - if (column >= mtd->writesize) {
> - /* OOB area --> READOOB */
> - column -= mtd->writesize;
> - nand_fcr0 |= NAND_CMD_READOOB <<
> - IFC_NAND_FCR0_CMD0_SHIFT;
> - ifc_nand_ctrl->oob = 1;
> - } else if (column < 256)
> + if (column < 256)
> /* First 256 bytes --> READ0 */
> nand_fcr0 |=
> NAND_CMD_READ0 << IFC_NAND_FCR0_CMD0_SHIFT;
> - else
> - /* Second 256 bytes --> READ1 */
> - nand_fcr0 |=
> - NAND_CMD_READ1 << IFC_NAND_FCR0_CMD0_SHIFT;
> + }
> +
> + if (column >= mtd->writesize) {
> + /* OOB area --> READOOB */
> + column -= mtd->writesize;
> + ifc_nand_ctrl->oob = 1;
> }
Where is NAND_CMD_READOOB going to be set in the small-page case?
The small-page code should read something like:
if (column >= mtd->writesize) {
nand_fcr0 |=
NAND_CMD_READOOB << IFC_NAND_FCR0_CMD0_SHIFT;
} else {
nand_fcr0 |=
NAND_CMD_READ0 << IFC_NAND_FCR0_CMD0_SHIFT;
}
It looks like we can get rid of ctrl->column, BTW.
-Scott
More information about the linux-mtd
mailing list