OSDN Git Service

mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
authorJagdish Gediya <jagdish.gediya@nxp.com>
Thu, 23 Nov 2017 11:34:31 +0000 (17:04 +0530)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Thu, 30 Nov 2017 21:32:49 +0000 (22:32 +0100)
Bufnum mask is used to calculate page position in the internal SRAM.

As IFC version 2.0.0 has 16KB of internal SRAM as compared to older
versions which had 8KB. Hence bufnum mask needs to be updated.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/fsl_ifc_nand.c

index 9e03bac..bbdd68a 100644 (file)
@@ -916,6 +916,13 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
        if (ctrl->version >= FSL_IFC_VERSION_1_1_0)
                fsl_ifc_sram_init(priv);
 
+       /*
+        * As IFC version 2.0.0 has 16KB of internal SRAM as compared to older
+        * versions which had 8KB. Hence bufnum mask needs to be updated.
+        */
+       if (ctrl->version >= FSL_IFC_VERSION_2_0_0)
+               priv->bufnum_mask = (priv->bufnum_mask * 2) + 1;
+
        return 0;
 }