summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman
diff options
context:
space:
mode:
authorMandy Lavi <mandy.lavi@freescale.com>2015-04-21 15:15:26 (GMT)
committerHonghua Yin <Hong-Hua.Yin@freescale.com>2015-04-23 08:42:03 (GMT)
commit83000f03073890325b1ccc2f73c1b573030e0699 (patch)
tree9b67c25d24b9a6b7e11f4a6a46e1f52c23891e22 /drivers/net/ethernet/freescale/fman
parentca053ffbbe51e7b40ad569ebb69b52a437282a7d (diff)
downloadlinux-fsl-qoriq-83000f03073890325b1ccc2f73c1b573030e0699.tar.xz
fmd: chage IRAM_SIZE macro to depend on FMan block version
Change-Id: Ia3943df8ebeca664c64782b3eb76f26dafde4fd7 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/35431 Reviewed-by: Liron Himi <Liron.Himi@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman')
-rw-r--r--drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c6
-rw-r--r--drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h2
-rw-r--r--drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h3
-rw-r--r--drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h2
-rw-r--r--drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h2
5 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
index 7225ad6..16dd8aa 100644
--- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
+++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
@@ -397,18 +397,20 @@ static t_Error ClearIRam(t_Fm *p_Fm)
{
t_FMIramRegs *p_Iram;
int i;
+ int iram_size;
ASSERT_COND(p_Fm);
p_Iram = (t_FMIramRegs *)UINT_TO_PTR(p_Fm->baseAddr + FM_MM_IMEM);
+ iram_size = FM_IRAM_SIZE(p_Fm->p_FmStateStruct->revInfo.majorRev,p_Fm->p_FmStateStruct->revInfo.minorRev);
/* Enable the auto-increment */
WRITE_UINT32(p_Iram->iadd, IRAM_IADD_AIE);
while (GET_UINT32(p_Iram->iadd) != IRAM_IADD_AIE) ;
- for (i=0; i < (FM_IRAM_SIZE/4); i++)
+ for (i=0; i < (iram_size/4); i++)
WRITE_UINT32(p_Iram->idata, 0xffffffff);
- WRITE_UINT32(p_Iram->iadd, FM_IRAM_SIZE - 4);
+ WRITE_UINT32(p_Iram->iadd, iram_size - 4);
CORE_MemoryBarrier();
while (GET_UINT32(p_Iram->idata) != 0xffffffff) ;
diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h
index ce6fba1..7dbb9b5 100644
--- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h
+++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h
@@ -213,7 +213,7 @@ typedef enum
/* RAMs defines */
#define FM_MURAM_SIZE (384 * KILOBYTE)
-#define FM_IRAM_SIZE ( 64 * KILOBYTE)
+#define FM_IRAM_SIZE(major, minor) (64 * KILOBYTE)
#define FM_NUM_OF_CTRL 4
/* PCD defines */
diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h
index 13b14b0..ced3629 100644
--- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h
+++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h
@@ -213,7 +213,8 @@ typedef enum
/* RAMs defines */
#define FM_MURAM_SIZE (192 * KILOBYTE)
-#define FM_IRAM_SIZE (32 * KILOBYTE)
+#define FM_IRAM_SIZE(major, minor) \
+ (((major == 6) && ((minor == 4) )) ? (64 * KILOBYTE) : (32 * KILOBYTE))
#define FM_NUM_OF_CTRL 2
/* PCD defines */
diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h
index ce9c7cd..7b5390d 100644
--- a/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h
+++ b/drivers/net/ethernet/freescale/fman/inc/integrations/P1023/dpaa_integration_ext.h
@@ -136,7 +136,7 @@ typedef enum {
/* Rams defines */
#define FM_MURAM_SIZE (64*KILOBYTE)
-#define FM_IRAM_SIZE (32*KILOBYTE)
+#define FM_IRAM_SIZE(major, minor) (32 * KILOBYTE)
#define FM_NUM_OF_CTRL 2
/* PCD defines */
diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h
index f4e5980..6e2b925 100644
--- a/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h
+++ b/drivers/net/ethernet/freescale/fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h
@@ -179,7 +179,7 @@ typedef enum
/* Rams defines */
#define FM_MURAM_SIZE (160*KILOBYTE)
-#define FM_IRAM_SIZE ( 64*KILOBYTE)
+#define FM_IRAM_SIZE(major, minor) (64 * KILOBYTE)
#define FM_NUM_OF_CTRL 2
/* PCD defines */