You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
Diff
47 lines
1.5 KiB
Diff
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.
|