summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJagdish Gediya <jagdish.gediya@nxp.com>2017-11-23 17:04:31 +0530
committerBoris Brezillon <boris.brezillon@free-electrons.com>2017-11-30 22:32:49 +0100
commitbccb06c353af3764ca86d9da47652458e6c2eb41 (patch)
tree3c2044bdfef77d5f23937699cd28fa50e5ec92ba
parentd822401d1c6898a4a4ee03977b78b8cec402e88a (diff)
downloadlinux-bccb06c353af3764ca86d9da47652458e6c2eb41.tar.gz
mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
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>
-rw-r--r--drivers/mtd/nand/fsl_ifc_nand.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
index 9e03bac7f34c..bbdd68a54d68 100644
--- a/drivers/mtd/nand/fsl_ifc_nand.c
+++ b/drivers/mtd/nand/fsl_ifc_nand.c
@@ -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;
}