The NetBSD Project

CVS log for src/sys/dev/usb/if_axen.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / usb

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.94 / (download) - annotate - [select for diffs], Sat Aug 20 14:08:59 2022 UTC (5 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

usbnet(9): New usbnet_ispromisc(un).

Replaces ifp->if_flags & IFF_PROMISC in multicast filter updates.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:28 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored)

usbnet: Omit needless detachcv name parameter to usbnet_attach.

Revision 1.92 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:09 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.91: +3 -3 lines
Diff to previous 1.91 (colored)

usbnet: Factor usbnet_init_rx_tx out into usbnet_if_init.

Make it private; no need for drivers to call it any more.

Revision 1.91 / (download) - annotate - [select for diffs], Thu Mar 3 05:55:29 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored)

usbnet drivers: From *_uno_init, call *_uno_stop, not usbnet_stop.

Make usbnet_stop private now that no drivers use it.

None of the driver-independent logic in usbnet_stop has any effect at
this point because we are guaranteed not to be running, so only the
driver-dependent logic in *_uno_stop (at most) is needed.

For drivers with no *_uno_stop, just omit the call to usbnet_stop
altogether.

Some of this logic is obviously redundant with the subsequent call to
*_reset -- to be addressed in a subsequent commit.

Revision 1.90 / (download) - annotate - [select for diffs], Thu Mar 3 05:55:01 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.89: +2 -5 lines
Diff to previous 1.89 (colored)

usbnet drivers: Omit needless isdying tests in *_uno_init.

usbnet(9) already checks this immediately before calling *_uno_init.

Revision 1.89 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:37 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.88: +2 -17 lines
Diff to previous 1.88 (colored)

usbnet drivers: Omit needless usbnet core lock and assertions.

During attach, the caller has exclusive access to the usbnet until
usbnet_attach_ifp.  At other times, register access is serialized
either by the usbnet multicast lock or by IFNET_LOCK.

Revision 1.88 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:21 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.87: +8 -4 lines
Diff to previous 1.87 (colored)

usbnet drivers: Avoid undefined behaviour if read reg fails.

Some callers don't check the error code, e.g. ~all the mii phy
drivers using PHY_READ.  Just return zero if the device is gone or
the xfer fails for any other reason.

Revision 1.87 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:11 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.86: +9 -9 lines
Diff to previous 1.86 (colored)

axen(4): Use axen mii read/write reg routines, not usbnet ones.

The usbnet wrappers don't add anything important.  We already test
usbnet_isdying in axen_cmd, and that's already a best-effort thing
(which should probably be done better by having usbd_do_request fail
promptly if detaching anyway).

Revision 1.86 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:03 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.85: +3 -3 lines
Diff to previous 1.85 (colored)

usbnet drivers: Assert IFNET_LOCKED in if ioctl routines.

These only happen either during the transition up or down (init or
stop), or while that transition is excluded (ioctl).

This may be called from ioctl or from init, which both hold the ifnet
lock.

XXX smsc_setoe_locked should maybe trigger reinit because the rx loop
behaves differently depending on whether checksumming is enabled.

XXX mue_sethwcsum_locked needs to exclude mcast updates.

Revision 1.85 / (download) - annotate - [select for diffs], Thu Mar 3 05:53:33 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.84: +2 -5 lines
Diff to previous 1.84 (colored)

usbnet drivers: Omit redundant multicast filter update on init.

Revision 1.84 / (download) - annotate - [select for diffs], Thu Mar 3 05:53:23 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.83: +2 -6 lines
Diff to previous 1.83 (colored)

usbnet: Apply hardware multicast filter updates synchronously again.

To make this work:

1. Do it only under a new lock, unp_mcastlock.  This lock lives at
   IPL_SOFTCLOCK so it can be taken from network stack callouts.  It
   is forbidden to acquire the usbnet core lock under unp_mcastlock.

2. Do it only after usbnet_init_rx_tx and before usbnet_stop; if
   issued at any other time, drop the update on the floor.

3. Make usbnet_init_rx_tx apply any pending multicast filter updates
   under the lock before setting the flag that allows SIOCADDMULTI or
   SIOCDELMULTI to apply the updates.

4. Remove core lock asserts from various drivers' register access
   routines.  This is necessary because the multicast filter updates
   are done with register reads/writes, but _cannot_ take the core
   lock when the caller holds softnet_lock.

This now programs the hardware multicast filter redundantly in many
drivers which already explicitly call *_uno_mcast from the *_uno_init
routines.  This is probably harmless, but it will likely be better to
remove the explicit calls.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Mar 3 05:53:04 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.82: +5 -13 lines
Diff to previous 1.82 (colored)

usbnet drivers: Omit needless uno_mcast locked subroutines.

uno_mcast is now called with the core lock already held so there is
no need for a separate locked subroutine.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Mar 3 05:52:46 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.81: +2 -6 lines
Diff to previous 1.81 (colored)

usbnet: Take the core lock around uno_mcast.

Every driver does this already.  This will enable us to change the
lock that serializes access to the registers so we can go back to
doing this synchronously in SIOCADDMULTI/SIOCDELMULTI.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Mar 3 05:52:35 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.80: +3 -11 lines
Diff to previous 1.80 (colored)

usbnet drivers: Omit needless uno_init locked subroutines.

uno_init is now called with the core lock already held so there is no
need for a separate locked subroutine.

Revision 1.80 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:44 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.79: +2 -8 lines
Diff to previous 1.79 (colored)

usbnet drivers: No need for usbnet_busy during attach.

usbnet_detach cannot run until the attach routine has finished
(unless a driver goes out of its way to tie its shoelaces together
and explicitly call it during the attach routine, which none of them
do), so there is no need to hang onto a reference count that we
release before attach returns.

Revision 1.79 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:35 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.78: +2 -4 lines
Diff to previous 1.78 (colored)

usbnet drivers: No need for usbnet_busy in uno_ioctl.

This callback always runs with the IFNET_LOCK held, and the interface
cannot be detached until the IFNET_LOCK is released, so there is no
need to hang onto a reference count here.  (None of the subnet
drivers touch the IFNET_LOCK except to verify it is held sometimes.)

Revision 1.78 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:27 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.77: +2 -4 lines
Diff to previous 1.77 (colored)

usbnet drivers: No need for usbnet_busy in uno_mcast.

This callback always runs with IFNET_LOCK held, and during a task
that usbnet_detach prevents scheduling anew and waits for finishing
before completing the detach, so there is no need to hang onto a
reference count here.

Revision 1.77 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:17 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.76: +2 -6 lines
Diff to previous 1.76 (colored)

usbnet drivers: No need for usbnet_busy in uno_init.

This callback always runs with the IFNET_LOCK held, and the interface
cannot be detached until the IFNET_LOCK is released, so there is no
need to hang onto a reference count here.  (None of the usbnet
drivers touch the IFNET_LOCK except to verify it is held sometimes.)

Revision 1.76 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:06 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.75: +18 -6 lines
Diff to previous 1.75 (colored)

usbnet: Split multicast filter reprogramming into separate operation.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Mar 3 05:50:22 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.74: +2 -4 lines
Diff to previous 1.74 (colored)

usbnet: Enter uno_init with the core lock held.

This reduces code in all drivers except urndis(4) and aue(4).

However, it's still safe for urndis to drop the core lock because the
ifnet is locked, and the ifnet lock covers the DOWN->UP (uno_init)
and UP->DOWN (uno_stop) transitions.

Revision 1.74 / (download) - annotate - [select for diffs], Thu Mar 3 05:48:06 2022 UTC (11 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.73: +2 -4 lines
Diff to previous 1.73 (colored)

axen(4), mue(4), smsc(4): Omit irrelevant cases in ioctl.

SIOCSIFFLAGS and SIOCSETHERCAP always end up in ether_ioctl_reinit,
which triggers the same logic to reprogram the multicast filters
anyway.

Revision 1.11.8.9 / (download) - annotate - [select for diffs], Fri Aug 28 19:44:22 2020 UTC (2 years, 5 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.8: +8 -2 lines
Diff to previous 1.11.8.8 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1599):

	sys/dev/usb/if_atu.c: revision 1.73
	sys/dev/usb/if_axe.c: apply patch
	sys/dev/usb/if_axen.c: apply patch

atu(4): Reject packets larger than MCLBYTES.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:49 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.13.2.1: +328 -1051 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.73 / (download) - annotate - [select for diffs], Sun Mar 15 23:04:50 2020 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, 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
Changes since 1.72: +58 -72 lines
Diff to previous 1.72 (colored)

Define and implement a locking protocol for the ifmedia / mii layers:
- MP-safe drivers provide a mutex to ifmedia that is used to serialize
  access to media-related structures / hardware regsiters.  Converted
  drivers use the new ifmedia_init_with_lock() function for this.  The
  new name is provided to ease the transition.
- Un-converted drivers continue to call ifmedia_init(), which will supply
  a compatibility lock to be used instead.  Several media-related entry
  points must be aware of this compatibility lock, and are able to acquire
  it recursively a limited number of times, if needed.  This is a SPIN
  mutex with priority IPL_NET.
- This same lock is used to serialize access to PHY registers and other
  MII-related data structures.

The PHY drivers are modified to acquire and release the lock, as needed,
and assert the lock is held as a diagnostic aid.

The "usbnet" framework has had an overhaul of its internal locking
protocols to fit in with the media / mii changes, and the drivers adapted.

USB wifi drivers have been changed to provide their own adaptive mutex
to the ifmedia later via a new ieee80211_media_init_with_lock() function.
This is required because the USB drivers need an adaptive mutex.

Besised "usbnet", a few other drivers are converted: vmx, wm, ixgbe / ixv.

mcx also now calls ifmedia_init_with_lock() because it needs to also use
an adaptive mutex.  The mcx driver still needs to be fully converted to
NET_MPSAFE.

Revision 1.72 / (download) - annotate - [select for diffs], Sat Mar 14 02:35:33 2020 UTC (2 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.71: +12 -12 lines
Diff to previous 1.71 (colored)

revert the 0x% -> %# change for fixed width formats pointed out by uwe.

Revision 1.71 / (download) - annotate - [select for diffs], Fri Mar 13 18:17:40 2020 UTC (2 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.70: +13 -13 lines
Diff to previous 1.70 (colored)

PR/55068: sc.dying: Fix printf formats:
- no %s/%p for kernel log
- 0x% -> %#
- always %j for kernel log

Revision 1.68.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:19:16 2020 UTC (2 years, 11 months ago) by ad
Branch: ad-namecache
Changes since 1.68.2.1: +6 -6 lines
Diff to previous 1.68.2.1 (colored) to branchpoint 1.68 (colored) next main 1.69 (colored)

Sync with head.

Revision 1.70 / (download) - annotate - [select for diffs], Wed Jan 29 06:24:10 2020 UTC (3 years ago) by thorpej
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.69: +6 -6 lines
Diff to previous 1.69 (colored)

Adopt <net/if_stats.h>.

Revision 1.68.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:32 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Sync with head.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Jan 15 08:02:53 2020 UTC (3 years ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Use a define instead of a magic constant.  NFCI.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Jan 7 06:42:26 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Localify, constify.

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Sun Sep 1 13:00:37 2019 UTC (3 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.50: +291 -1210 lines
Diff to previous 1.50 (colored) next main 1.51 (colored)

Pull up following revision(s) (requested by mrg in ticket #135):

	distrib/sets/lists/comp/mi			1.2279
	distrib/sets/lists/modules/mi			1.123
	share/man/man9/Makefile				1.438
	share/man/man9/usbnet.9				1.1-1.9
	sys/dev/ic/rndisreg.h				1.3
	sys/dev/usb/TODO				1.47-1.52
	sys/dev/usb/TODO.usbmp				1.15,1.16
	sys/dev/usb/files.usb				1.157-1.167
	sys/dev/usb/if_aue.c				1.155-1.161
	sys/dev/usb/if_auereg.h				1.30-1.32
	sys/dev/usb/if_axe.c				1.103-1.119
	sys/dev/usb/if_axen.c				1.51-1.53,1.55-1.67
	sys/dev/usb/if_axenreg.h			1.15
	sys/dev/usb/if_cdce.c				1.54-1.67
	sys/dev/usb/if_cue.c				1.85,1.86
	sys/dev/usb/if_cuereg.h				1.23
	sys/dev/usb/if_kue.c				1.97-1.100
	sys/dev/usb/if_kuereg.h				1.23,1.24
	sys/dev/usb/if_mue.c				1.51-1.55
	sys/dev/usb/if_muereg.h				1.6
	sys/dev/usb/if_muevar.h				1.9
	sys/dev/usb/if_smsc.c				1.46-1.61
	sys/dev/usb/if_smscreg.h			1.6
	sys/dev/usb/if_smscvar.h			delete
	sys/dev/usb/if_udav.c				1.60-1.71
	sys/dev/usb/if_udavreg.h			1.14,1.15
	sys/dev/usb/if_upl.c				1.65,1.66
	sys/dev/usb/if_ure.c				1.15-1.31
	sys/dev/usb/if_urevar.h				1.4,1.5
	sys/dev/usb/if_url.c				1.67-1.70
	sys/dev/usb/if_urlreg.h				1.14
	sys/dev/usb/if_urndis.c				1.22-1.33
	sys/dev/usb/if_urtwn.c				1.72
	sys/dev/usb/ohci.c				1.290
	sys/dev/usb/uhub.c				1.143
	sys/dev/usb/usb.c				1.180
	sys/dev/usb/usb.h				1.118
	sys/dev/usb/usb_mem.c				1.71
	sys/dev/usb/usb_subr.c				1.238,1.239
	sys/dev/usb/usbdevs				1.772
	sys/dev/usb/usbdi.c				1.183,1.186
	sys/dev/usb/usbdi.h				1.97
	sys/dev/usb/usbdi_util.c			1.75
	sys/dev/usb/usbhist.h				1.5,1.6
	sys/dev/usb/usbnet.c				1.1-1.24
	sys/dev/usb/usbnet.h				1.1-1.14
	sys/dev/usb/usbroothub.c			1.9
	sys/dev/usb/xhci.c				1.109,1.110
	sys/modules/Makefile				1.223
	sys/modules/usbnet/Makefile			1.1

usbnet(9): Add common framework for USB network devices.
This bring various safety fixes to all updated drivers,
and includes locking clean up, detach safety when being
used or not, separate rx/tx locks to improve performance,
porting to NET_MPSAFE, many edge/error case bugs in
drivers fixed, as well as resovling PRs 54303 and 54308.
These drivers are converted: axe(4), axen(4), aue(4),
cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4),
upl(4), ure(4), url(4), and urndis(4).

Revision 1.67 / (download) - annotate - [select for diffs], Fri Aug 23 04:32:57 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.66: +3 -3 lines
Diff to previous 1.66 (colored)

s/UBSNET_MII_DECL_DEFAULT/USBNET_MII_DECL_DEFAULT/.  from sc.dying.

Revision 1.66 / (download) - annotate - [select for diffs], Tue Aug 20 06:37:06 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.65: +22 -17 lines
Diff to previous 1.65 (colored)

couple more changes to usbnet(9):

- MII read/write reg return int instead of usbd_status (requested by skrll)
- usbnet_attach_ifp(9) changes arg, two mii-specific flags are placed by a
  pointer to new struct usbnet_mii.  if not NULL, then attach an MII to this
  interface like previous have_mii parameter.  use this to allow ure(4) to
  properly pass PHY location to mii_attach().

welcome netbsd 9.99.10.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Aug 19 07:33:37 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.64: +9 -3 lines
Diff to previous 1.64 (colored)

move the check against un_phyno from usbnet back into the drivers
that do this (axe, axen, mue, smsc, ure.)  it made mii scanning
only work for phy 0, and aue needs it for at least one device.

fix smsc to return usbd_status not -1 on failure.  XXX smsc was
writing to '*val' even in error cases, it does not now.

remove a double call to IFQ_SET_READY() (noticed by chuq).

avoid unlock+instant relock by using usbnet_lock_mii_un_locked().

Revision 1.64 / (download) - annotate - [select for diffs], Thu Aug 15 05:52:23 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.63: +5 -8 lines
Diff to previous 1.63 (colored)

- usbnet_rx_loop_cb's usbd_xfer parameter is never used and available
  in the usbnet_chain if needed.  remove it
- usbnet media status change already set link to false, don't repeat
  this in every driver
- don't clear link in stop, nothing was re-enabling it for non-MII
- add optional uno_tick_cb(struct usbnet *un) that is called from the
  usbnet tick timer
- remove wrong debug sysctl prototype

rx_loop and timer are kernel versions changes, but hopefully this is
the last one for usbnet.  working with 3 more drivers now (cue, mue
and url), leaving only aue, kue, upl and umb undone (aue may work
with previously supported devices, mine doesn't work with our driver,
kue and upl have patches for testing and umb is undone.)

Revision 1.63 / (download) - annotate - [select for diffs], Wed Aug 14 03:44:58 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.62: +3 -27 lines
Diff to previous 1.62 (colored)

introduce usbnet_set_dying().  will be used by url(4) conversion.
bump version.

introduce USBNET_MODULE() that encompasses almost all the module
specific code for usbnet modules.  they still need to include
the relevant ioconf.c, but everything else is now just, eg,

	USBNET_MODULE(axen)

Revision 1.62 / (download) - annotate - [select for diffs], Sun Aug 11 08:57:36 2019 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored)

Appease module build

Revision 1.61 / (download) - annotate - [select for diffs], Sun Aug 11 02:37:03 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.60: +4 -4 lines
Diff to previous 1.60 (colored)

copy a pattern from if_udav.c, which already had "too much" check.

even though overflow or underflow is really unlikely here, reorder
various expressions to reduce the likelyhood even further.

Revision 1.60 / (download) - annotate - [select for diffs], Sun Aug 11 01:04:33 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.59: +6 -5 lines
Diff to previous 1.59 (colored)

in tx_prepare callback make sure to reject any mbuf that is larger
than can fit in the buffer.  done at the driver and not usbnet
layer because the driver knows how much beyond the mbuf data needs
to be sent (headers and trailers.)

axen(4) had a KASSERT() for this condition, but there's no
invariant here we can check so it's best as an error return.

XXX: only tested on these drivers, needs to be copied to udav, smsc
and urndis after testing as well as the not commited conversions.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Aug 10 02:17:36 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.58: +17 -16 lines
Diff to previous 1.58 (colored)

reduce the scope of struct usbnet:
- move a large number of members internal to usbnet.c's new
  "struct usbnet_private".
- provide accessors for a few of these
- move struct usbnet_cdata into usbnet.c as well, but move
  bufsz, list count, and xfer flags back out into struct usbnet,
  and have them set as part of the setup efore usbnet_attach()
- split the intr pipe parts into their own structure
- move all the main usbnet*lock* code into usbnet.c too

usbnet_attach() goes down to 2 args, and the inputs needed are
now the full contents of 'struct usbnet' besides the driver
owned 'un_flags' and usbnet owned 'un_pri'.

welcome netbsd 9.99.6.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Aug 9 02:52:59 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.57: +55 -78 lines
Diff to previous 1.57 (colored)

use new un_flags member of usbnet:
- axen(4) and cdce(4) are now able to use struct usbnet directly
  as softc, udav also done but untested

Revision 1.57 / (download) - annotate - [select for diffs], Fri Aug 9 01:17:33 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.56: +43 -38 lines
Diff to previous 1.56 (colored)

update usbnet some:
- move rx/tx xfer flags into usbnet_cdata
- move the callbacks into usbnet_ops structure
- move rx/tx xfer flags arguments from usbnet_init_rx_tx()
  and move them all into usbnet_attach() arguments
- s/miibus/mii/ in some places for consistency

other clean up:
- create wrapper functions for callbacks, move knowledge about
  special handling (OK to be missing, error eating) there.
- use cdata pointer if already available
- provide some more macros (will be real functions later) for
  accessing usbnet members, use existing ones more

bump kernel version.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Aug 6 01:42:22 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.55: +2 -4 lines
Diff to previous 1.55 (colored)

for ethernet usb network devices, print the mac addr in usbnet.

Revision 1.55 / (download) - annotate - [select for diffs], Tue Aug 6 00:19:57 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.54: +5 -5 lines
Diff to previous 1.54 (colored)

extend usbnet to cope with if_upl, if_smsc, and if_umb needs:

- usbnet_enqueue() can set mbuf flags and csum_data
- usbnet_input() for non-ethernet based devices (upl, umb)
- allow a complete override for ioctl()
- remove converted list -- we have compiling and/or working patches for
  all the devices except for umb(4), will be merged as testing happens

hopefully this is the last ABI change, though  it may end up being
extended for additional smsc(4)  support.


hello for real netbsd 9.99.3!

Revision 1.54 / (download) - annotate - [select for diffs], Mon Aug 5 07:03:55 2019 UTC (3 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.53: +3 -3 lines
Diff to previous 1.53 (colored)

Typo in error message

Revision 1.53 / (download) - annotate - [select for diffs], Sun Aug 4 08:59:13 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.52: +16 -15 lines
Diff to previous 1.52 (colored)

- adjust usbnet interface to allow usbd_open_pipe_intr(), from the
  new comment:
	 * if un_intr_buf is not NULL, use usbd_open_pipe_intr() not
	 * usbd_open_pipe() for USBNET_ENDPT_INTR, with this buffer,
	 * size, and interval.
  the standard handling is in usbnet.c, with a callback to deal with
  the interrupt it self.  not fully tested, designed for if_aue.c
  and a few others not yet converted.
- make usbhist for usbnet.c work, thanks paulg
- usbnet_init_rx_tx() clears out all allocations upon failure now
- add usbnet_ec() to get a pointer to the struct ethercom
- add usbnet_{lock,unlock,owned}*() to lock/unlock the various locks
  and *owned*() for asserting

welcome 9.99.3!

Revision 1.52 / (download) - annotate - [select for diffs], Wed Jul 31 23:47:16 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.51: +16 -21 lines
Diff to previous 1.51 (colored)

couple of minor API updates:
- change the read/write register callbacks to have the same phy/reg
  order as the MII code.
- add "mii_flags" param to usbnet_attach_ifp().  axe(4) wants it.

also:
- add usbnet debug code, sysctl node support
- remove commented DPRINTF()s accidentally left in place
- add usbnet_softc()
- reorder some attach code to be consistent
- re-add USBD_FORCE_SHORT_XFER for axen rx chain

ride 9.99.2 bump.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Jul 31 09:13:16 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.50: +246 -1127 lines
Diff to previous 1.50 (colored)

introduce a library of common code / backends to share code between
USB ethernet drivers.

usbnet.h introduces a new set of APIs to provide common solutions
for these driver features:
 - USB endpoint pipe handling
 - rx and tx chain handling
 - generic handlers or support for several struct ifnet callbacks
 - MII bus locking
 - interrupt handling
 - partial autoconf handling: much of attach, and detach/activate
   can use common versions directly.

currently, only axen(4) and cdce(4) are converted.  the reductions
in these drivers are quite significant:  if_cdce.c is reduced from
1000 lines to 320 lines, and if_axen is reduced from 1902 lines
to 1021 lines.

add a "usbnet" module and make the if_axen module depend upon it.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Jul 15 03:14:22 2019 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-9-base
Branch point for: netbsd-9
Changes since 1.49: +3 -4 lines
Diff to previous 1.49 (colored)

minor white space adjustments.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jun 28 01:57:43 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.48: +30 -17 lines
Diff to previous 1.48 (colored)

more smp cleanup for ure(4)/axen(4)/cdce(4):

- convert IFF_ALLMULTI to ETHER_F_ALLMULTI, using ETHER_LOCK()
- remove IFF_OACTIVE use, and simply check the ring count in start
- assert/take more locks
- XXX: IFF_RUNNING is not properly protected (all driver problem)
- fix axen_timer setting so it actually runs
- document a locking issue in stop callback:
  stop is called with the softc lock held, but the lock order
  in all other places is ifnet -> softc -> rx -> tx, so taking
  ifnet lock when softc lock is held would be problematic
- in rxeof check for stopping/dying more often.  i managed to
  trigger a pagefault in cdce_rxeof() when yanking an active
  device as it attempted to usbd_setup_xfer() on closed pipes.
- add missing USBD_MPSAFE and cdce_stopping resetting for cdce(4)

between this and other recent clean ups increase performance of
these drivers mostly.  some numbers (in mbit/sec):

	old:				new:
driver	in	out	in+out		in	out	in+out
----	--	---     ------		--	---	------
cdce	39	32	44		38	33	54
axen	44	34	45		48	37	42
ure	36	34	35		36	38	38

i'm not sure why axen drops a little with in+out.  cdce is
helped quite a lot, and ure a little.  it is disappointing that
ure does not outperform cdce -- it's the same actual hardware,
and the device-specific (ure) should outperform the generic
cdce driver...

Revision 1.48 / (download) - annotate - [select for diffs], Sat Jun 22 10:58:39 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.47: +16 -9 lines
Diff to previous 1.47 (colored)

wrap axen_iff() with axen_iff_locked().
add a missing lock exit in error path.

Revision 1.47 / (download) - annotate - [select for diffs], Sat Jun 22 09:53:56 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.46: +14 -54 lines
Diff to previous 1.46 (colored)

mark this driver MPSAFE for usb tasks and pipes, if(4), and callouts.
remove remaining redundant spl calls.

Revision 1.46 / (download) - annotate - [select for diffs], Sat Jun 22 08:09:08 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.45: +250 -78 lines
Diff to previous 1.45 (colored)

re-apply rev 1.44 with a minor bug fix in axen_tick_task().

it introduced a problem when there wasn't a reasonaly constant
stream of incoming packets, and i had a 'nttcp' running against
my test machine constantly, avoiding the bug.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Jun 22 07:17:13 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.44: +78 -251 lines
Diff to previous 1.44 (colored)

revert the previous.

i'm fairly postive i tested it, as i tested enabing mpsafe version
on top of this successfully.  however, something happened mid-ssh
with a kernel with mpsafe and my session hung, and since then i've
been unable to boot kernels with the previous revision applied.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Jun 21 14:19:46 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.43: +251 -78 lines
Diff to previous 1.43 (colored)

fix issues seen with transfers being reused before they are finished
being used.

adapt locking to the modern world.  some what inspired by if_smsc.c:
- add locks for softc, rx and tx
- add safe detach support
- safe detach vs mii lock requires 2 methods to lock the MII lock,
- check axen_dying and new axen_stopping more often
- consolidate checks to reduce the number of error paths that need
  to release a resource
- move axen_watchdog() out of if_timer into the tick task to
  prepare for MPSAFEification

TODO:
- remove spl usage
- enable mpsafe

special thanks to skrll and mlelstv for clearing up various
confusion and providing examples.

Revision 1.43 / (download) - annotate - [select for diffs], Thu Jun 20 10:46:24 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.42: +50 -54 lines
Diff to previous 1.42 (colored)

minor clean up, almost NFCI:
- use const, __func__, more
- axen_mii_lock is a normal mutex not rwlock, and make sure it's
  properly cleaned up for failed attach
- check axen_dying in axen_miibus_statchg()
- rename axen_ax88179_eeprom() to axen_get_eaddr() and move the code
  here into the support the current method.
- adjust some comments

Revision 1.42 / (download) - annotate - [select for diffs], Tue Jun 18 09:34:57 2019 UTC (3 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.41: +65 -2 lines
Diff to previous 1.41 (colored)

move struct axen_chain, struct axen_cdata, struct axen_softc,
struct axen_type, sc_if, GET_MII(), and GET_IFP() -- all the
software defined components from if_axenreg.h into if_axen.c.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:33 2019 UTC (3 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.13: +281 -180 lines
Diff to previous 1.13 (colored)

Sync with HEAD

Revision 1.41 / (download) - annotate - [select for diffs], Tue May 28 07:41:50 2019 UTC (3 years, 8 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20190609
Changes since 1.40: +5 -2 lines
Diff to previous 1.40 (colored)

 Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.

Revision 1.40 / (download) - annotate - [select for diffs], Thu May 23 13:10:52 2019 UTC (3 years, 8 months ago) by msaitoh
Branch: MAIN
Changes since 1.39: +5 -5 lines
Diff to previous 1.39 (colored)

 Whitespace fix (mainly tabify).

Revision 1.39 / (download) - annotate - [select for diffs], Thu May 23 10:57:29 2019 UTC (3 years, 8 months ago) by msaitoh
Branch: MAIN
Changes since 1.38: +9 -9 lines
Diff to previous 1.38 (colored)

-No functional change:
  - KNF
  - u_int*_t -> uint*_t.

Revision 1.11.8.8 / (download) - annotate - [select for diffs], Mon May 13 12:40:13 2019 UTC (3 years, 8 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.11.8.7: +3 -3 lines
Diff to previous 1.11.8.7 (colored) to branchpoint 1.11 (colored)

Pull up the following, via patch, requested by msaitoh in ticket #1263:

	sys/dev/mii/brgphy.c				1.84
	sys/dev/mii/ciphy.c				1.33 via patch
	sys/dev/mii/rgephy.c				1.53
	sys/arch/arm/imx/if_enet.c			1.18
	sys/arch/mips/adm5120/dev/if_admsw.c		1.19-1.20
	sys/dev/pci/if_bge.c				1.329
	sys/dev/pci/if_bnx.c				1.81
	sys/dev/pci/if_et.c				1.21
	sys/dev/pci/if_lii.c				1.22
	sys/dev/pci/if_msk.c				1.87
	sys/dev/pci/if_nfe.c				1.68
	sys/dev/pci/if_sk.c				1.95
	sys/dev/pci/if_ti.c				1.107
	sys/dev/pci/if_txp.c				1.52
	sys/dev/pci/if_vge.c				1.69
	sys/dev/usb/if_axen.c				1.38
	sys/dev/usb/if_aue.c				1.149

Fix a bug that the duplex of manual media setting may be wrong
when the IFM_GMASK bit other than IFM_[FH]DX is set.

Revision 1.38 / (download) - annotate - [select for diffs], Thu Apr 11 08:50:59 2019 UTC (3 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

 Fix a bug that the duplex of manual media setting may be wrong
when the IFM_GMASK bit other than IFM_[FH]DX is set.

Revision 1.11.8.7 / (download) - annotate - [select for diffs], Wed Feb 20 09:49:48 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.6: +7 -8 lines
Diff to previous 1.11.8.6 (colored) to branchpoint 1.11 (colored)

Pull up following revision(s) (requested by rin in ticket #1194):

	sys/dev/usb/if_axen.c: revision 1.26
	sys/dev/usb/if_axenreg.h: revision 1.7

Remove unused variable in axen_softc.

Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.

Revision 1.11.8.6 / (download) - annotate - [select for diffs], Tue Feb 19 15:09:51 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.5: +22 -18 lines
Diff to previous 1.11.8.5 (colored) to branchpoint 1.11 (colored)

Pull up following revision(s) (requested by rin in ticket #1192):

	sys/dev/usb/if_axen.c: revision 1.27
	sys/dev/usb/if_axenreg.h: revision 1.6
	sys/dev/usb/if_axen.c: revision 1.32
	sys/dev/usb/if_axen.c: revision 1.35
	sys/dev/usb/if_axen.c: revision 1.37
	sys/dev/usb/if_axenreg.h: revision 1.10
	sys/dev/usb/if_axenreg.h: revision 1.11
	sys/dev/usb/if_axen.c: revision 1.24

Correct error bits in RX packet header:
- Drop error is bit 31.
- CRC error is bit 29.
- Distinguish the two errors in debug printf.

Cosmetic changes; no functional changes.

Add couple of error printf.

XXX We should not to use aprint_xxx() for non-autoconf staffs.

Add ratecheck for TX errors for axen(4) and mue(4).

Remove unused.

Revision 1.11.8.5 / (download) - annotate - [select for diffs], Tue Feb 19 15:05:52 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.4: +165 -87 lines
Diff to previous 1.11.8.4 (colored) to branchpoint 1.11 (colored)

Pull up following revision(s) (requested by rin in ticket #1191):

	sys/dev/usb/if_axen.c: revision 1.28
	sys/dev/usb/if_axen.c: revision 1.29
	sys/dev/usb/if_axenreg.h: revision 1.4
	sys/dev/usb/if_axenreg.h: revision 1.5
	sys/dev/usb/if_axen.c: revision 1.19
	sys/dev/usb/if_axenreg.h: revision 1.8
	sys/dev/usb/if_axen.c: revision 1.30
	sys/dev/usb/if_axen.c: revision 1.31
	sys/dev/usb/if_axen.c: revision 1.36
	sys/dev/usb/if_axen.c: revision 1.20
	sys/dev/usb/if_axen.c: revision 1.23
	sys/dev/usb/if_axen.c: revision 1.25

Fix HW checksum offloading.
- Enable ones specified in if_capenable and remove AXEN_TOE macro.
- Check correct bit and set appropriate csum_flags.
- Pass packets of wrong checksum to upper layer instead of dropping them.
- Fix value of AXEN_RXHDR_L3_TYPE_MASK.

Tested on ASIX Elec. Corp. (0xb95) AX88179 (0x1790).

Fix previous:
- axen_coe() should be called from axen_init(), not axen_ax88179_init().
- Simplify logic in axen_coe(); AXEN_[RT]XCOE_OFF = 0.

Enable hash-table-based multicast filter:
- Drop AXEN_RXCTL_ACPT_PHY_MCAST bit (neither Linux nor FreeBSD sets it).
- 0x0010 bit is not AXEN_RXCTL_ACPT_BCAST ("accept broadcast") but
   AXEN_RXCTL_ACPT_MCAST ("accept multicast (hash-table-based)").

Remove useless memset.

Fix padding for a full length USB packet in TX:
- Update boundary length for SS mode, taken from OpenBSD.
- Make sure everything passed to the adapter is little endian.
- Specify padding bits in a similar manner to Linux.

XXX I wonder whether this is really necessary...

Support TSOv4 (They call it LSOv1).
The adapter does not support TSOv6 (aka LSOv2).

Fix previous.

Oops, fix previous again. Really support TSOv4.

Use unsigned variables for buffer length to avoid compiler warnings.

Revision 1.11.8.4 / (download) - annotate - [select for diffs], Tue Feb 19 14:51:24 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.3: +14 -12 lines
Diff to previous 1.11.8.3 (colored) to branchpoint 1.11 (colored)

Pull up following revision(s) (requested by rin in ticket #1190):

	sys/dev/usb/if_axen.c: revision 1.21
	sys/dev/usb/if_axen.c: revision 1.22

Enable AXEN_RXCTL_START bit only when RX is ready. Otherwise,
the adapter eventually falls into "no carrier" state while it
is not running.

In axen_tick_task(), call axen_miibus_statchg() when link is lost
(like other drivers). Otherwise, link can be lost forever, which
results in sysmtem freeze.

Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Feb 17 09:33:19 2019 UTC (3 years, 11 months ago) by rin
Branch: MAIN
Changes since 1.36: +2 -4 lines
Diff to previous 1.36 (colored)

Remove unused.

Revision 1.36 / (download) - annotate - [select for diffs], Thu Feb 7 10:36:20 2019 UTC (4 years ago) by mlelstv
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Use unsigned variables for buffer length to avoid compiler warnings.

Revision 1.11.8.3 / (download) - annotate - [select for diffs], Thu Feb 7 06:14:34 2019 UTC (4 years ago) by msaitoh
Branch: netbsd-8
Changes since 1.11.8.2: +4 -3 lines
Diff to previous 1.11.8.2 (colored) to branchpoint 1.11 (colored)

Pullup the following revisions (requested by martin in ticket #1182):
sys/dev/usb/if_axen.c				1.14
share/man/man4/axen.4				1.7

	Andrius V in Pr kern/53461: add D-Link DUB-1312

Revision 1.35 / (download) - annotate - [select for diffs], Wed Feb 6 08:38:41 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored)

Add ratecheck for TX errors for axen(4) and mue(4).

Revision 1.34 / (download) - annotate - [select for diffs], Wed Feb 6 08:16:49 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.33: +8 -4 lines
Diff to previous 1.33 (colored)

Fix panic when detach or "ifconfig down" for axen(4) and mue(4).
- Mitigate race conditions, that become critical when multiple outstanding
  transfers are enabled.
- Drop link flags earlier in foo_stop() to make sure (paranoia).

Revision 1.33 / (download) - annotate - [select for diffs], Wed Feb 6 08:06:59 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.32: +34 -23 lines
Diff to previous 1.32 (colored)

Enable multiple outstanding transfers.
XXX Linux driver uses much larger numbers of transfers.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Feb 6 08:04:08 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.31: +4 -2 lines
Diff to previous 1.31 (colored)

Add couple of error printf.

XXX We should not to use aprint_xxx() for non-autoconf staffs.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Feb 6 08:01:24 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.30: +4 -3 lines
Diff to previous 1.30 (colored)

Oops, fix previous again. Really support TSOv4.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Feb 6 07:59:24 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored)

Fix previous.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Feb 6 07:56:14 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.28: +21 -10 lines
Diff to previous 1.28 (colored)

Support TSOv4 (They call it LSOv1).
The adapter does not support TSOv6 (aka LSOv2).

Revision 1.28 / (download) - annotate - [select for diffs], Wed Feb 6 07:48:33 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.27: +23 -14 lines
Diff to previous 1.27 (colored)

Fix padding for a full length USB packet in TX:
- Update boundary length for SS mode, taken from OpenBSD.
- Make sure everything passed to the adapter is little endian.
- Specify padding bits in a similar manner to Linux.

XXX I wonder whether this is really necessary...

Revision 1.27 / (download) - annotate - [select for diffs], Wed Feb 6 07:35:46 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.26: +11 -8 lines
Diff to previous 1.26 (colored)

Cosmetic changes; no functional changes.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Feb 6 07:31:38 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.25: +7 -8 lines
Diff to previous 1.25 (colored)

Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Feb 6 07:28:01 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.24: +2 -5 lines
Diff to previous 1.24 (colored)

Remove useless memset.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jan 31 15:27:57 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.23: +7 -6 lines
Diff to previous 1.23 (colored)

Correct error bits in RX packet header:
- Drop error is bit 31.
- CRC error is bit 29.
- Distinguish the two errors in debug printf.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jan 31 15:26:24 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.22: +23 -18 lines
Diff to previous 1.22 (colored)

Enable hash-table-based multicast filter:
- Drop AXEN_RXCTL_ACPT_PHY_MCAST bit (neither Linux nor FreeBSD sets it).
- 0x0010 bit is not AXEN_RXCTL_ACPT_BCAST ("accept broadcast") but
  AXEN_RXCTL_ACPT_MCAST ("accept multicast (hash-table-based)").

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jan 31 15:24:13 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.21: +4 -11 lines
Diff to previous 1.21 (colored)

In axen_tick_task(), call axen_miibus_statchg() when link is lost
(like other drivers). Otherwise, link can be lost forever, which
results in sysmtem freeze.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jan 31 15:22:56 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.20: +12 -3 lines
Diff to previous 1.20 (colored)

Enable AXEN_RXCTL_START bit only when RX is ready. Otherwise,
the adapter eventually falls into "no carrier" state while it
is not running.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Jan 31 15:21:05 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.19: +31 -39 lines
Diff to previous 1.19 (colored)

Fix previous:
- axen_coe() should be called from axen_init(), not axen_ax88179_init().
- Simplify logic in axen_coe(); AXEN_[RT]XCOE_OFF = 0.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jan 30 11:13:25 2019 UTC (4 years ago) by rin
Branch: MAIN
Changes since 1.18: +107 -44 lines
Diff to previous 1.18 (colored)

Fix HW checksum offloading.
- Enable ones specified in if_capenable and remove AXEN_TOE macro.
- Check correct bit and set appropriate csum_flags.
- Pass packets of wrong checksum to upper layer instead of dropping them.
- Fix value of AXEN_RXHDR_L3_TYPE_MASK.

Tested on ASIX Elec. Corp. (0xb95) AX88179 (0x1790).

Revision 1.12.2.4 / (download) - annotate - [select for diffs], Sat Jan 26 22:00:24 2019 UTC (4 years ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.12.2.3: +25 -24 lines
Diff to previous 1.12.2.3 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

Sync with HEAD

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 22 03:42:28 2019 UTC (4 years ago) by msaitoh
Branch: MAIN
CVS Tags: pgoyette-compat-20190127
Changes since 1.17: +25 -24 lines
Diff to previous 1.17 (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.12.2.3 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:51 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.12.2.2: +3 -3 lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored)

Ssync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Wed Sep 12 21:57:18 2018 UTC (4 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Don't have modules depend on bpf; they will find the dependency dynamically
at runtime. Otherwise builtin modules will complain about non-builtin bpf.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:04 2018 UTC (4 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.12.2.1: +5 -7 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored)

Sync with HEAD

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

Revision 1.11.8.2 / (download) - annotate - [select for diffs], Wed Aug 8 10:28:35 2018 UTC (4 years, 6 months ago) by martin
Branch: netbsd-8
Changes since 1.11.8.1: +5 -7 lines
Diff to previous 1.11.8.1 (colored) to branchpoint 1.11 (colored)

Pull up following revision(s) (requested by riastradh in ticket #963):

	sys/dev/usb/if_cue.c: revision 1.80
	sys/dev/usb/umcs.c: revision 1.11
	sys/dev/usb/umcs.c: revision 1.12
	sys/dev/usb/if_ural.c: revision 1.56
	sys/dev/usb/if_run.c: revision 1.28
	sys/dev/usb/if_ural.c: revision 1.57
	sys/dev/usb/if_run.c: revision 1.29
	sys/dev/usb/uatp.c: revision 1.16
	sys/dev/usb/uatp.c: revision 1.17
	sys/dev/usb/if_axe.c: revision 1.91
	sys/dev/usb/if_axe.c: revision 1.92
	sys/dev/usb/if_zyd.c: revision 1.49
	sys/dev/usb/if_axen.c: revision 1.15
	sys/dev/usb/if_url.c: revision 1.60
	sys/dev/usb/if_udav.c: revision 1.54
	sys/dev/usb/if_axen.c: revision 1.16
	sys/dev/usb/if_udav.c: revision 1.55
	sys/dev/usb/if_athn_usb.c: revision 1.28
	sys/dev/usb/if_athn_usb.c: revision 1.29
	sys/dev/usb/if_urtw.c: revision 1.16
	sys/dev/usb/if_urtw.c: revision 1.17
	sys/dev/usb/if_cue.c: revision 1.79
	sys/dev/usb/if_rum.c: revision 1.62
	sys/dev/usb/if_urtwn.c: revision 1.61
	sys/dev/usb/if_rum.c: revision 1.63
	sys/dev/usb/if_urtwn.c: revision 1.63
	sys/dev/usb/usb.c: revision 1.170
	sys/dev/usb/usb.c: revision 1.171
	sys/dev/usb/if_smsc.c: revision 1.35
	sys/dev/usb/if_smsc.c: revision 1.36
	sys/dev/usb/if_zyd.c: revision 1.50
	sys/dev/usb/if_aue.c: revision 1.144
	sys/dev/usb/if_aue.c: revision 1.145
	sys/dev/usb/usb_subr.c: revision 1.225
	sys/dev/usb/usb_subr.c: revision 1.226
	sys/dev/usb/if_upgt.c: revision 1.21
	sys/dev/usb/usbdi.h: revision 1.93
	sys/dev/usb/if_upgt.c: revision 1.22
	sys/dev/usb/if_url.c: revision 1.59
	sys/dev/usb/usbdi.h: revision 1.95
	sys/dev/usb/if_otus.c: revision 1.34
	sys/dev/usb/if_atu.c: revision 1.62
	sys/dev/usb/if_otus.c: revision 1.35
	sys/dev/usb/if_atu.c: revision 1.63

New function usb_rem_task_wait(dev, task, queue).

If task is scheduled to run, removes it from the queue.  If it may
have already begun to run, waits for it to complete.  Caller must
guarantee it will not switch to another queue.  If caller guarantees
it will not be scheduled again, then usb_rem_task_wait guarantees it
is not running on return.

This will enable us to fix a litany of bugs in detach where we
currently fail to wait for a pending task.

Use usb_rem_task_wait in various drivers.

Revision 1.3.2.4 / (download) - annotate - [select for diffs], Wed Aug 8 10:17:11 2018 UTC (4 years, 6 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.3.2.3: +5 -7 lines
Diff to previous 1.3.2.3 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1626):

	sys/dev/usb/if_cue.c: revision 1.80
	sys/dev/usb/umcs.c: revision 1.11
	sys/dev/usb/umcs.c: revision 1.12
	sys/dev/usb/if_ural.c: revision 1.56
	sys/dev/usb/if_run.c: revision 1.28
	sys/dev/usb/if_ural.c: revision 1.57
	sys/dev/usb/if_run.c: revision 1.29
	sys/dev/usb/uatp.c: revision 1.16
	sys/dev/usb/uatp.c: revision 1.17
	sys/dev/usb/if_axe.c: revision 1.91
	sys/dev/usb/if_axe.c: revision 1.92
	sys/dev/usb/if_zyd.c: revision 1.49
	sys/dev/usb/if_axen.c: revision 1.15
	sys/dev/usb/if_url.c: revision 1.60
	sys/dev/usb/if_udav.c: revision 1.54
	sys/dev/usb/if_axen.c: revision 1.16
	sys/dev/usb/if_udav.c: revision 1.55
	sys/dev/usb/if_athn_usb.c: revision 1.28
	sys/dev/usb/if_athn_usb.c: revision 1.29
	sys/dev/usb/if_urtw.c: revision 1.16
	sys/dev/usb/if_urtw.c: revision 1.17
	sys/dev/usb/if_cue.c: revision 1.79
	sys/dev/usb/if_rum.c: revision 1.62
	sys/dev/usb/if_urtwn.c: revision 1.61
	sys/dev/usb/if_rum.c: revision 1.63
	sys/dev/usb/if_urtwn.c: revision 1.63
	sys/dev/usb/usb.c: revision 1.170
	sys/dev/usb/usb.c: revision 1.171
	sys/dev/usb/if_smsc.c: revision 1.35
	sys/dev/usb/if_smsc.c: revision 1.36
	sys/dev/usb/if_zyd.c: revision 1.50
	sys/dev/usb/if_aue.c: revision 1.144
	sys/dev/usb/if_aue.c: revision 1.145
	sys/dev/usb/usb_subr.c: revision 1.225
	sys/dev/usb/usb_subr.c: revision 1.226
	sys/dev/usb/if_upgt.c: revision 1.21
	sys/dev/usb/usbdi.h: revision 1.93
	sys/dev/usb/if_upgt.c: revision 1.22
	sys/dev/usb/if_url.c: revision 1.59
	sys/dev/usb/usbdi.h: revision 1.95
	sys/dev/usb/if_otus.c: revision 1.34
	sys/dev/usb/if_atu.c: revision 1.62
	sys/dev/usb/if_otus.c: revision 1.35
	sys/dev/usb/if_atu.c: revision 1.63

New function usb_rem_task_wait(dev, task, queue).

If task is scheduled to run, removes it from the queue.  If it may
have already begun to run, waits for it to complete.  Caller must
guarantee it will not switch to another queue.  If caller guarantees
it will not be scheduled again, then usb_rem_task_wait guarantees it
is not running on return.

This will enable us to fix a litany of bugs in detach where we
currently fail to wait for a pending task.

Use usb_rem_task_wait in various drivers.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Aug 2 06:09:04 2018 UTC (4 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-0906, jdolecek-ncqfixes-base, jdolecek-ncqfixes
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

Fix usb_rem_task_wait API.

- Return whether it removed task from queue or not.
  . True if it was on the queue and we intercepted it before it ran.
  . False if we could not intercept it: either it wasn't queued,
    or it already ran.  (Up to caller to distinguish these cases.)
- Pass an optional interlock like callout_halt.

While here, simplify.

ok mrg@

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 29 02:00:38 2018 UTC (4 years, 6 months ago) by riastradh
Branch: MAIN
Changes since 1.14: +5 -7 lines
Diff to previous 1.14 (colored)

Use callout_halt and usb_rem_task_wait in axen(4).

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:58 2018 UTC (4 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.12: +5 -4 lines
Diff to previous 1.12 (colored)

Sync with HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jul 20 16:38:42 2018 UTC (4 years, 6 months ago) by martin
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.13: +4 -3 lines
Diff to previous 1.13 (colored)

Andrius V in PR kern/53461: add support for D-Link DUB-1312

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 26 06:48:02 2018 UTC (4 years, 7 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-base
Branch point for: phil-wifi
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (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.3.2.3 / (download) - annotate - [select for diffs], Mon Feb 19 19:33:06 2018 UTC (4 years, 11 months ago) by snj
Branch: netbsd-7
Changes since 1.3.2.2: +3 -4 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored)

Pull up following revision(s) (requested by skrll in ticket #1556):
	sys/dev/usb/if_athn_usb.c: 1.25
	sys/dev/usb/if_atu.c: 1.56
	sys/dev/usb/if_aue.c: 1.142
	sys/dev/usb/if_axe.c: 1.84
	sys/dev/usb/if_axen.c: 1.12
	sys/dev/usb/if_cdce.c: 1.45
	sys/dev/usb/if_cue.c: 1.77
	sys/dev/usb/if_kue.c: 1.91
	sys/dev/usb/if_otus.c: 1.32
	sys/dev/usb/if_rum.c: 1.59
	sys/dev/usb/if_run.c: 1.25
	sys/dev/usb/if_smsc.c: 1.33
	sys/dev/usb/if_udav.c: 1.52
	sys/dev/usb/if_upgt.c: 1.18
	sys/dev/usb/if_upl.c: 1.61
	sys/dev/usb/if_ural.c: 1.53
	sys/dev/usb/if_url.c: 1.57
	sys/dev/usb/if_urndis.c: 1.17
	sys/dev/usb/if_urtw.c: 1.14
	sys/dev/usb/if_urtwn.c: 1.56
	sys/dev/usb/if_zyd.c: 1.45
	sys/dev/usb/irmce.c: 1.4
	sys/dev/usb/pseye.c: 1.24
	sys/dev/usb/ubt.c: 1.60
	sys/dev/usb/ucom.c: 1.120
	sys/dev/usb/udsir.c: 1.6
	sys/dev/usb/ugen.c: 1.137
	sys/dev/usb/uhso.c: 1.27
	sys/dev/usb/uirda.c: 1.43
	sys/dev/usb/ulpt.c: 1.99
	sys/dev/usb/umass.c: 1.163
	sys/dev/usb/umidi.c: 1.74
	sys/dev/usb/uscanner.c: 1.82
	sys/dev/usb/usscanner.c: 1.43
	sys/dev/usb/ustir.c: 1.39
	sys/dev/usb/utoppy.c: 1.30
	sys/dev/usb/uvideo.c: 1.46
PR kern/52931 Kernel panics with Atheros usb wireless interface
Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup.  We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs

Revision 1.11.8.1 / (download) - annotate - [select for diffs], Wed Jan 31 18:01:54 2018 UTC (5 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.11: +3 -4 lines
Diff to previous 1.11 (colored)

Pull up following revision(s) (requested by skrll in ticket #509):
	sys/dev/usb/if_ural.c: revision 1.53
	sys/dev/usb/if_run.c: revision 1.25
	sys/dev/usb/ustir.c: revision 1.39
	sys/dev/usb/irmce.c: revision 1.4
	sys/dev/usb/if_urtwn.c: revision 1.56
	sys/dev/usb/pseye.c: revision 1.24
	sys/dev/usb/if_rum.c: revision 1.59
	sys/dev/usb/if_upl.c: revision 1.61
	sys/dev/usb/ucom.c: revision 1.120
	sys/dev/usb/if_zyd.c: revision 1.45
	sys/dev/usb/if_axen.c: revision 1.12
	sys/dev/usb/umidi.c: revision 1.74
	sys/dev/usb/if_udav.c: revision 1.52
	sys/dev/usb/if_athn_usb.c: revision 1.25
	sys/dev/usb/usscanner.c: revision 1.43
	sys/dev/usb/ualea.c: revision 1.6 - 1.9
	sys/dev/usb/if_upgt.c: revision 1.18
	sys/dev/usb/if_atu.c: revision 1.56
	sys/dev/usb/utoppy.c: revision 1.30
	sys/dev/usb/ubt.c: revision 1.60
	sys/dev/usb/if_urtw.c: revision 1.14
	sys/dev/usb/uirda.c: revision 1.43
	sys/dev/usb/umass.c: revision 1.163
	sys/dev/usb/if_cdce.c: revision 1.45
	sys/dev/usb/if_cue.c: revision 1.77
	sys/dev/usb/if_kue.c: revision 1.91
	sys/dev/usb/uvideo.c: revision 1.46
	sys/dev/usb/uhso.c: revision 1.27
	sys/dev/usb/if_smsc.c: revision 1.33
	sys/dev/usb/ugen.c: revision 1.137
	sys/dev/usb/if_axe.c: revision 1.84
	sys/dev/usb/if_aue.c: revision 1.142
	sys/dev/usb/uscanner.c: revision 1.82
	sys/dev/usb/if_urndis.c: revision 1.17
	sys/dev/usb/udsir.c: revision 1.6
	sys/dev/usb/if_url.c: revision 1.57
	sys/dev/usb/if_otus.c: revision 1.32
	sys/dev/usb/ulpt.c: revision 1.99

PR kern/52931 Kernel panics with Atheros usb wireless interface
Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup.  We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs

ualea: Tidy up a bit.  Fulfil requests completely.
Don't subtract uninitialized pktsize in error path.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jan 21 13:57:11 2018 UTC (5 years ago) by skrll
Branch: MAIN
CVS Tags: 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.11: +3 -4 lines
Diff to previous 1.11 (colored)

PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup.  We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs

Revision 1.3.4.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:33 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.3.4.2: +108 -98 lines
Diff to previous 1.3.4.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

update from HEAD

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Apr 5 19:54:19 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7
Changes since 1.3.2.1: +194 -147 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored)

Pull up following revision(s) (requested by skrll in ticket #1395):
	share/man/man4/axe.4: netbsd-7-nhusb
	share/man/man4/axen.4: netbsd-7-nhusb
	share/man/man4/cdce.4: netbsd-7-nhusb
	share/man/man4/uaudio.4: netbsd-7-nhusb
	share/man/man4/ucom.4: netbsd-7-nhusb
	share/man/man4/uep.4: netbsd-7-nhusb
	share/man/man4/urtw.4: netbsd-7-nhusb
	share/man/man4/usb.4: netbsd-7-nhusb
	share/man/man4/uyap.4: netbsd-7-nhusb
	share/man/man4/xhci.4: netbsd-7-nhusb
	share/man/man9/usbdi.9: netbsd-7-nhusb
	sys/arch/amd64/conf/ALL: netbsd-7-nhusb
	sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
	sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
	sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
	sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
	sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
	sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
	sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
	sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
	sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
	sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
	sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
	sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
	sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
	sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
	sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
	sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
	sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
	sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
	sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
	sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
	sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
	sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
	sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
	sys/arch/i386/conf/ALL: netbsd-7-nhusb
	sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
	sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
	sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
	sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
	sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
	sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
	sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
	sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
	sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
	sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
	sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
	sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
	sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
	sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
	sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
	sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
	sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
	sys/conf/files: netbsd-7-nhusb
	sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
	sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
	sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
	sys/dev/ic/sl811hs.c: netbsd-7-nhusb
	sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
	sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
	sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
	sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
	sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
	sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
	sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
	sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
	sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
	sys/dev/usb/TODO: netbsd-7-nhusb
	sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
	sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
	sys/dev/usb/auvitek.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
	sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
	sys/dev/usb/ehci.c: netbsd-7-nhusb
	sys/dev/usb/ehcireg.h: netbsd-7-nhusb
	sys/dev/usb/ehcivar.h: netbsd-7-nhusb
	sys/dev/usb/emdtv.c: netbsd-7-nhusb
	sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
	sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
	sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
	sys/dev/usb/ezload.c: netbsd-7-nhusb
	sys/dev/usb/ezload.h: netbsd-7-nhusb
	sys/dev/usb/files.usb: netbsd-7-nhusb
	sys/dev/usb/hid.c: netbsd-7-nhusb
	sys/dev/usb/hid.h: netbsd-7-nhusb
	sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
	sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
	sys/dev/usb/if_atu.c: netbsd-7-nhusb
	sys/dev/usb/if_atureg.h: netbsd-7-nhusb
	sys/dev/usb/if_aue.c: netbsd-7-nhusb
	sys/dev/usb/if_auereg.h: netbsd-7-nhusb
	sys/dev/usb/if_axe.c: netbsd-7-nhusb
	sys/dev/usb/if_axen.c: netbsd-7-nhusb
	sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
	sys/dev/usb/if_axereg.h: netbsd-7-nhusb
	sys/dev/usb/if_cdce.c: netbsd-7-nhusb
	sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
	sys/dev/usb/if_cue.c: netbsd-7-nhusb
	sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
	sys/dev/usb/if_kue.c: netbsd-7-nhusb
	sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
	sys/dev/usb/if_otus.c: netbsd-7-nhusb
	sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
	sys/dev/usb/if_rum.c: netbsd-7-nhusb
	sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
	sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
	sys/dev/usb/if_run.c: netbsd-7-nhusb
	sys/dev/usb/if_runvar.h: netbsd-7-nhusb
	sys/dev/usb/if_smsc.c: netbsd-7-nhusb
	sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
	sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
	sys/dev/usb/if_udav.c: netbsd-7-nhusb
	sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
	sys/dev/usb/if_upgt.c: netbsd-7-nhusb
	sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
	sys/dev/usb/if_upl.c: netbsd-7-nhusb
	sys/dev/usb/if_ural.c: netbsd-7-nhusb
	sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
	sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
	sys/dev/usb/if_url.c: netbsd-7-nhusb
	sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urndis.c: netbsd-7-nhusb
	sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urtw.c: netbsd-7-nhusb
	sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
	sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
	sys/dev/usb/if_zyd.c: netbsd-7-nhusb
	sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
	sys/dev/usb/irmce.c: netbsd-7-nhusb
	sys/dev/usb/moscom.c: netbsd-7-nhusb
	sys/dev/usb/motg.c: netbsd-7-nhusb
	sys/dev/usb/motgvar.h: netbsd-7-nhusb
	sys/dev/usb/ohci.c: netbsd-7-nhusb
	sys/dev/usb/ohcireg.h: netbsd-7-nhusb
	sys/dev/usb/ohcivar.h: netbsd-7-nhusb
	sys/dev/usb/pseye.c: netbsd-7-nhusb
	sys/dev/usb/slurm.c: netbsd-7-nhusb
	sys/dev/usb/stuirda.c: netbsd-7-nhusb
	sys/dev/usb/u3g.c: netbsd-7-nhusb
	sys/dev/usb/uark.c: netbsd-7-nhusb
	sys/dev/usb/uatp.c: netbsd-7-nhusb
	sys/dev/usb/uaudio.c: netbsd-7-nhusb
	sys/dev/usb/uberry.c: netbsd-7-nhusb
	sys/dev/usb/ubsa.c: netbsd-7-nhusb
	sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
	sys/dev/usb/ubsavar.h: netbsd-7-nhusb
	sys/dev/usb/ubt.c: netbsd-7-nhusb
	sys/dev/usb/uchcom.c: netbsd-7-nhusb
	sys/dev/usb/ucom.c: netbsd-7-nhusb
	sys/dev/usb/ucomvar.h: netbsd-7-nhusb
	sys/dev/usb/ucycom.c: netbsd-7-nhusb
	sys/dev/usb/udl.c: netbsd-7-nhusb
	sys/dev/usb/udl.h: netbsd-7-nhusb
	sys/dev/usb/udsbr.c: netbsd-7-nhusb
	sys/dev/usb/udsir.c: netbsd-7-nhusb
	sys/dev/usb/uep.c: netbsd-7-nhusb
	sys/dev/usb/uftdi.c: netbsd-7-nhusb
	sys/dev/usb/uftdireg.h: netbsd-7-nhusb
	sys/dev/usb/ugen.c: netbsd-7-nhusb
	sys/dev/usb/ugensa.c: netbsd-7-nhusb
	sys/dev/usb/uhci.c: netbsd-7-nhusb
	sys/dev/usb/uhcireg.h: netbsd-7-nhusb
	sys/dev/usb/uhcivar.h: netbsd-7-nhusb
	sys/dev/usb/uhid.c: netbsd-7-nhusb
	sys/dev/usb/uhidev.c: netbsd-7-nhusb
	sys/dev/usb/uhidev.h: netbsd-7-nhusb
	sys/dev/usb/uhmodem.c: netbsd-7-nhusb
	sys/dev/usb/uhso.c: netbsd-7-nhusb
	sys/dev/usb/uhub.c: netbsd-7-nhusb
	sys/dev/usb/uipad.c: netbsd-7-nhusb
	sys/dev/usb/uipaq.c: netbsd-7-nhusb
	sys/dev/usb/uirda.c: netbsd-7-nhusb
	sys/dev/usb/uirdavar.h: netbsd-7-nhusb
	sys/dev/usb/ukbd.c: netbsd-7-nhusb
	sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
	sys/dev/usb/ukyopon.c: netbsd-7-nhusb
	sys/dev/usb/ukyopon.h: netbsd-7-nhusb
	sys/dev/usb/ulpt.c: netbsd-7-nhusb
	sys/dev/usb/umass.c: netbsd-7-nhusb
	sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
	sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
	sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
	sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
	sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
	sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
	sys/dev/usb/umassvar.h: netbsd-7-nhusb
	sys/dev/usb/umcs.c: netbsd-7-nhusb
	sys/dev/usb/umct.c: netbsd-7-nhusb
	sys/dev/usb/umidi.c: netbsd-7-nhusb
	sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
	sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
	sys/dev/usb/umodem.c: netbsd-7-nhusb
	sys/dev/usb/umodem_common.c: netbsd-7-nhusb
	sys/dev/usb/umodemvar.h: netbsd-7-nhusb
	sys/dev/usb/ums.c: netbsd-7-nhusb
	sys/dev/usb/uplcom.c: netbsd-7-nhusb
	sys/dev/usb/urio.c: netbsd-7-nhusb
	sys/dev/usb/urio.h: netbsd-7-nhusb
	sys/dev/usb/usb.c: netbsd-7-nhusb
	sys/dev/usb/usb.h: netbsd-7-nhusb
	sys/dev/usb/usb_mem.c: netbsd-7-nhusb
	sys/dev/usb/usb_mem.h: netbsd-7-nhusb
	sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
	sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
	sys/dev/usb/usb_subr.c: netbsd-7-nhusb
	sys/dev/usb/usbdevices.config: netbsd-7-nhusb
	sys/dev/usb/usbdevs: netbsd-7-nhusb
	sys/dev/usb/usbdevs.h: netbsd-7-nhusb
	sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
	sys/dev/usb/usbdi.c: netbsd-7-nhusb
	sys/dev/usb/usbdi.h: netbsd-7-nhusb
	sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
	sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
	sys/dev/usb/usbdivar.h: netbsd-7-nhusb
	sys/dev/usb/usbhid.h: netbsd-7-nhusb
	sys/dev/usb/usbhist.h: netbsd-7-nhusb
	sys/dev/usb/usbroothub.c: netbsd-7-nhusb
	sys/dev/usb/usbroothub.h: netbsd-7-nhusb
	sys/dev/usb/usbroothub_subr.c: delete
	sys/dev/usb/usbroothub_subr.h: delete
	sys/dev/usb/uscanner.c: netbsd-7-nhusb
	sys/dev/usb/uslsa.c: netbsd-7-nhusb
	sys/dev/usb/usscanner.c: netbsd-7-nhusb
	sys/dev/usb/ustir.c: netbsd-7-nhusb
	sys/dev/usb/uthum.c: netbsd-7-nhusb
	sys/dev/usb/utoppy.c: netbsd-7-nhusb
	sys/dev/usb/uts.c: netbsd-7-nhusb
	sys/dev/usb/uvideo.c: netbsd-7-nhusb
	sys/dev/usb/uvisor.c: netbsd-7-nhusb
	sys/dev/usb/uvscom.c: netbsd-7-nhusb
	sys/dev/usb/uyap.c: netbsd-7-nhusb
	sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
	sys/dev/usb/uyurex.c: netbsd-7-nhusb
	sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
	sys/dev/usb/xhci.c: netbsd-7-nhusb
	sys/dev/usb/xhcireg.h: netbsd-7-nhusb
	sys/dev/usb/xhcivar.h: netbsd-7-nhusb
	sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
	sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
	sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
	sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
	sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
	sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
	sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
	sys/external/bsd/drm2/include/linux/err.h: delete
	sys/external/bsd/drm2/include/linux/workqueue.h: delete
	sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
	sys/external/bsd/drm2/linux/linux_work.c: delete
	sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
	sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
	sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
	sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
	sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
	sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
	sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
	sys/sys/mbuf.h: netbsd-7-nhusb
	usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
	usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
     - kern/48308
     - uhub status notification improvements
     - umass(4) probe fix (applied to HEAD already)
     - ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
  This gives the callback a chance of running when another softint handler
  at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
  the network stack.
     - kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
       softnet_lock held across usb xfr
     - kern/50491 - unkillable wait in usbd_transfer while using usmsc0
       on raspberry pi 2
     - kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)

Revision 1.3.6.15 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:46 2017 UTC (6 years ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.14: +2 -4 lines
Diff to previous 1.3.6.14 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Sync with HEAD

Revision 1.3.2.1.4.2 / (download) - annotate - [select for diffs], Thu Jan 26 21:54:24 2017 UTC (6 years ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.3.2.1.4.1: +115 -71 lines
Diff to previous 1.3.2.1.4.1 (colored) to branchpoint 1.3.2.1 (colored) next main 1.3.2.2 (colored)

Sync with HEAD/nhusb

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:41 2017 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.9: +3 -4 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

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

Revision 1.3.6.14 / (download) - annotate - [select for diffs], Wed Dec 28 09:45:16 2016 UTC (6 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.13: +6 -2 lines
Diff to previous 1.3.6.13 (colored) to branchpoint 1.3 (colored)

Destroy all mutexes on detach

Revision 1.11 / (download) - annotate - [select for diffs], Thu Dec 15 09:28:06 2016 UTC (6 years, 1 month ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, 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.10: +2 -4 lines
Diff to previous 1.10 (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.3.6.13 / (download) - annotate - [select for diffs], Mon Dec 12 13:15:39 2016 UTC (6 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.12: +116 -76 lines
Diff to previous 1.3.6.12 (colored) to branchpoint 1.3 (colored)


WIP MPification

Revision 1.3.6.12 / (download) - annotate - [select for diffs], Mon Dec 5 10:55:18 2016 UTC (6 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.11: +3 -2 lines
Diff to previous 1.3.6.11 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.10 / (download) - annotate - [select for diffs], Fri Nov 25 12:56:29 2016 UTC (6 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

+#include "opt_usb.h"

Revision 1.3.2.1.4.1 / (download) - annotate - [select for diffs], Tue Sep 6 20:33:08 2016 UTC (6 years, 5 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.3.2.1: +94 -91 lines
Diff to previous 1.3.2.1 (colored)

First pass at netbsd-7 updated with USB code from HEAD

Revision 1.3.6.11 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:15 2016 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.10: +3 -3 lines
Diff to previous 1.3.6.10 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jun 10 13:27:15 2016 UTC (6 years, 8 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, nick-nhusb-base-20160907, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (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.8 / (download) - annotate - [select for diffs], Sat Apr 23 10:15:31 2016 UTC (6 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529
Changes since 1.7: +89 -91 lines
Diff to previous 1.7 (colored)

Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
    - kern/48308
    - uhub status notification improvements
    - umass(4) probe fix (applied to HEAD already)
    - ohci(4) short transfer fix

Revision 1.3.6.10 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:19 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.9: +3 -3 lines
Diff to previous 1.3.6.9 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 9 08:32:12 2016 UTC (7 years ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (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.3.6.9 / (download) - annotate - [select for diffs], Mon Dec 28 09:26:33 2015 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.8: +30 -20 lines
Diff to previous 1.3.6.8 (colored) to branchpoint 1.3 (colored)

Strictly follow the sequence abort pipe, destroy xfers, and close pipe as
API now requires.  Plug some memory leaks in some drivers while doing
this.

Also, remove up_refcnt as it was broken and helped leak more memory.

Revision 1.3.6.8 / (download) - annotate - [select for diffs], Tue Oct 6 21:32:15 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.7: +37 -49 lines
Diff to previous 1.3.6.7 (colored) to branchpoint 1.3 (colored)

Move from usbd_{alloc,free}_xfer and usbd_{alloc,free}_buffer to
usbd_{create,destroy}_xfer.  The API change will allow future changes
to HCDs to simplify the transfer resource allocation and activation.

Several devices tested including ucom, umass, smsc, uvideo, and uaudio.

Revision 1.3.6.7 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:13 2015 UTC (7 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.6: +8 -3 lines
Diff to previous 1.3.6.6 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.6 / (download) - annotate - [select for diffs], Mon Apr 13 16:33:25 2015 UTC (7 years, 9 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

Convert sys/dev to use <sys/rndsource.h>.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Apr 8 12:38:13 2015 UTC (7 years, 10 months ago) by nonaka
Branch: MAIN
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored)

Added pmf hook.

Revision 1.3.6.6 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:13 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.5: +25 -17 lines
Diff to previous 1.3.6.5 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.3.6.5 / (download) - annotate - [select for diffs], Sat Mar 21 11:33:37 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.4: +7 -7 lines
Diff to previous 1.3.6.4 (colored) to branchpoint 1.3 (colored)

Add prefixes to attach_arg structure member names. No functional change.

Revision 1.3.6.4 / (download) - annotate - [select for diffs], Thu Mar 19 17:26:42 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.3: +6 -6 lines
Diff to previous 1.3.6.3 (colored) to branchpoint 1.3 (colored)

Do the same as OpenBSD and get rid of the *_handle typedefs and use
plain structures insteads

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Sat Feb 14 08:03:05 2015 UTC (7 years, 11 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, 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
Branch point for: netbsd-7-nhusb
Changes since 1.3: +15 -7 lines
Diff to previous 1.3 (colored)

Pull up following revision(s) (requested by nonaka in ticket #512):
	sys/dev/usb/if_axen.c: revision 1.4
Apply PR kern/49659 patch from Takahiro HAYASHI.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Feb 12 13:07:37 2015 UTC (7 years, 11 months ago) by nonaka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.3: +15 -7 lines
Diff to previous 1.3 (colored)

Apply PR kern/49659 patch from Takahiro HAYASHI.

Revision 1.3.6.3 / (download) - annotate - [select for diffs], Sat Dec 6 08:27:23 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.2: +5 -5 lines
Diff to previous 1.3.6.2 (colored) to branchpoint 1.3 (colored)

KNF. Remove argument name from function declarations.

No functional change.

Revision 1.3.6.2 / (download) - annotate - [select for diffs], Wed Dec 3 12:52:07 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3.6.1: +4 -4 lines
Diff to previous 1.3.6.1 (colored) to branchpoint 1.3 (colored)

The grand renaming of structure members.

No functional change.

Revision 1.3.6.1 / (download) - annotate - [select for diffs], Tue Dec 2 09:00:33 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.3: +5 -5 lines
Diff to previous 1.3 (colored)

Step #1 of memory allocation re-organisation.

Centralised the buffer allocation routine which now supports DMA
and non-DMA capable host controllers.  Remove the
ubm_{alloc,free}m methods from usbd_bus_methods.

The buffer allocation is only allowed in thread context and,
therefore, negates the usefulness of the reserve dma code which
is removed in this change.

USBD_NO_COPY is also no longer required as usbd_transfer and
usbd_transfer_complete now track buffer usage and handle any
copying.

Revision 1.3.4.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:51 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.3.4.1: +1582 -0 lines
Diff to previous 1.3.4.1 (colored) to branchpoint 1.3 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.3.4.1, Sun Aug 10 16:44:36 2014 UTC (8 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.3: +0 -1582 lines
FILE REMOVED

file if_axen.c was added on branch tls-maxphys on 2014-08-20 00:03:51 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Sun Aug 10 16:44:36 2014 UTC (8 years, 6 months ago) by tls
Branch: MAIN
CVS Tags: tls-maxphys-base, nick-nhusb-base, netbsd-7-base
Branch point for: tls-maxphys, nick-nhusb, netbsd-7
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

Merge tls-earlyentropy branch into HEAD.

Revision 1.2.6.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:36 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.2.6.1: +1582 -0 lines
Diff to previous 1.2.6.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (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.2.4.2 / (download) - annotate - [select for diffs], Sun May 18 17:45:47 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.2.4.1: +1582 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Mon Apr 7 03:37:33 2014 UTC (8 years, 10 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
   RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

5) Make entropy harvesting from environmental sensors a little more generic
   and remove it from individual sensor drivers.

6) Remove individual open-coded delta-estimators for values from a few
   places in the tree (uvm, environmental drivers).

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
   that had stubbed out code, other minor cleanups.

Revision 1.2.6.1, Tue Oct 29 16:10:49 2013 UTC (9 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.2: +0 -1582 lines
FILE REMOVED

file if_axen.c was added on branch yamt-pagecache on 2014-05-22 11:40:36 +0000

Revision 1.2.4.1, Tue Oct 29 16:10:49 2013 UTC (9 years, 3 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.2: +0 -1582 lines
FILE REMOVED

file if_axen.c was added on branch rmind-smpnet on 2014-05-18 17:45:47 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Tue Oct 29 16:10:49 2013 UTC (9 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-earlyentropy-base, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: yamt-pagecache, tls-earlyentropy, rmind-smpnet
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

Remove bogus cast. The LHS type is smaller, so let the compiler decide
on the correct (unsigned type).

Revision 1.1 / (download) - annotate - [select for diffs], Sat Oct 26 09:16:20 2013 UTC (9 years, 3 months ago) by nonaka
Branch: MAIN

Add driver for ASIX AX88178a and AX88179 Ethernet interface.
Ported from OpenBSD.

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>