diff options
author | Mandy Lavi <mandy.lavi@freescale.com> | 2015-04-21 15:15:26 (GMT) |
---|---|---|
committer | Honghua Yin <Hong-Hua.Yin@freescale.com> | 2015-04-23 08:42:03 (GMT) |
commit | 83000f03073890325b1ccc2f73c1b573030e0699 (patch) | |
tree | 9b67c25d24b9a6b7e11f4a6a46e1f52c23891e22 /drivers/net/ethernet | |
parent | ca053ffbbe51e7b40ad569ebb69b52a437282a7d (diff) | |
download | linux-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')
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 */ |