Page MenuHomeFreeBSD

D9301.id24337.diff
No OneTemporary

D9301.id24337.diff

Index: sys/dev/rt/if_rt.c
===================================================================
--- sys/dev/rt/if_rt.c
+++ sys/dev/rt/if_rt.c
@@ -33,6 +33,9 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_platform.h"
+#include "opt_rt305x.h"
+
#include "if_rtvar.h"
#include "if_rtreg.h"
@@ -58,9 +61,6 @@
#include <sys/bus.h>
#include <sys/rman.h>
-#include "opt_platform.h"
-#include "opt_rt305x.h"
-
#ifdef FDT
#include <dev/ofw/openfirm.h>
#include <dev/ofw/ofw_bus.h>
@@ -402,6 +402,12 @@
device_printf(dev, "%cT%x Ethernet MAC (rev 0x%08x)\n",
sc->rt_chipid >= 0x7600 ? 'M' : 'R',
sc->rt_chipid, sc->mac_rev);
+ if (sc->rt_chipid == RT_CHIPID_MT7620) {
+ /* GDMA1 Frames Destination Port set to Port 0 CPU */
+ RT_WRITE(sc, GDMA1_BASE + GDMA_FWD_CFG,
+ RT_READ(sc, GDMA1_BASE + GDMA_FWD_CFG)
+ & ~(GDM_XFRC_P_MASK));
+ }
/* RT5350: No GDMA, PSE, CDMA, PPE */
RT_WRITE(sc, GE_PORT_BASE + 0x0C00, // UDPCS, TCPCS, IPCS=1
RT_READ(sc, GE_PORT_BASE + 0x0C00) | (0x7<<16));
Index: sys/dev/rt/if_rtreg.h
===================================================================
--- sys/dev/rt/if_rtreg.h
+++ sys/dev/rt/if_rtreg.h
@@ -105,7 +105,11 @@
#define FOE_TS_TIMESTAMP_MASK 0x0000ffff
#define FOE_TS_TIMESTAMP_SHIFT 0
+#if defined(MT7620)
+#define GDMA1_BASE 0x0600
+#else
#define GDMA1_BASE 0x0020
+#endif
#define GDMA2_BASE 0x0060
#define CDMA_BASE 0x0080

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 10, 2:28 AM (16 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31190817
Default Alt Text
D9301.id24337.diff (1 KB)

Event Timeline