diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0300-staging-fsl_ppfe-eth-use-mask-for-rx-max-frame-len.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0300-staging-fsl_ppfe-eth-use-mask-for-rx-max-frame-len.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0300-staging-fsl_ppfe-eth-use-mask-for-rx-max-frame-len.patch b/target/linux/layerscape/patches-5.4/701-net-0300-staging-fsl_ppfe-eth-use-mask-for-rx-max-frame-len.patch new file mode 100644 index 0000000000..457bc6882a --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0300-staging-fsl_ppfe-eth-use-mask-for-rx-max-frame-len.patch @@ -0,0 +1,46 @@ +From f5be11cd83a6d6d4de7bd7cbeb641bb1032c4f84 Mon Sep 17 00:00:00 2001 +From: Calvin Johnson <calvin.johnson@nxp.com> +Date: Wed, 20 Jun 2018 10:22:50 +0530 +Subject: [PATCH] staging: fsl_ppfe/eth: use mask for rx max frame len + +Define and use PFE_RCR_MAX_FL_MASK to properly set Rx max frame +length of MAC Receive Control Register. + +Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com> +--- + drivers/staging/fsl_ppfe/pfe_hal.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +--- a/drivers/staging/fsl_ppfe/pfe_hal.c ++++ b/drivers/staging/fsl_ppfe/pfe_hal.c +@@ -19,6 +19,8 @@ + #include "pfe_mod.h" + #include "pfe/pfe.h" + ++#define PFE_RCR_MAX_FL_MASK 0xC000FFFF ++ + void *cbus_base_addr; + void *ddr_base_addr; + unsigned long ddr_phys_base_addr; +@@ -1011,8 +1013,8 @@ void gemac_no_broadcast(void *base) + void gemac_enable_1536_rx(void *base) + { + /* Set 1536 as Maximum frame length */ +- writel(readl(base + EMAC_RCNTRL_REG) | (1536 << 16), base + +- EMAC_RCNTRL_REG); ++ writel((readl(base + EMAC_RCNTRL_REG) & PFE_RCR_MAX_FL_MASK) ++ | (1536 << 16), base + EMAC_RCNTRL_REG); + } + + /* GEMAC enable jumbo function. +@@ -1020,8 +1022,8 @@ void gemac_enable_1536_rx(void *base) + */ + void gemac_enable_rx_jmb(void *base) + { +- writel(readl(base + EMAC_RCNTRL_REG) | (JUMBO_FRAME_SIZE << 16), base +- + EMAC_RCNTRL_REG); ++ writel((readl(base + EMAC_RCNTRL_REG) & PFE_RCR_MAX_FL_MASK) ++ | (JUMBO_FRAME_SIZE << 16), base + EMAC_RCNTRL_REG); + } + + /* GEMAC enable stacked vlan function. |