commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=15d775ead41e52ea016140204298862db32855a9
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk

IEEE1588 timestamp need to set MAC_FRAME_FILTER register else ptp test will
fail to sync time.

Signed-off-by: Bob Liu <[email protected]>
---
 drivers/net/ethernet/stmicro/stmmac/dwmac100.h     |    1 +
 .../net/ethernet/stmicro/stmmac/dwmac100_core.c    |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac100.h b/drivers/net/ethernet/stmicro/stmmac/dwmac100.h
index 805e610..9709b7e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac100.h
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac100.h
@@ -112,6 +112,7 @@
 #define DMA_BUS_MODE_SFT_RESET	0x00000001	/* Software Reset */
 #ifdef CONFIG_STMMAC_IEEE1588
 #define DMA_BUS_MODE_DEFAULT 0x00000080
+#define MAC_FRAME_FILTER_INIT 0x80000015
 #else
 #define DMA_BUS_MODE_DEFAULT 0x00000000
 #endif
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c
index 4f97b2f..487cff9 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c
@@ -35,6 +35,9 @@
 static void dwmac100_core_init(void __iomem *ioaddr)
 {
 	u32 value = readl(ioaddr + MAC_CONTROL);
+#ifdef CONFIG_STMMAC_IEEE1588
+	writel(MAC_FRAME_FILTER_INIT, ioaddr + MAC_FRAME_FILTER);
+#endif
 	writel((value | MAC_CORE_INIT), ioaddr + MAC_CONTROL);
 
 #ifdef STMMAC_VLAN_TAG_USED
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to