Module Name: src Committed By: martin Date: Fri Nov 3 08:56:37 UTC 2023
Modified Files: src/share/man/man4 [netbsd-10]: eqos.4 src/sys/arch/amd64/conf [netbsd-10]: GENERIC src/sys/arch/i386/conf [netbsd-10]: GENERIC src/sys/dev/ic [netbsd-10]: dwc_eqos.c dwc_eqos_reg.h dwc_eqos_var.h src/sys/dev/pci [netbsd-10]: files.pci Added Files: src/sys/dev/pci [netbsd-10]: if_eqos_pci.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #446): sys/dev/pci/if_eqos_pci.c: revision 1.3 sys/arch/i386/conf/GENERIC: revision 1.1251 sys/arch/i386/conf/GENERIC: revision 1.1252 sys/arch/amd64/conf/GENERIC: revision 1.607 sys/arch/amd64/conf/GENERIC: revision 1.608 sys/dev/ic/dwc_eqos.c: revision 1.20 sys/dev/ic/dwc_eqos.c: revision 1.21 share/man/man4/eqos.4: revision 1.2 sys/dev/ic/dwc_eqos.c: revision 1.22 sys/dev/ic/dwc_eqos_reg.h: revision 1.7 sys/dev/ic/dwc_eqos.c: revision 1.23 sys/dev/ic/dwc_eqos_reg.h: revision 1.8 sys/dev/ic/dwc_eqos.c: revision 1.24 sys/dev/ic/dwc_eqos.c: revision 1.25 sys/dev/ic/dwc_eqos.c: revision 1.26 sys/dev/ic/dwc_eqos.c: revision 1.27 sys/dev/ic/dwc_eqos_var.h: revision 1.5 sys/dev/ic/dwc_eqos.c: revision 1.28 sys/dev/ic/dwc_eqos_var.h: revision 1.6 sys/dev/ic/dwc_eqos.c: revision 1.29 sys/dev/ic/dwc_eqos.c: revision 1.18 sys/dev/ic/dwc_eqos.c: revision 1.19 sys/dev/pci/files.pci: revision 1.448 sys/dev/pci/if_eqos_pci.c: revision 1.1 sys/dev/pci/if_eqos_pci.c: revision 1.2 eqos(4): Fix definition of GMAC_MAC_HW_FEATURE1_RXFIFOSIZE. eqos(4): Fix a bug that the MAC address is swapped. Don't swap the MAC address in eqos_get_eaddr(). Other OSes except FreeBSD (which was based on NetBSD's) don't swap it. With this change, my own OnLogic Helix 330's MAC address becomes correct. The OUI is 84:8b:cd:4d. It's owned by Logic Supply and they were acquired by OnLogic. On Quartz64 with UEFI, the MAC address is wrongly set and the multicast bit might be set. To do workaround, clear the bit if it's set. eqos(4): Add missing clock range. eqos(4): Accept if snpsver == 0x52. Tested with Intel Elkhart Lake. TODO: Multiqueue support. Add watchdog timer. Add detach function. eqos(4): Add initial support for Intel Elkhart Lake internal Ethernet devices. - Only tested on PSE SGMII 1G Ethernet MAC with MaxLinear GPY115. - I don't know why dmat64 doesn't work. eqos_attach() have a special code if EQOS_HW_FEATURE_ADDR64_32BIT(sc) is true, but it seems it doesn't work. - TODO: Multiqueue support. Detach support. eqos(4): Fix compile error for arch that sizeof(bus_size_t) == 4 (i386). Trailing whitespace eqos(4): Disable eqos(4) by default because it's not stable on x86. eqos(4): KNF. No functional change. eqos(4): Add and modify some DPRINTF()s. eqos(4): Add sysctls for debugging. eqos(4): Use EQOS_TXLOCK() more to be stable. Fix a bug that sc_tx.{cur,next,queued} become inconsitent. Use txlock when accessing TX data. eqos(4): Set TX/RX DMA burst length to improve performance. eqos(4): Set flow control correctly. eqos_pci: Limit to 32bit DMA only for PSE devices. eqos(4): Fix typo in comment. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.1.2.1 src/share/man/man4/eqos.4 cvs rdiff -u -r1.599.4.4 -r1.599.4.5 src/sys/arch/amd64/conf/GENERIC cvs rdiff -u -r1.1243.2.2 -r1.1243.2.3 src/sys/arch/i386/conf/GENERIC cvs rdiff -u -r1.16 -r1.16.4.1 src/sys/dev/ic/dwc_eqos.c cvs rdiff -u -r1.6 -r1.6.4.1 src/sys/dev/ic/dwc_eqos_reg.h cvs rdiff -u -r1.4 -r1.4.4.1 src/sys/dev/ic/dwc_eqos_var.h cvs rdiff -u -r1.445.2.2 -r1.445.2.3 src/sys/dev/pci/files.pci cvs rdiff -u -r0 -r1.3.2.2 src/sys/dev/pci/if_eqos_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.