Up to [cvs.NetBSD.org] / src / sys / dev / ic
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.86 / (download) - annotate - [select for diffs], Thu Mar 14 16:43:00 2024 UTC (2 weeks ago) by jakllsch
Branch: MAIN
CVS Tags: HEAD
Changes since 1.85: +3 -20
lines
Diff to previous 1.85 (colored) to selected 1.34 (colored)
Use ether_crc32_be() instead of having a local bitrev32() function to munge ether_crc32_le() output when programming multicast filter.
Revision 1.85 / (download) - annotate - [select for diffs], Sun Mar 3 10:09:42 2024 UTC (3 weeks, 5 days ago) by skrll
Branch: MAIN
Changes since 1.84: +3 -3
lines
Diff to previous 1.84 (colored) to selected 1.34 (colored)
Reorder the bus_dmamap_sync sync operations BUS_DMASYNC_PREWRITE | BUS_DMASYNC_PREREAD to BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE for consistency.
Revision 1.84 / (download) - annotate - [select for diffs], Sun Mar 3 10:02:11 2024 UTC (3 weeks, 5 days ago) by skrll
Branch: MAIN
Changes since 1.83: +5 -5
lines
Diff to previous 1.83 (colored) to selected 1.34 (colored)
More KNF (whitespace around binary operators)
Revision 1.83 / (download) - annotate - [select for diffs], Tue Feb 27 08:28:56 2024 UTC (4 weeks, 3 days ago) by skrll
Branch: MAIN
Changes since 1.82: +13 -2
lines
Diff to previous 1.82 (colored) to selected 1.34 (colored)
Enforce the device 32 bit DMA limitation via bus_dmatag_subregion if bus can address more than 4GB.
Revision 1.82 / (download) - annotate - [select for diffs], Tue Feb 27 08:25:38 2024 UTC (4 weeks, 3 days ago) by skrll
Branch: MAIN
Changes since 1.81: +18 -18
lines
Diff to previous 1.81 (colored) to selected 1.34 (colored)
KNF - spaces around binary operators.
Revision 1.81 / (download) - annotate - [select for diffs], Sun Feb 11 12:28:20 2024 UTC (6 weeks, 4 days ago) by skrll
Branch: MAIN
Changes since 1.80: +3 -3
lines
Diff to previous 1.80 (colored) to selected 1.34 (colored)
Fix spello in debug output
Revision 1.80 / (download) - annotate - [select for diffs], Wed Dec 20 18:09:19 2023 UTC (3 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.79: +2 -3
lines
Diff to previous 1.79 (colored) to selected 1.34 (colored)
Remove unnecssary #include
Revision 1.79 / (download) - annotate - [select for diffs], Tue Aug 1 07:04:15 2023 UTC (7 months, 4 weeks ago) by mrg
Branch: MAIN
CVS Tags: thorpej-ifq-base,
thorpej-ifq,
thorpej-altq-separation-base,
thorpej-altq-separation
Changes since 1.78: +3 -3
lines
Diff to previous 1.78 (colored) to selected 1.34 (colored)
fix simple mis-matched function prototype and definitions. most of these are like, eg void foo(int[2]); with either of these void foo(int*) { ... } void foo(int[]) { ... } in some cases (such as stat or utimes* calls found in our header files), we now match standard definition from opengroup. found by GCC 12.
Revision 1.78 / (download) - annotate - [select for diffs], Sun Sep 18 18:26:53 2022 UTC (18 months, 1 week ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Changes since 1.77: +11 -8
lines
Diff to previous 1.77 (colored) to selected 1.34 (colored)
Eliminate use of IFF_OACTIVE.
Revision 1.77 / (download) - annotate - [select for diffs], Tue Aug 9 23:58:46 2022 UTC (19 months, 2 weeks ago) by sekiya
Branch: MAIN
Changes since 1.76: +3 -27
lines
Diff to previous 1.76 (colored) to selected 1.34 (colored)
Turn off AWIN_GMAC_MAC_CONF_ACS, so that all received packets retain FCS bytes. ether_input() can now trust M_HASFCS to accurately represent the packet contents. Discussed on tech-net@
Revision 1.76 / (download) - annotate - [select for diffs], Fri Aug 5 21:03:43 2022 UTC (19 months, 3 weeks ago) by sekiya
Branch: MAIN
Changes since 1.75: +26 -3
lines
Diff to previous 1.75 (colored) to selected 1.34 (colored)
Do not unilaterally set M_HASFCS; this breaks protocols that lack CRC bytes (such as AppleTalk). Instead, remove/preserve the final four bytes in the packet ourselves on a per- protocol basis, as we do in arch/arm/xscale/ixp425_if_npe.c (and dev/ic/gem.c, and so forth).
Revision 1.75 / (download) - annotate - [select for diffs], Sat Sep 11 20:28:06 2021 UTC (2 years, 6 months ago) by andvar
Branch: MAIN
Changes since 1.74: +3 -3
lines
Diff to previous 1.74 (colored) to selected 1.34 (colored)
Add missing double p and d for stopped and overriden accordingly. Fix few more typos along the way, mainly in copy-pasted comments.
Revision 1.74 / (download) - annotate - [select for diffs], Wed Jun 16 00:21:18 2021 UTC (2 years, 9 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-futex2-base,
thorpej-futex2,
thorpej-cfargs2-base,
thorpej-cfargs2
Changes since 1.73: +3 -12
lines
Diff to previous 1.73 (colored) to selected 1.34 (colored)
if_attach and if_initialize cannot fail, don't test return value These were originally made failable back in 2017 when if_initialize allocated a softint in every interface for link state changes, so that it could fail gracefully instead of panicking: https://mail-index.NetBSD.org/source-changes/2017/10/23/msg089053.html However, this spawned many seldom- or never-tested error branches, which are risky to have around. And that softint in every interface has since been replaced by a single global workqueue, because link state changes require thread context but not low latency or high throughput: https://mail-index.NetBSD.org/source-changes/2020/02/06/msg113759.html So there is no longer any reason for if_initialize to fail. (The subroutine if_stats_init can't fail because percpu_alloc can't fail either.) There is a snag: the softint_establish in if_percpuq_create could fail, potentially leading to bad consequences later on trying to use the softint. This change doesn't introduce any new bugs because of the snag -- if_percpuq_attach was already broken. However, the snag can be better addressed without spawning error branches, either by using a single softint or making softints less scarce. (Separate commit will change the signatures of if_attach and if_initialize to return void, scheduled to ride whatever is the next convenient kernel bump.) Patch and testing on amd64 and evbmips64-eb by maya@; commit message soliloquy, and compile-testing on evbppc/i386/earmv7hf, by me.
Revision 1.73 / (download) - annotate - [select for diffs], Thu May 13 05:56:39 2021 UTC (2 years, 10 months ago) by msaitoh
Branch: MAIN
CVS Tags: cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1
Changes since 1.72: +3 -3
lines
Diff to previous 1.72 (colored) to selected 1.34 (colored)
Cast to uint32_t to avoid undefined behavior in dwc_gmac_write_hwaddr(). Found by kUBSan.
Revision 1.72 / (download) - annotate - [select for diffs], Thu Dec 31 15:09:12 2020 UTC (3 years, 2 months ago) by ryo
Branch: MAIN
CVS Tags: thorpej-futex-base,
thorpej-cfargs-base,
thorpej-cfargs,
cjep_staticlib_x-base
Branch point for: thorpej-i2c-spi-conf,
cjep_staticlib_x
Changes since 1.71: +3 -3
lines
Diff to previous 1.71 (colored) to selected 1.34 (colored)
extend the timeout value. dwc_gmac_reset() sometimes takes more time.
Revision 1.71 / (download) - annotate - [select for diffs], Sat Jun 27 13:34:20 2020 UTC (3 years, 9 months ago) by jmcneill
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.70: +3 -3
lines
Diff to previous 1.70 (colored) to selected 1.34 (colored)
prop_data_data_nocopy -> prop_data_value
Revision 1.70 / (download) - annotate - [select for diffs], Sun May 17 21:50:47 2020 UTC (3 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.69: +12 -2
lines
Diff to previous 1.69 (colored) to selected 1.34 (colored)
Mask all the MMC counter interrupts if the MMC module is present.
Revision 1.69 / (download) - annotate - [select for diffs], Wed Jan 29 14:14:55 2020 UTC (4 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
is-mlppp-base,
is-mlppp,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
bouyer-xenpvh,
ad-namecache-base3
Changes since 1.68: +8 -8
lines
Diff to previous 1.68 (colored) to selected 1.34 (colored)
Adopt <net/if_stats.h>.
Revision 1.68 / (download) - annotate - [select for diffs], Sat Oct 19 06:40:20 2019 UTC (4 years, 5 months ago) by tnn
Branch: MAIN
CVS Tags: phil-wifi-20191119,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base
Branch point for: ad-namecache
Changes since 1.67: +2 -4
lines
Diff to previous 1.67 (colored) to selected 1.34 (colored)
awge: drop redundant m_adj(). Handled via uipc_mbuf.c r1.235 instead.
Revision 1.67 / (download) - annotate - [select for diffs], Tue Oct 15 17:19:05 2019 UTC (4 years, 5 months ago) by tnn
Branch: MAIN
Changes since 1.66: +4 -5
lines
Diff to previous 1.66 (colored) to selected 1.34 (colored)
correct pointer arithmetics
Revision 1.66 / (download) - annotate - [select for diffs], Tue Oct 15 16:30:49 2019 UTC (4 years, 5 months ago) by tnn
Branch: MAIN
Changes since 1.65: +28 -14
lines
Diff to previous 1.65 (colored) to selected 1.34 (colored)
awge: fix issue that caused rx packets to be corrupt with DIAGNOSTIC kernel It seems the hardware can only reliably do rx DMA to addresses that are dcache size aligned. This is hinted at by some GMAC data sheets but hard to find an authoritative source. on non-DIAGNOSTIC kernels we always implicitly get MCLBYTES-aligned mbuf data pointers, but with the reintroduction of POOL_REDZONE for DIAGNOSTIC we can get 8-byte alignment due to redzone padding. So align rx pointers to 64 bytes which should be good for both arm32 and aarch64. While here change some bus_dmamap_load() to bus_dmamap_load_mbuf() and add one missing bus_dmamap_sync(). Also fixes the code to not assume that MCLBYTES == AWGE_MAX_PACKET. User may override MCLSHIFT in kernel config.
Revision 1.65 / (download) - annotate - [select for diffs], Fri Sep 13 07:55:06 2019 UTC (4 years, 6 months ago) by msaitoh
Branch: MAIN
Changes since 1.64: +3 -3
lines
Diff to previous 1.64 (colored) to selected 1.34 (colored)
if_flags is neither int nor short. It's unsigned short.
Revision 1.64 / (download) - annotate - [select for diffs], Sun Jul 21 08:24:32 2019 UTC (4 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-9-base,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.63: +3 -7
lines
Diff to previous 1.63 (colored) to selected 1.34 (colored)
move DWCGMAC_MPSAFE into dwc_gmac_var.h and introduce an additional define that is 0 or FDT_INTR_MPSAFE that the frontends can use when passing to fdtbus_intr_establish(). with NET_MPSAFE enabled, this avoids hangs seen on rock64, as well as finishing the MPSAFE port for this driver. XXX: still don't know why the existing hangs occur.
Revision 1.63 / (download) - annotate - [select for diffs], Mon Jul 8 03:22:38 2019 UTC (4 years, 8 months ago) by msaitoh
Branch: MAIN
Changes since 1.62: +7 -2
lines
Diff to previous 1.62 (colored) to selected 1.34 (colored)
Add rnd(9) support.
Revision 1.62 / (download) - annotate - [select for diffs], Thu May 23 13:10:51 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20190609
Changes since 1.61: +16 -16
lines
Diff to previous 1.61 (colored) to selected 1.34 (colored)
Whitespace fix (mainly tabify).
Revision 1.61 / (download) - annotate - [select for diffs], Thu May 23 10:57:28 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
Changes since 1.60: +68 -68
lines
Diff to previous 1.60 (colored) to selected 1.34 (colored)
-No functional change: - KNF - u_int*_t -> uint*_t.
Revision 1.60 / (download) - annotate - [select for diffs], Wed May 15 02:56:47 2019 UTC (4 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.59: +6 -6
lines
Diff to previous 1.59 (colored) to selected 1.34 (colored)
Store IFF_ALLMULTI in ec_flags instead of if_flags to avoid data races IFF_ALLMULTI is set/unset to if_flags via if_mcast_op. To avoid data races on if_flags, IFNET_LOCK was added for if_mcast_op. Unfortunately it produces a deadlock so we want to remove added IFNET_LOCK by avoiding the data races by another approach. This fix introduces ec_flags to struct ethercom and stores IFF_ALLMULTI to it. ec_flags is protected by ETHER_LOCK and thus IFNET_LOCK is no longer necessary for if_mcast_op. Note that the fix is applied only to MP-safe drivers that the data races matter. In the kernel, IFF_ALLMULTI is set by a driver and used by the driver itself. So changing the storing place doesn't break anything. One exception is ioctl(SIOCGIFFLAGS); we have to include IFF_ALLMULTI in a result if needed to export the flag as well as before. A upcoming commit will remove IFNET_LOCK. PR kern/54189
Revision 1.59 / (download) - annotate - [select for diffs], Mon Apr 15 06:00:04 2019 UTC (4 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: isaki-audio2-base,
isaki-audio2
Changes since 1.58: +7 -3
lines
Diff to previous 1.58 (colored) to selected 1.34 (colored)
Protect ether_multi list Fix this driver because it can set IFEF_MPSAFE.
Revision 1.58 / (download) - annotate - [select for diffs], Thu Mar 7 14:02:16 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
Changes since 1.57: +3 -3
lines
Diff to previous 1.57 (colored) to selected 1.34 (colored)
Fix previous. Pass phy_id correctly.
Revision 1.57 / (download) - annotate - [select for diffs], Sat Feb 23 17:18:07 2019 UTC (5 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.56: +4 -4
lines
Diff to previous 1.56 (colored) to selected 1.34 (colored)
Pass the phy ID to dwc_gmac_attach.
Revision 1.56 / (download) - annotate - [select for diffs], Tue Jan 22 03:42:26 2019 UTC (5 years, 2 months ago) by msaitoh
Branch: MAIN
CVS Tags: pgoyette-compat-20190127
Changes since 1.55: +17 -10
lines
Diff to previous 1.55 (colored) to selected 1.34 (colored)
Change MII PHY read/write API from: int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to: int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t); Now we can test if a read/write operation failed or not by the return value. In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR. Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed: arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c Tested with the following device: axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V) Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
Revision 1.55 / (download) - annotate - [select for diffs], Mon Oct 8 17:09:31 2018 UTC (5 years, 5 months ago) by martin
Branch: MAIN
CVS Tags: pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020
Changes since 1.54: +226 -41
lines
Diff to previous 1.54 (colored) to selected 1.34 (colored)
Bring back support for enhanced descriptor format in newer core versions. Fix a few endian bugs and check the main core version before trying to read the hardware feature mask. Only read the hardware feature register if core version reported is >= 3.5 (all my older hardware reports 0). With some hints and patches from jared, and ok from aymeric
Revision 1.54 / (download) - annotate - [select for diffs], Fri Sep 28 21:51:42 2018 UTC (5 years, 6 months ago) by aymeric
Branch: MAIN
CVS Tags: pgoyette-compat-0930
Changes since 1.53: +42 -191
lines
Diff to previous 1.53 (colored) to selected 1.34 (colored)
Revert the recent support for enhanced descriptors until a viable solution is found. It broke at least Cubietruck, Orange Pi One, and maybe Rock64 ethernets in different ways. Unfortunately it works on my Olinuxino Micro and Lime 2 so I can't reproduce the bugs for now. Should fix PR#53637
Revision 1.53 / (download) - annotate - [select for diffs], Mon Sep 17 20:25:49 2018 UTC (5 years, 6 months ago) by aymeric
Branch: MAIN
Changes since 1.52: +191 -42
lines
Diff to previous 1.52 (colored) to selected 1.34 (colored)
Add support for the enhanced descriptors feature. This makes "recent" dwc gmac controllers, as found e.g. on the Cyclone V, work. The change was also tested working on an Allwinner A20 which doesn't have the feature. No negative reaction on port-arm.
Revision 1.52 / (download) - annotate - [select for diffs], Wed Jul 18 23:10:27 2018 UTC (5 years, 8 months ago) by sevan
Branch: MAIN
CVS Tags: pgoyette-compat-0906,
pgoyette-compat-0728,
jdolecek-ncqfixes-base,
jdolecek-ncqfixes
Changes since 1.51: +3 -3
lines
Diff to previous 1.51 (colored) to selected 1.34 (colored)
Be consistent among ethernet drivers on the convention for printing ethernet addresses. NFC
Revision 1.51 / (download) - annotate - [select for diffs], Sat Jun 30 16:27:48 2018 UTC (5 years, 9 months ago) by jmcneill
Branch: MAIN
Changes since 1.50: +8 -5
lines
Diff to previous 1.50 (colored) to selected 1.34 (colored)
dwc_gmac_attach: return non-zero on failure
Revision 1.50 / (download) - annotate - [select for diffs], Tue Jun 26 06:48:00 2018 UTC (5 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-base
Branch point for: phil-wifi
Changes since 1.49: +3 -3
lines
Diff to previous 1.49 (colored) to selected 1.34 (colored)
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD. This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
Revision 1.49 / (download) - annotate - [select for diffs], Mon Jun 18 23:50:35 2018 UTC (5 years, 9 months ago) by jmcneill
Branch: MAIN
CVS Tags: pgoyette-compat-0625
Changes since 1.48: +5 -5
lines
Diff to previous 1.48 (colored) to selected 1.34 (colored)
Write MAC address high register before low register. Apparently the hardware updates the filter when the low register is written.
Revision 1.48 / (download) - annotate - [select for diffs], Mon Jun 18 22:57:18 2018 UTC (5 years, 9 months ago) by jmcneill
Branch: MAIN
Changes since 1.47: +4 -2
lines
Diff to previous 1.47 (colored) to selected 1.34 (colored)
Clear IFF_RUNNING | IFF_OACTIVE when stopping interface.
Revision 1.47 / (download) - annotate - [select for diffs], Sun Jun 17 13:12:25 2018 UTC (5 years, 9 months ago) by jmcneill
Branch: MAIN
Changes since 1.46: +9 -7
lines
Diff to previous 1.46 (colored) to selected 1.34 (colored)
Avoid calling bus_dmamap_sync with len=0
Revision 1.46 / (download) - annotate - [select for diffs], Sat Jun 16 00:15:00 2018 UTC (5 years, 9 months ago) by jmcneill
Branch: MAIN
Changes since 1.45: +9 -6
lines
Diff to previous 1.45 (colored) to selected 1.34 (colored)
Add flag for disabling store-and-forward mode, and a callback for notifying bus glue that the link speed has changed.
Revision 1.45 / (download) - annotate - [select for diffs], Thu Dec 21 12:09:43 2017 UTC (6 years, 3 months ago) by martin
Branch: MAIN
CVS Tags: pgoyette-compat-base,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.44: +4 -2
lines
Diff to previous 1.44 (colored) to selected 1.34 (colored)
Don't KASSERT that we are MPSAFE if ! DWCGMAC_MPSAFE
Revision 1.44 / (download) - annotate - [select for diffs], Tue Dec 19 03:32:35 2017 UTC (6 years, 3 months ago) by ozaki-r
Branch: MAIN
Changes since 1.43: +4 -2
lines
Diff to previous 1.43 (colored) to selected 1.34 (colored)
Don't set IFEF_MPSAFE unless NET_MPSAFE at this point Because recent investigations show that interfaces with IFEF_MPSAFE need to follow additional restrictions to work with the flag safely. We should enable it on an interface by default only if the interface surely satisfies the restrictions, which are described in if.h. Note that enabling IFEF_MPSAFE solely gains a few benefit on performance because the network stack is still serialized by the big kernel locks by default.
Revision 1.43 / (download) - annotate - [select for diffs], Thu Nov 16 03:07:17 2017 UTC (6 years, 4 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Branch point for: tls-maxphys
Changes since 1.42: +4 -4
lines
Diff to previous 1.42 (colored) to selected 1.34 (colored)
Unify IFEF_*_MPSAFE into IFEF_MPSAFE There are already two flags for if_output and if_start, however, it seems such MPSAFE flags are eventually needed for all if_XXX operations. Having discrete flags for each operation is wasteful of if_extflags bits. So let's unify the flags into one: IFEF_MPSAFE. Fortunately IFEF_*_MPSAFE flags have never been included in any releases, so we can change them without breaking backward compatibility of the releases (though the kernel version of -current should be bumped). Note that if an interface have both MP-safe and non-MP-safe operations at a time, we have to set the IFEF_MPSAFE flag and let callees of non-MP-safe opeartions take the kernel lock. Proposed on tech-kern@ and tech-net@
Revision 1.42 / (download) - annotate - [select for diffs], Mon Oct 23 15:08:05 2017 UTC (6 years, 5 months ago) by jakllsch
Branch: MAIN
Changes since 1.41: +3 -3
lines
Diff to previous 1.41 (colored) to selected 1.34 (colored)
We don't need '&mii', but just 'mii' for mii_detach().
Revision 1.41 / (download) - annotate - [select for diffs], Mon Oct 23 09:27:46 2017 UTC (6 years, 5 months ago) by msaitoh
Branch: MAIN
Changes since 1.40: +14 -4
lines
Diff to previous 1.40 (colored) to selected 1.34 (colored)
- If if_initialize() failed in the attach function, free resources and return. - Add missing dwc_gmac_free_dma_rings() and mutex_destroy() when attach failed.
Revision 1.40 / (download) - annotate - [select for diffs], Mon Feb 20 07:43:29 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825,
netbsd-8-base,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.39: +4 -3
lines
Diff to previous 1.39 (colored) to selected 1.34 (colored)
Apply deferred if_start to more drivers
Revision 1.39 / (download) - annotate - [select for diffs], Mon Jan 23 08:36:23 2017 UTC (7 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204
Changes since 1.38: +3 -3
lines
Diff to previous 1.38 (colored) to selected 1.34 (colored)
Use our ipq... sorry martin
Revision 1.38 / (download) - annotate - [select for diffs], Sat Jan 21 10:30:15 2017 UTC (7 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.37: +114 -27
lines
Diff to previous 1.37 (colored) to selected 1.34 (colored)
Merge from nick-nhusb - some MPification
Revision 1.37 / (download) - annotate - [select for diffs], Thu Dec 15 09:28:05 2016 UTC (7 years, 3 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.36: +2 -4
lines
Diff to previous 1.36 (colored) to selected 1.34 (colored)
Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf Proposed on tech-kern and tech-net
Revision 1.36 / (download) - annotate - [select for diffs], Fri Jun 10 13:27:13 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-base,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
nick-nhusb-base-20161204,
nick-nhusb-base-20161004,
nick-nhusb-base-20160907,
localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.35: +3 -3
lines
Diff to previous 1.35 (colored) to selected 1.34 (colored)
Introduce m_set_rcvif and m_reset_rcvif The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change. No functional change.
Revision 1.35 / (download) - annotate - [select for diffs], Tue Feb 9 08:32:10 2016 UTC (8 years, 1 month ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529,
nick-nhusb-base-20160422,
nick-nhusb-base-20160319
Changes since 1.34: +3 -3
lines
Diff to previous 1.34 (colored)
Introduce softint-based if_input This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt. This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing. To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation. Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
Revision 1.34 / (download) - annotate - [selected], Fri Aug 21 20:12:29 2015 UTC (8 years, 7 months ago) by jmcneill
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226,
nick-nhusb-base-20150921
Changes since 1.33: +3 -3
lines
Diff to previous 1.33 (colored)
No need to BUS_DMASYNC_PREREAD the transmit data buffer. Fixes "NFS writes being corrupted?" issue on ODROID-C1 as seen on port-arm.
Revision 1.33 / (download) - annotate - [select for diffs], Fri Jun 12 11:54:39 2015 UTC (8 years, 9 months ago) by tnn
Branch: MAIN
Changes since 1.32: +7 -2
lines
Diff to previous 1.32 (colored) to selected 1.34 (colored)
Supports ETHERCAP_VLAN_MTU. ok martin@ PR#49967
Revision 1.32 / (download) - annotate - [select for diffs], Mon Feb 23 19:05:17 2015 UTC (9 years, 1 month ago) by martin
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606,
nick-nhusb-base-20150406
Changes since 1.31: +30 -24
lines
Diff to previous 1.31 (colored) to selected 1.34 (colored)
Apply patch from FUKAUMI Naoki to fix ring buffer handling when the ring fills completely.
Revision 1.31 / (download) - annotate - [select for diffs], Thu Jan 8 14:44:43 2015 UTC (9 years, 2 months ago) by jmcneill
Branch: MAIN
Changes since 1.30: +4 -4
lines
Diff to previous 1.30 (colored) to selected 1.34 (colored)
fix a couple txq fencepost issues, from FUKAUMI Naoki <fun@naobsd.org>
Revision 1.30 / (download) - annotate - [select for diffs], Mon Jan 5 21:37:07 2015 UTC (9 years, 2 months ago) by martin
Branch: MAIN
Changes since 1.29: +4 -3
lines
Diff to previous 1.29 (colored) to selected 1.34 (colored)
Fix index vs. count confusion when syncing a range of newly queued TX descriptors. Pointed out by "naobsd" in private chat.
Revision 1.29 / (download) - annotate - [select for diffs], Sun Dec 7 02:23:14 2014 UTC (9 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.28: +6 -5
lines
Diff to previous 1.28 (colored) to selected 1.34 (colored)
if we dont have a mac address, make one up
Revision 1.28 / (download) - annotate - [select for diffs], Fri Nov 28 09:22:02 2014 UTC (9 years, 4 months ago) by martin
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.27: +8 -2
lines
Diff to previous 1.27 (colored) to selected 1.34 (colored)
After handling an interrupt, try to handle more packets as we may have space in the descriptor ring now. Pointed out by Jared.
Revision 1.27 / (download) - annotate - [select for diffs], Sun Nov 23 22:42:14 2014 UTC (9 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.26: +8 -6
lines
Diff to previous 1.26 (colored) to selected 1.34 (colored)
Fix bus_dmamap_sync usage.
Revision 1.26 / (download) - annotate - [select for diffs], Sun Nov 23 11:08:16 2014 UTC (9 years, 4 months ago) by martin
Branch: MAIN
Changes since 1.25: +8 -3
lines
Diff to previous 1.25 (colored) to selected 1.34 (colored)
Revert previous change to dwc_gmac_txintr() - while it looks strange at first sight (and sorry I didn't spot it when reviewing), it is a small optimization and actually correct. Add a comment explaining it.
Revision 1.25 / (download) - annotate - [select for diffs], Sat Nov 22 18:31:03 2014 UTC (9 years, 4 months ago) by jmcneill
Branch: MAIN
Changes since 1.24: +26 -11
lines
Diff to previous 1.24 (colored) to selected 1.34 (colored)
- Add MII flow control support - Set "disable jabber" and "auto padding/CRC stripping" bits in MAC conf - Write intr mask to intr mask register, not status - Setup both TX and RX burst modes - Setup both TX and RX store & forward modes - Correct an issue with the "end" descriptor passed to dwc_gmac_txdesc_sync in dwc_gmac_tx_intr ok martin@
Revision 1.24 / (download) - annotate - [select for diffs], Mon Oct 27 09:40:00 2014 UTC (9 years, 5 months ago) by skrll
Branch: MAIN
Branch point for: netbsd-7
Changes since 1.23: +3 -3
lines
Diff to previous 1.23 (colored) to selected 1.34 (colored)
Typo in comment
Revision 1.23 / (download) - annotate - [select for diffs], Sun Oct 26 20:51:54 2014 UTC (9 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.22: +3 -3
lines
Diff to previous 1.22 (colored) to selected 1.34 (colored)
Typo
Revision 1.22 / (download) - annotate - [select for diffs], Sun Oct 26 17:39:16 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.21: +109 -75
lines
Diff to previous 1.21 (colored) to selected 1.34 (colored)
Greatly simplify ioctl handling by fully relying on ether_ioctl and a ifflags-change callback, together with a shadow copy of the last active interface flags. Fix ALLMULTI vs. PROMISC handling. Fix mac hash filter calculation by reversing the crc bits (pointed out by Jared).
Revision 1.21 / (download) - annotate - [select for diffs], Sat Oct 25 18:00:25 2014 UTC (9 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.20: +4 -4
lines
Diff to previous 1.20 (colored) to selected 1.34 (colored)
Fix typo. Use format string.
Revision 1.20 / (download) - annotate - [select for diffs], Tue Oct 21 00:01:01 2014 UTC (9 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.19: +77 -7
lines
Diff to previous 1.19 (colored) to selected 1.34 (colored)
multicast hash filter support
Revision 1.19 / (download) - annotate - [select for diffs], Mon Oct 20 23:41:46 2014 UTC (9 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.18: +3 -2
lines
Diff to previous 1.18 (colored) to selected 1.34 (colored)
Set M_HASFCS does the frame does include the FCS in the length.
Revision 1.18 / (download) - annotate - [select for diffs], Mon Oct 20 20:10:05 2014 UTC (9 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.17: +3 -1
lines
Diff to previous 1.17 (colored) to selected 1.34 (colored)
add $NetBSD$ to top of files
Revision 1.17 / (download) - annotate - [select for diffs], Mon Oct 20 20:08:01 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.16: +4 -1
lines
Diff to previous 1.16 (colored) to selected 1.34 (colored)
Cosmetics - block interrupts while enabling different interrupt sources.
Revision 1.16 / (download) - annotate - [select for diffs], Mon Oct 20 19:51:40 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.15: +6 -4
lines
Diff to previous 1.15 (colored) to selected 1.34 (colored)
Consistently set the RX descriptors controll word - do not disable RX interrupt and set chain mode. Now it does not run off the end of the ring after 512 packets any more.
Revision 1.15 / (download) - annotate - [select for diffs], Mon Oct 20 19:36:03 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.14: +16 -17
lines
Diff to previous 1.14 (colored) to selected 1.34 (colored)
Cleanup debug code a bit.
Revision 1.14 / (download) - annotate - [select for diffs], Sun Oct 19 22:31:33 2014 UTC (9 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.13: +8 -1
lines
Diff to previous 1.13 (colored) to selected 1.34 (colored)
if we read an insane mac address from the chip, dont attach
Revision 1.13 / (download) - annotate - [select for diffs], Sun Oct 19 13:15:23 2014 UTC (9 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.12: +9 -4
lines
Diff to previous 1.12 (colored) to selected 1.34 (colored)
only set PR bit in frame filter if IFF_PROMISC is set, and set PM bit if IFF_ALLMULTI is set
Revision 1.12 / (download) - annotate - [select for diffs], Sun Oct 19 13:04:24 2014 UTC (9 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.11: +4 -3
lines
Diff to previous 1.11 (colored) to selected 1.34 (colored)
fix inverted logic with AWIN_GMAC_MAC_CONF_MIISEL bit; my cubieboard2 can talk to the network now!
Revision 1.11 / (download) - annotate - [select for diffs], Sun Oct 19 11:45:01 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.10: +194 -9
lines
Diff to previous 1.10 (colored) to selected 1.34 (colored)
Add more MAC filter setup, some DMA burst configuration (from jmcneill), actually enable RX interrupts (spotted by jmcneill), add RX handling code and debug code.
Revision 1.10 / (download) - annotate - [select for diffs], Mon Oct 13 09:07:26 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.9: +33 -32
lines
Diff to previous 1.9 (colored) to selected 1.34 (colored)
Do not flush/restart the TX engine after queuing packets, but instead keep it running (it will stall when out of descriptors), and inform it about new descriptors available by writing to the TXPOLL request register. Add more debugging code.
Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 13 08:24:52 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.8: +21 -4
lines
Diff to previous 1.8 (colored) to selected 1.34 (colored)
When link status changes, update MAC configuration accordingly.
Revision 1.8 / (download) - annotate - [select for diffs], Wed Oct 8 18:24:21 2014 UTC (9 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.7: +171 -36
lines
Diff to previous 1.7 (colored) to selected 1.34 (colored)
More interrupt handling, more debug code, less magic numbers.
Revision 1.7 / (download) - annotate - [select for diffs], Sun Sep 14 18:28:37 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.6: +75 -3
lines
Diff to previous 1.6 (colored) to selected 1.34 (colored)
Add (disabled) debug code. Fix DMA descriptor link initialization.
Revision 1.6 / (download) - annotate - [select for diffs], Sun Sep 14 11:00:52 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.5: +63 -41
lines
Diff to previous 1.5 (colored) to selected 1.34 (colored)
Cleanup and __BIT()ify
Revision 1.5 / (download) - annotate - [select for diffs], Thu Sep 11 06:56:05 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.4: +20 -10
lines
Diff to previous 1.4 (colored) to selected 1.34 (colored)
Simplify device property handling by moving it into the core driver. Overriding the MAC address now works again.
Revision 1.4 / (download) - annotate - [select for diffs], Tue Sep 9 10:06:47 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.3: +1 -3
lines
Diff to previous 1.3 (colored) to selected 1.34 (colored)
Remove debug printf, now that MII status changes work
Revision 1.3 / (download) - annotate - [select for diffs], Tue Sep 9 10:04:19 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.2: +14 -11
lines
Diff to previous 1.2 (colored) to selected 1.34 (colored)
Make the MII clock variable and passed in from the frontend.
Revision 1.2 / (download) - annotate - [select for diffs], Tue Sep 9 07:18:35 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.1: +5 -2
lines
Diff to previous 1.1 (colored) to selected 1.34 (colored)
Fix MII setup and interrupt handling, from Robert Swindell.
Revision 1.1 / (download) - annotate - [select for diffs], Mon Sep 8 14:24:32 2014 UTC (9 years, 6 months ago) by martin
Branch: MAIN
Diff to selected 1.34 (colored)
Add work-in-progress driver for the Designware GMAC core, found on some allwinner chips.