The NetBSD Project

CVS log for src/sys/arch/arm/broadcom/bcm53xx_eth.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / arm / broadcom

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.42.4.2 / (download) - annotate - [select for diffs], Sun Feb 18 16:25:25 2024 UTC (2 months ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5
Changes since 1.42.4.1: +6 -9 lines
Diff to previous 1.42.4.1 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Pull up following revision(s) (requested by skrll in ticket #599):

	sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.44

Test sc->sc_soft_ih (not sc->sc_ih) to see if the soft interrupt got
established correctly.

 From Mori Hiroki.

Fix some error recovery while I'm here.

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Sun Feb 18 16:19:57 2024 UTC (2 months ago) by martin
Branch: netbsd-10
Changes since 1.42: +2 -4 lines
Diff to previous 1.42 (colored)

Pull up following revision(s) (requested by skrll in ticket #597):

	sys/arch/evbarm/conf/std.bcm53xx: revision 1.21
	sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.43
	sys/arch/arm/broadcom/bcm53xx_pax.c: revision 1.23

Define KERNEL_VOFFSET_RUNTIME=1 to fix build of BCM5301X and BCM56340

Fix non-DIAGNOSTIC build

Revision 1.44 / (download) - annotate - [select for diffs], Fri Feb 16 15:40:09 2024 UTC (2 months ago) by skrll
Branch: MAIN
CVS Tags: HEAD
Changes since 1.43: +6 -9 lines
Diff to previous 1.43 (colored)

Test sc->sc_soft_ih (not sc->sc_ih) to see if the soft interrupt got
established correctly.

From Mori Hiroki.

Fix some error recovery while I'm here.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Feb 16 12:08:29 2024 UTC (2 months ago) by skrll
Branch: MAIN
Changes since 1.42: +2 -4 lines
Diff to previous 1.42 (colored)

Fix non-DIAGNOSTIC build

Revision 1.42 / (download) - annotate - [select for diffs], Sat Sep 17 19:41:18 2022 UTC (19 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.41: +1 -7 lines
Diff to previous 1.41 (colored)

Eliminate use of IFF_OACTIVE.

Revision 1.40.10.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:18 2021 UTC (2 years, 10 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.40: +2 -9 lines
Diff to previous 1.40 (colored) next main 1.41 (colored)

Sync w/ HEAD.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jun 16 00:21:17 2021 UTC (2 years, 10 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.40: +2 -9 lines
Diff to previous 1.40 (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.31.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:33 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.31.2.2: +0 -2 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:28 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.31.2.1: +6 -6 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

Merge changes from current as of 20200406

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:18 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.39: +6 -6 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Feb 3 08:00:35 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Branch point for: thorpej-i2c-spi-conf
Changes since 1.39: +6 -6 lines
Diff to previous 1.39 (colored)

Adopt <net/if_stats.h>

Revision 1.29.8.2 / (download) - annotate - [select for diffs], Wed Nov 6 10:04:46 2019 UTC (4 years, 5 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.29.8.1: +1 -3 lines
Diff to previous 1.29.8.1 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #1427):

	sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.39
	sys/dev/pcmcia/if_xi.c: revision 1.91
	sys/dev/ic/aic6915.c: revision 1.40
	sys/dev/pci/if_tl.c: revision 1.117
	sys/arch/arm/gemini/gemini_gmac.c: revision 1.18
	sys/dev/ic/elinkxl.c: revision 1.133
	sys/dev/pci/if_ste.c: revision 1.57
	sys/dev/pci/if_alc.c: revision 1.43
	sys/dev/pci/if_stge.c: revision 1.72
	sys/dev/pci/if_ale.c: revision 1.34
	sys/dev/pci/if_age.c: revision 1.62
	sys/dev/pci/if_txp.c: revision 1.60
	sys/dev/ic/i82557.c: revision 1.156
	sys/dev/pci/if_vte.c: revision 1.27
	sys/arch/powerpc/booke/dev/pq3etsec.c: revision 1.47
	sys/arch/arm/gemini/if_gpn.c: revision 1.13

 if_percpuq(9) and ether_input() automatically increment if_ipackets, so don't add number of
RX frames from device's statistics counter to if_ipackets to avoid double
count.

Revision 1.38.2.1 / (download) - annotate - [select for diffs], Wed Nov 6 09:59:38 2019 UTC (4 years, 5 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.38: +1 -3 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #403):

	sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.39
	sys/dev/pcmcia/if_xi.c: revision 1.91
	sys/dev/ic/aic6915.c: revision 1.40
	sys/dev/pci/if_tl.c: revision 1.117
	sys/arch/arm/gemini/gemini_gmac.c: revision 1.18
	sys/dev/ic/elinkxl.c: revision 1.133
	sys/dev/pci/if_ste.c: revision 1.57
	sys/dev/pci/if_alc.c: revision 1.43
	sys/dev/pci/if_stge.c: revision 1.72
	sys/dev/pci/if_ale.c: revision 1.34
	sys/dev/pci/if_age.c: revision 1.62
	sys/dev/pci/if_txp.c: revision 1.60
	sys/dev/ic/i82557.c: revision 1.156
	sys/dev/pci/if_vte.c: revision 1.27
	sys/arch/powerpc/booke/dev/pq3etsec.c: revision 1.47
	sys/arch/arm/gemini/if_gpn.c: revision 1.13

 if_percpuq(9) and ether_input() automatically increment if_ipackets, so don't add number of
RX frames from device's statistics counter to if_ipackets to avoid double
count.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Oct 30 10:12:37 2019 UTC (4 years, 5 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.38: +1 -3 lines
Diff to previous 1.38 (colored)

 ether_input() automatically add input bytes to if_ibytes, so it's not
required to do in the driver who use ether_input().

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:52 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.31: +60 -59 lines
Diff to previous 1.31 (colored)

Sync with HEAD

Revision 1.38 / (download) - annotate - [select for diffs], Wed May 29 13:25:54 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base
Branch point for: netbsd-9
Changes since 1.37: +1 -2 lines
Diff to previous 1.37 (colored)

 Remove unused variable.

Revision 1.37 / (download) - annotate - [select for diffs], Wed May 29 10:07:28 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
Changes since 1.36: +2 -7 lines
Diff to previous 1.36 (colored)

Even if we don't use MII(4), use the common path of SIOC[GS]IFMEDIA in
sys/net/if_ethersubr.c if we can.
 - Add ec_ifmedia into struct ethercom.
 - ec_mii in struct ethercom is kept and used as it is. It might be used in
   future. Note that some Ethernet drivers which _DOESN'T_ use mii(4) use
   ec_mii for keeping the if_media. Those should be changed in future.

Revision 1.36 / (download) - annotate - [select for diffs], Wed May 29 06:21:56 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
Changes since 1.35: +14 -14 lines
Diff to previous 1.35 (colored)

 KNF. No functional change.

Revision 1.35 / (download) - annotate - [select for diffs], Fri Apr 26 06:33:33 2019 UTC (4 years, 11 months ago) by msaitoh
Branch: MAIN
Changes since 1.34: +42 -35 lines
Diff to previous 1.34 (colored)

No functional change:
- u_int_{8,16,32}_t -> uint_{8,16,32}_t
- KNF.
- Tabify.
- Remove extra space.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Mar 8 08:12:39 2019 UTC (5 years, 1 month ago) by msaitoh
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored)

s/ the the / the /

Revision 1.30.2.3 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:32 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.30.2.2: +2 -2 lines
Diff to previous 1.30.2.2 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.33 / (download) - annotate - [select for diffs], Sat Dec 22 14:07:53 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

Replace: M_COPY_PKTHDR -> m_copy_pkthdr. No functional change, since the
former is a macro to the latter.

Revision 1.30.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:25 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.30.2.1: +4 -4 lines
Diff to previous 1.30.2.1 (colored) to branchpoint 1.30 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.32 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:23 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:27 2018 UTC (5 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

Sync with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Tue Jun 26 06:47:57 2018 UTC (5 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728
Branch point for: phil-wifi
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (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.29.8.1 / (download) - annotate - [select for diffs], Sun Dec 10 10:10:23 2017 UTC (6 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.29: +33 -7 lines
Diff to previous 1.29 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #427):
	sys/arch/amiga/dev/if_bah_zbus.c: 1.17
	sys/arch/arm/broadcom/bcm53xx_eth.c: 1.30
	sys/arch/powerpc/booke/dev/pq3etsec.c: 1.32
	sys/arch/usermode/dev/if_veth.c: 1.9
	sys/dev/ic/an.c: 1.66
	sys/dev/ic/athn.c: 1.17
	sys/dev/ic/atw.c: 1.162
	sys/dev/ic/bwi.c: 1.33
	sys/dev/ic/dwc_gmac.c: 1.41-1.42
	sys/dev/ic/malo.c: 1.10
	sys/dev/ic/rt2560.c: 1.31
	sys/dev/ic/rt2661.c: 1.36
	sys/dev/ic/rt2860.c: 1.29
	sys/dev/ic/rtw.c: 1.127
	sys/dev/ic/rtwvar.h: 1.46
	sys/dev/ic/smc90cx6.c: 1.71
	sys/dev/ic/smc90cx6var.h: 1.12
	sys/dev/ic/wi.c: 1.244
	sys/dev/pci/if_ipw.c: 1.66
	sys/dev/pci/if_iwi.c: 1.104
	sys/dev/pci/if_iwm.c: 1.76
	sys/dev/pci/if_iwn.c: 1.86
	sys/dev/pci/if_rtwn.c: 1.13
	sys/dev/pci/if_wm.c: 1.541
	sys/dev/pci/if_wpi.c: 1.79
	sys/dev/pci/ixgbe/ixgbe.c: 1.106
	sys/dev/pci/ixgbe/ixv.c: 1.73 via patch
	sys/dev/pcmcia/if_malo_pcmcia.c: 1.15
	sys/dev/scsipi/if_se.c: 1.95
	sys/dev/usb/if_upl.c: 1.60
	sys/net/if.c: 1.396
	sys/net/if.h: 1.241
	sys/net/if_arc.h: 1.23
	sys/net/if_arcsubr.c: 1.78
	sys/net/if_bridge.c: 1.136-1.137
	sys/net/if_etherip.c: 1.39
	sys/net/if_faith.c: 1.56
	sys/net/if_gif.c: 1.131
	sys/net/if_loop.c: 1.96
	sys/net/if_mpls.c: 1.30
	sys/net/if_pppoe.c: 1.129
	sys/net/if_srt.c: 1.27
	sys/net/if_stf.c: 1.102
	sys/net/if_tap.c: 1.100
	sys/net/if_vlan.c: 1.105
	sys/netinet/ip_carp.c: 1.91
	sys/rump/net/lib/libshmif/if_shmem.c: 1.73-1.74
	sys/rump/net/lib/libvirtif/if_virt.c: 1.55-1.56
 if_initalize() and if_attach() failed when resource allocation failed
(e.g. allocating softint). Without this change, it panics. It's bad because
resource shortage really occured when a lot of pseudo interface is created.
To avoid this problem, don't panic and change return value of if_initialize()
and if_attach() to int. Caller fanction will be recover from error cleanly by
checking the return value.
 Return if bah_attach_subr() failed.
 If if_attach() failed in the attach function, return.
- If if_initialize() failed in the attach function, free resources and return.
- Add some missing frees in bridge_clone_destroy().
- KNF
 If error occured in bcmeth_ccb_attach(), free resources and return.
 If error occured in pq3etsec_attach(), free resources and return.
 If error occured in the attach function, free resources and return.
- If if_initialize() failed in athn_attach(), free resources and return.
- Add missing pmf_event_deregister() in athn_detach().
- Free resources correctly on some errors in atw_attach().
- Use apint*() insread of printf() in the attach function.
 If if_initialize() failed in the attach function, return.
- 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.
- If if_initialize() failed in the attach function, free resources and return.
- ifp is always not NULL in iwi_detach(). Check correctly with ifp->if_softc.
- If if_initialize() failed in the attach function, free resources and return.
- Fix error path in the attach function correctly.
 If if_initialize() failed in the attach function, free resources and return.
 If if_attach() failed in the attach function, free resources and return.
 - If if_initialize() failed in the attach function, free resources and return.
 - KNF
 - If if_attach() failed in the attach function, free resources and return.
 - KNF
 Fix compile error.
 Fix compile error.
We don't need '&mii', but just 'mii' for mii_detach().
Don't free sc_rthash twice

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:52 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.1.2.3: +36 -11 lines
Diff to previous 1.1.2.3 (colored) next main 1.2 (colored)

update from HEAD

Revision 1.30 / (download) - annotate - [select for diffs], Mon Oct 23 09:23:25 2017 UTC (6 years, 5 months ago) by msaitoh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0625, 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.29: +33 -7 lines
Diff to previous 1.29 (colored)

 If error occured in bcmeth_ccb_attach(), free resources and return.

Revision 1.26.6.3 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:03 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.26.6.2: +1 -3 lines
Diff to previous 1.26.6.2 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:11 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.28: +1 -3 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.29 / (download) - annotate - [select for diffs], Thu Dec 15 09:28:02 2016 UTC (7 years, 4 months 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, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.28: +1 -3 lines
Diff to previous 1.28 (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.26.6.2 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:50 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.26.6.1: +2 -2 lines
Diff to previous 1.26.6.1 (colored) to branchpoint 1.26 (colored)

Sync with HEAD

Revision 1.28 / (download) - annotate - [select for diffs], Fri Jun 10 13:27:11 2016 UTC (7 years, 10 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.27: +2 -2 lines
Diff to previous 1.27 (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.26.6.1 / (download) - annotate - [select for diffs], Sat Mar 19 11:29:55 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.26: +5 -4 lines
Diff to previous 1.26 (colored)

Sync with HEAD

Revision 1.27 / (download) - annotate - [select for diffs], Tue Feb 9 08:32:08 2016 UTC (8 years, 2 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.26: +5 -4 lines
Diff to previous 1.26 (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.1.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:45 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.1.2.2: +29 -24 lines
Diff to previous 1.1.2.2 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.14.2.5 / (download) - annotate - [select for diffs], Thu May 22 11:39:31 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.14.2.4: +34 -24 lines
Diff to previous 1.14.2.4 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:44:57 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.24: +29 -24 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

sync with head

Revision 1.26 / (download) - annotate - [select for diffs], Sun Feb 23 21:19:06 2014 UTC (10 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Changes since 1.25: +3 -1 lines
Diff to previous 1.25 (colored)

#include <arm/locore.h>

Revision 1.25.2.2 / (download) - annotate - [select for diffs], Sat Feb 15 16:18:36 2014 UTC (10 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.25.2.1: +2022 -0 lines
Diff to previous 1.25.2.1 (colored) next main 1.26 (colored)

Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.

Revision 1.25.2.1, Mon Oct 28 22:51:16 2013 UTC (10 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.25: +0 -2019 lines
FILE REMOVED

file bcm53xx_eth.c was added on branch matt-nb5-mips64 on 2014-02-15 16:18:36 +0000

Revision 1.25 / (download) - annotate - [select for diffs], Mon Oct 28 22:51:16 2013 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Branch point for: matt-nb5-mips64
Changes since 1.24: +27 -24 lines
Diff to previous 1.24 (colored)

Add support for the BCM56340 iProc based switch

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:28:25 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.1.2.1: +113 -43 lines
Diff to previous 1.1.2.1 (colored)

resync with head

Revision 1.17.2.5 / (download) - annotate - [select for diffs], Tue Feb 19 02:22:02 2013 UTC (11 years, 2 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.17.2.4: +6 -1 lines
Diff to previous 1.17.2.4 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Feb 19 02:18:29 2013 UTC (11 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet
Changes since 1.23: +6 -1 lines
Diff to previous 1.23 (colored)

As with pax, use cf_flags 2 to indicate to use the bounce dma tag.

Revision 1.17.2.4 / (download) - annotate - [select for diffs], Thu Feb 7 06:51:49 2013 UTC (11 years, 2 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.17.2.3: +89 -36 lines
Diff to previous 1.17.2.3 (colored) to branchpoint 1.17 (colored)

Sync bcm53xx support to HEAD.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Wed Jan 23 00:05:41 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.14.2.3: +89 -36 lines
Diff to previous 1.14.2.3 (colored) to branchpoint 1.14 (colored)

sync with head

Revision 1.23 / (download) - annotate - [select for diffs], Sat Jan 19 00:35:24 2013 UTC (11 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.22: +2 -3 lines
Diff to previous 1.22 (colored)

Remove a KASSERT that is no longer valid (no restricted to only coherent
memory).
Fix c&p error for a !RCVMAGIC bus_dmamap_sync PREREAD.

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:45 2013 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.14.2.2: +219 -29 lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored)

sync with (a bit old) head

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jan 10 22:07:19 2013 UTC (11 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.21: +3 -2 lines
Diff to previous 1.21 (colored)

Don't hard code the frequency used for INTRCVLAZY but grab the correct
frequency from the cpu_softc.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jan 9 18:19:09 2013 UTC (11 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.20: +30 -16 lines
Diff to previous 1.20 (colored)

Don't rely on PKTTYPE in the rxsts since it becomes unreliable.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Dec 25 21:17:40 2012 UTC (11 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.19: +36 -12 lines
Diff to previous 1.19 (colored)

Change the way rx are consumed.  Only consume a 1/4 of the receive buffers
before refilling with new buffers.  Don't stop until there are no packets
left to receive.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Dec 19 02:44:39 2012 UTC (11 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.18: +22 -7 lines
Diff to previous 1.18 (colored)

Use max_linkhdr to determine what rcvoffset to program.

Revision 1.17.2.3 / (download) - annotate - [select for diffs], Fri Dec 7 22:47:13 2012 UTC (11 years, 4 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.17.2.2: +20 -8 lines
Diff to previous 1.17.2.2 (colored) to branchpoint 1.17 (colored)

Sync with HEAD.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Dec 7 22:21:03 2012 UTC (11 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.17: +20 -8 lines
Diff to previous 1.17 (colored)

Make evcnt'ers optional.

Revision 1.17.2.2 / (download) - annotate - [select for diffs], Wed Nov 28 22:40:22 2012 UTC (11 years, 4 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.17.2.1: +1946 -0 lines
Diff to previous 1.17.2.1 (colored) to branchpoint 1.17 (colored)

Merge improved arm support (especially Cortex) from HEAD
including OMAP and BCM53xx support.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:03 2012 UTC (11 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.1: +1797 -15 lines
Diff to previous 1.1 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.17.2.1, Thu Nov 8 21:32:48 2012 UTC (11 years, 5 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.17: +0 -1946 lines
FILE REMOVED

file bcm53xx_eth.c was added on branch matt-nb6-plus on 2012-11-28 22:40:22 +0000

Revision 1.17 / (download) - annotate - [select for diffs], Thu Nov 8 21:32:48 2012 UTC (11 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: matt-nb6-plus-nbase, matt-nb6-plus-base
Branch point for: matt-nb6-plus
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Reduce burstlen for RCV/XMT from 128bits to 96bits.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 8 00:59:12 2012 UTC (11 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.15: +171 -20 lines
Diff to previous 1.15 (colored)

Make sure to 0 sc_work_flags in ifstop.
return immediately in ifstart if IFF_RUNNING is not set.
Make RCVMAGIC checks conditional
Release softc lock when calling if_input.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Nov 1 21:33:12 2012 UTC (11 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.14: +43 -16 lines
Diff to previous 1.14 (colored)

If IFF_LINK2 is set, copy all transmitted packets into a single mbuf to
avoid DMA corruption problems with chained buffers.
Fix various conditions with setting INTMASK.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:18:59 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.14.2.1: +1768 -0 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored)

sync with head

Revision 1.14.2.1, Fri Oct 26 05:28:41 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.14: +0 -1768 lines
FILE REMOVED

file bcm53xx_eth.c was added on branch yamt-pagecache on 2012-10-30 17:18:59 +0000

Revision 1.14 / (download) - annotate - [select for diffs], Fri Oct 26 05:28:41 2012 UTC (11 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: yamt-pagecache
Changes since 1.13: +6 -2 lines
Diff to previous 1.13 (colored)

When writing intmask from a softint/workqueue thread, make sure to do so
only with the hwlock locked.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Oct 26 05:11:34 2012 UTC (11 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.12: +9 -9 lines
Diff to previous 1.12 (colored)

Use atomic_ops to manipulate sc_intmask

Revision 1.12 / (download) - annotate - [select for diffs], Thu Oct 18 02:34:34 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Make an ASSERT more "flexible".

Revision 1.11 / (download) - annotate - [select for diffs], Wed Oct 17 20:18:55 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.10: +4 -24 lines
Diff to previous 1.10 (colored)

Add a coherent bus dma tag which marks the first 256MB as having coherent
dma (but only for PCIe and ethernet).  Make the ethernet and PCIe attachments
use this tag instead of the default non-coherent one.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Oct 12 23:25:15 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.9: +89 -17 lines
Diff to previous 1.9 (colored)

Add some defensive code to deal with "issues" of this interface.
Seems it can't do DMA updates of the rxsts for mbufs with addresses
>= 256MB.  It can't also seem to properly read from the descriptor rings
if they are < 256MB.  And I have no idea why either should matter.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 8 20:54:10 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored)

Initialize the workqueue to use IPL_NET for its mutex.
Prefer softints if the current lwp is the idle lwp.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Oct 7 20:14:08 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.7: +128 -46 lines
Diff to previous 1.7 (colored)

Don't just rely on softints for handling rx traffic since that can starve
the system and eventually cause a watchdog timer to reset.  Instead use
softints for "small" number of packets and use a workqueue thread for large
numbers.  This allows receive processing to be handling at normal priorities
and won't starve out other parts of the system.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Oct 6 01:30:46 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.6: +13 -12 lines
Diff to previous 1.6 (colored)

Always set IC for each receive descriptor.
Make sure to produce rx descriptors even if you stop at the end of the ring.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 5 04:05:53 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.5: +5 -3 lines
Diff to previous 1.5 (colored)

Modify setting of PROMISC flag.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Oct 5 03:57:21 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.4: +14 -15 lines
Diff to previous 1.4 (colored)

Fix setting of ethernet address.
Don't set HASFCS

Revision 1.4 / (download) - annotate - [select for diffs], Fri Oct 5 03:24:51 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.3: +4 -3 lines
Diff to previous 1.3 (colored)

Set IC after clearing flags.
Insert RCVOFFSET correctly.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Oct 5 02:48:36 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.2: +33 -5 lines
Diff to previous 1.2 (colored)

Make sure to set IC in receive descritors.  Initial ET at end of ring.
Set INTRCVLAZY to collesce 10 packets or 1ms delay.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Oct 4 00:14:24 2012 UTC (11 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.1: +1450 -16 lines
Diff to previous 1.1 (colored)

Ethernet driver for BCM53XXX (not quite working).

Revision 1.1 / (download) - annotate - [select for diffs], Sat Sep 1 00:04:44 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
Branch point for: tls-maxphys

Add initial device support for the Broadcom BCM5301x family.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>