The NetBSD Project

CVS log for src/sys/dev/usb/usbnet.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.35 / (download) - annotate - [select for diffs], Mon Aug 22 08:37:16 2022 UTC (5 months ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.34: +10 -12 lines
Diff to previous 1.34 (colored)

usbnet(9): Update comments about locking to reflect current reality.

No functional change.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Aug 20 14:08:59 2022 UTC (5 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored)

usbnet(9): New usbnet_ispromisc(un).

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

Revision 1.33 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:51 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.32: +18 -16 lines
Diff to previous 1.32 (colored)

usbnet: Update some comments.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:36 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.31: +2 -5 lines
Diff to previous 1.31 (colored)

usbnet: Fix type of struct usbnet::un_ed according to plan.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:28 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

usbnet: Omit needless detachcv name parameter to usbnet_attach.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Mar 3 05:56:09 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.29: +1 -4 lines
Diff to previous 1.29 (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.29 / (download) - annotate - [select for diffs], Thu Mar 3 05:55:29 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.28: +1 -4 lines
Diff to previous 1.28 (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.28 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:52 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.27: +1 -15 lines
Diff to previous 1.27 (colored)

usbnet: Delete the core lock from the API.

Init/stop and ioctl happen under IFNET_LOCK.  Multicast updates only
happen after init and before stop.  Core lock is no longer a relevant
part of the API.  Internally, it serves essentially just to lock out
asynchronous mii activity during init/stop.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Mar 3 05:54:28 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.26: +1 -6 lines
Diff to previous 1.26 (colored)

usbnet: Make usbnet_mii_readreg/writereg/statchg private to usbnet.c.

No drivers need to use these.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 3 05:52:20 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.25: +1 -19 lines
Diff to previous 1.25 (colored)

usbnet: Make the tx/rx locks private to usbnet.c.

Suffice it for the drivers to know that uno_tx_prepare and
uno_rx_loop have exclusive access to the chain, and, for tx,
exclusive access to the mbuf.

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

usbnet: usbnet_busy is no longer referenced; release it!

Revision 1.24 / (download) - annotate - [select for diffs], Thu Mar 3 05:51:06 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.23: +11 -5 lines
Diff to previous 1.23 (colored)

usbnet: Split multicast filter reprogramming into separate operation.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Mar 3 05:48:14 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored)

usbnet: Remove usbnet_set_dying.

Not necessary for the one caller that did it (url(4)): usbnet_detach
handles failed attach just fine without it.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Dec 11 19:24:21 2021 UTC (13 months, 2 weeks ago) by mrg
Branch: MAIN
Changes since 1.21: +1 -3 lines
Diff to previous 1.21 (colored)

remove clause 3 from all my licenses that aren't conflicting with
another copyright claim line.  again.  (i did this in 2008 and then
did not update all of my personal templates.)

Revision 1.20.4.1 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:33 2021 UTC (17 months, 3 weeks ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.20: +5 -5 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

Sync with HEAD.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jun 24 23:01:36 2021 UTC (19 months ago) by mrg
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.20: +5 -5 lines
Diff to previous 1.20 (colored)

clarify some comments about what the "send callback" is.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:51 2021 UTC (21 months, 3 weeks ago) by thorpej
Branch: thorpej-futex
Changes since 1.19: +4 -1 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Mar 1 22:59:52 2021 UTC (22 months, 4 weeks ago) by mrg
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Branch point for: thorpej-i2c-spi-conf
Changes since 1.19: +4 -1 lines
Diff to previous 1.19 (colored)

note that "enum usbnet_ep un_ed" member is the wrong type, and should
be "uByte un_ed", and fix when we version this next.  noticed by martin@

Revision 1.19 / (download) - annotate - [select for diffs], Wed Oct 28 01:51:45 2020 UTC (2 years, 3 months ago) by mrg
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.18: +7 -7 lines
Diff to previous 1.18 (colored)

s/USENET/USBNET/ in another place i just happened to find by
typo-ing "UBS" as "USE".

Revision 1.18 / (download) - annotate - [select for diffs], Tue Oct 27 13:46:33 2020 UTC (2 years, 3 months ago) by mrg
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

s/UBS/USB/ in a macro and its use.

pointed out by nisimura@.

Revision 1.17.4.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:51 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.17.4.1: +402 -0 lines
Diff to previous 1.17.4.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.17.4.1, Sun Mar 15 23:04:51 2020 UTC (2 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.17: +0 -402 lines
FILE REMOVED

file usbnet.h was added on branch phil-wifi on 2020-04-13 08:04:51 +0000

Revision 1.17 / (download) - annotate - [select for diffs], Sun Mar 15 23:04:51 2020 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Branch point for: phil-wifi
Changes since 1.16: +42 -29 lines
Diff to previous 1.16 (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.16 / (download) - annotate - [select for diffs], Tue Jan 7 06:42:26 2020 UTC (3 years ago) by maxv
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Localify, constify.

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Fri Sep 13 06:51:58 2019 UTC (3 years, 4 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.14.2.2: +3 -2 lines
Diff to previous 1.14.2.2 (colored) next main 1.15 (colored)

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

	sys/dev/usb/if_url.c: revision 1.71
	sys/dev/usb/usbnet.h: revision 1.15
	sys/dev/usb/usb_mem.c: revision 1.72
	sys/dev/usb/if_urndis.c: revision 1.24
	sys/dev/usb/if_upl.c: revision 1.67
	sys/dev/usb/usbnet.c: revision 1.25
	sys/dev/usb/usbnet.c: revision 1.26
	sys/dev/usb/usbnet.c: revision 1.27
	sys/dev/usb/usbnet.c: revision 1.28

Teach urndis to handle some REMOTE_NDIS_INDICATE_STATUS_MSG. If the status
is reasonable, don't tell userland we got an error. Stops spurious EIO.
From openbsd.

Fix bug, remove {0,0} because we switched to usb_lookup().

s/no free/no freelist entry/ in a debug message.

fix a lock hang reported by sc.dying in PR#54495.

remove locking in usbnet_tick().  assume that all locking
needs are handled inside usbnet_tick_task(), which runs in
the usbtask thread.  ensure that usbnet private is valid
before using it.

also check NULL private pointer in usbnet_isdying().
all the other cases should never happen.

don't try to set dying when we haven't usbnet_attach()d yet.
reported by maxv.

- use CALLARGS vs CALLED for better usbhist
- turn off usbnetdebug default
- log for all entry/exit points of usbnet_pipe_intr()
- in usbnet_start_locked() track whether any packet has been
  transmitted for setting the timer.  avoids spurious
  "watchdog timeouts"
- in usbnet_stop() use callout_halt() vs callout_halt, and
  also stop the usb task.  fixes crash of usbtask after the
  phy has detached.
- add a little more defensive checking in the tick task, and
  add some high-log-level logs.
- in usbnet_detach() move the call to usbnet_stop_ifp() above
  the calls to callout/usbtask stopping.
- set ec_mii and unp_pri to NULL when freeing their data

normalise an error message.

document usbnet_private locking.  minor knf.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Sep 9 07:20:16 2019 UTC (3 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

document usbnet_private locking.  minor knf.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Sun Sep 1 13:00:36 2019 UTC (3 years, 4 months ago) by martin
Branch: netbsd-9
Changes since 1.14.2.1: +397 -0 lines
Diff to previous 1.14.2.1 (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.14.2.1, Fri Aug 23 04:32:57 2019 UTC (3 years, 5 months ago) by martin
Branch: netbsd-9
Changes since 1.14: +0 -388 lines
FILE REMOVED

file usbnet.h was added on branch netbsd-9 on 2019-09-01 13:00:36 +0000

Revision 1.14 / (download) - annotate - [select for diffs], Fri Aug 23 04:32:57 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Branch point for: netbsd-9
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

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

Revision 1.13 / (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.12: +28 -6 lines
Diff to previous 1.12 (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.12 / (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.11: +9 -3 lines
Diff to previous 1.11 (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.11 / (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.10: +38 -1 lines
Diff to previous 1.10 (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.10 / (download) - annotate - [select for diffs], Sun Aug 11 01:29:45 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.9: +6 -5 lines
Diff to previous 1.9 (colored)

adjust some comments to reality.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Aug 10 02:17:36 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.8: +90 -126 lines
Diff to previous 1.8 (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.8 / (download) - annotate - [select for diffs], Fri Aug 9 02:14:35 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.7: +5 -2 lines
Diff to previous 1.7 (colored)

ride 9.99.5 bump: add un_flags here.  many of the softc's only have
a flags member to control device-specific issues, and this means
they can use "struct usbnet" as their softc directly.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Aug 9 01:17:33 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.6: +28 -23 lines
Diff to previous 1.6 (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.6 / (download) - annotate - [select for diffs], Wed Aug 7 07:25:50 2019 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Trailing whitespace

Revision 1.5 / (download) - annotate - [select for diffs], Tue Aug 6 00:19:57 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.4: +10 -13 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Sun Aug 4 08:59:13 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.3: +84 -3 lines
Diff to previous 1.3 (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.3 / (download) - annotate - [select for diffs], Sat Aug 3 15:58:14 2019 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

Trailing white space

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jul 31 23:47:16 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.1: +5 -3 lines
Diff to previous 1.1 (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.1 / (download) - annotate - [select for diffs], Wed Jul 31 09:13:16 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN

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.

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>