freebsd-skq/sys/dev
Adrian Chadd a043e8c76b Commit the first pass of the etherswitch support.
This is designed to support the very basic ethernet switch chip behaviour,
specifically:

* accessing switch register space;
* accessing per-PHY registers (for switches that actually expose PHYs);
* basic vlan group support, which applies for the rtl8366 driver but not
  for the atheros switches.

This also includes initial support for:

* rtl8366rb support - which is a 10/100/1000 switch which supports
  vlan groups;
* Initial Atheros AR8316 switch support - which is a 10/100/1000 switch
  which supports an alternate vlan configuration (so the vlan group
  methods are stubbed.)

The general idea here is that the switch driver may speak to a variety of
backend busses (mdio, i2c, spi, whatever) and expose:

* If applicable, one or more MDIO busses which ethernet interfaces can
  then attach PHYs to via miiproxy/mdioproxy;

* exposes miibusses, one for each port at the moment, so ..

* .. a PHY can be exposed on each miibus, for each switch port, with all
  of the existing MII/ifnet framework.

However:

* The ifnet is manually created for now, and it isn't linked into the
  interface list, nor can you (currently) send/receive frames on this ifnet.
  At some point in the future there may be _some_ support for this, for
  switches with a multi-port, isolated mode.

* I'm still in the process of sorting out correct(er) locking.

TODO:

* ray's switch code in zrouter (zrouter.org) includes a much more developed
  newbus API that covers the various switch methods, as well as a
  capability API so drivers, the switch layer and the userland utility
  can properly control the subset of supported features.

  The plan is to sort that out later, once the rest of ray's switch drivers
  are brought over and extended to export MII busses and PHYs.

Submitted by:	Stefan Bethke <stb@lassitu.de>
Reviewed by:	ray
2012-05-11 20:53:20 +00:00
..
aac Use bus_get_dma_tag() to inherit the PCI bus' 4G boundary constraint. 2012-03-07 18:52:46 +00:00
acpi_support Add missing MODULE_DEPEND() so that acpi.ko and aibs.ko can be 2012-02-28 15:12:26 +00:00
acpica Complete commit message for r235024: 2012-05-04 18:54:51 +00:00
adb Add support for special keys (volume/brightness/eject) on Apple laptops with 2011-10-16 21:01:42 +00:00
adlink
advansys Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ae To send a frame, controller requires a prepended TX header and 2011-11-11 19:15:32 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp
aha
ahb Remove a stale comment. 2012-03-12 20:31:58 +00:00
ahci Fix names of some Marvell SATA chips. It looks like chips with proprietary 2012-03-02 08:49:07 +00:00
aic
aic7xxx Follow non-BSD case when GNU/Hurd is detected. 2012-03-25 21:54:36 +00:00
alc Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
ale - Const'ify the device lookup-table. 2012-04-04 21:09:02 +00:00
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp - Add support for Family 12h, 14h and 15h processors. 2012-02-24 00:02:46 +00:00
amr The amr(4) firmware contains a rather dubious "feature" where it 2012-04-20 20:27:31 +00:00
an Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
arcmsr Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
asmc
asr Replace homegrown list implementation in sys/dev/asr/asr.c with 2012-04-20 21:17:33 +00:00
ata - First pass at const'ifying ata(4) as appropriate. 2012-03-21 16:59:39 +00:00
ath Add some empty DFS methods for AR5210/AR5211 for now, if DFS is enabled 2012-05-09 18:17:01 +00:00
atkbdc Add a PNP ID for Japanese 106-key keyboard. 2012-03-28 17:58:37 +00:00
auxio
bce Implement basic remote PHY support. Remote PHY allows the 2012-05-09 01:55:23 +00:00
bfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
bge Make if_ierrors updated whenever any of the following counters are 2012-03-12 03:47:30 +00:00
bktr Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
bm ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
buslogic Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
bwi Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
bwn Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
bxe Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cardbus - Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge. 2012-03-02 20:38:04 +00:00
cas - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ce Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cesa Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
cfe kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
cfi CFI fixes for big endian archs. 2012-03-27 15:13:12 +00:00
ciss Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cm Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
cmx
coretemp #PROCHOT assertion is sticky after reading the MSR (accordingly with 2011-09-19 10:58:30 +00:00
cp Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cpuctl Add VIA microde update support to cpuctl(4) and cpucontrol(8). 2011-12-12 12:30:44 +00:00
cpufreq
cs Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ct
ctau
cx
cxgb Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cxgbe Change the default to not use packet counters to generate rx interrupts. 2012-04-30 09:46:05 +00:00
cy
dc - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
dcons kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
de More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
digi
dpms
dpt Fix the following clang warning in dpt(4): 2012-04-21 14:23:46 +00:00
drm In sys/dev/drm/radeon_state.c, use the correct printf length modifiers 2011-12-30 02:07:50 +00:00
e1000 Initialize "error" to zero when it's declared in em_setup_receive_ring() 2012-05-11 03:15:22 +00:00
ed Fix off by one error in mbuf access. Previously it caused panic. 2011-12-05 18:10:43 +00:00
eisa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
en Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ep ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
esp s/timout/timeout 2011-12-15 06:29:13 +00:00
et style. No functional changes. 2012-01-10 20:52:02 +00:00
etherswitch Commit the first pass of the etherswitch support. 2012-05-11 20:53:20 +00:00
ex Convert files to UTF-8 2012-01-15 13:23:18 +00:00
exca
fatm
fb Fix a Clang warning. 2012-04-16 23:29:12 +00:00
fdc Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
fdt Respect phy-handle property in Ethernet nodes of the device tree. 2012-03-04 19:22:52 +00:00
fe Improve media status reporting, when the driver knows... 2012-01-30 22:47:02 +00:00
firewire Update sbp_targ such that it can actually handle multiple CTIO's during operation 2012-01-25 23:33:50 +00:00
flash Add a couple more SPI flash device IDs found in commercial 2012-01-04 04:17:03 +00:00
fxp - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
gem - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
glxiic Fix breakage on pc98 by redefining DEBUG(). 2011-05-15 19:04:08 +00:00
glxsb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
gpio Remove extra semicolon which rendered condition useless 2012-04-02 00:11:26 +00:00
gxemul Add a trivial driver for the GXemul Ethernet device. Probably quite buggy and 2012-05-07 04:15:46 +00:00
hatm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
hifn Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hme - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
hpt27xx Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:33 +00:00
hptiop Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hptmv Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hptrr - Just use cam_calc_geometry(9) on newer version of FreeBSD rather than 2011-11-23 21:43:51 +00:00
hwpmc Remove out of date KASSERT that fire with soft PMC. 2012-05-10 14:27:49 +00:00
ic
ichsmb - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ichwd Remove use of explicit bus space tags and handles and use methods that 2012-01-05 16:27:32 +00:00
ida Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ie Isolate v_caddr_t in the ie driver. 2012-01-31 13:00:40 +00:00
ieee488 Convert files to UTF-8 2012-01-15 13:23:43 +00:00
if_ndis Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
iicbus Add a driver for the NXP (Philips) PCF8563 RTC. 2012-04-13 23:07:32 +00:00
iir Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
io
ipmi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ips Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ipw Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
isci Fix off-by-one error in sati_inquiry_block_device_translate_data(). Bug would 2012-05-04 23:45:34 +00:00
iscsi/initiator Update to version 2.3.1.0 2012-04-13 18:21:56 +00:00
isp Fix memset sizeof 2012-02-22 01:08:59 +00:00
ispfw
iwi Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
iwn Migrate the net80211 TX aggregation state to be from per-AC to per-TID. 2012-04-15 20:29:39 +00:00
ixgb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
ixgbe If we pass down 64k - L2 hdr size + 1 to 64K L3+ data adding an ether 2012-04-23 22:05:09 +00:00
jme - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
joy
kbd Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kbdmux Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
ksyms Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
le Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
led
lge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
lindev
lmc More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
malo Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
mc146818
mca - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
mcd
md Document a large number of currently undocumented sysctls. While here 2011-12-13 00:38:50 +00:00
mem
mfi Fix the returns in mfi_tbolt_sync_map_info. I forgot to change 2012-05-04 22:54:54 +00:00
mge More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
mii Prefer RL_GMEDIASTAT register to RGEPHY_MII_SSR register to 2012-02-28 05:23:29 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
mly Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
mmc o Fixes: 2012-04-21 01:51:16 +00:00
mn
mps Make the mps(4) module depend on the cam module. 2012-03-07 22:39:11 +00:00
mpt Refine r233827; as it turns out, controllers with a device ID of 0x0059 2012-04-04 20:42:45 +00:00
mse
msk For Yukon II controllers that implement optional temperature sensor 2012-04-25 02:46:13 +00:00
mvs Adjust mvs(4) to handle interrupt cause reg depending on the actual number of 2012-02-01 13:39:52 +00:00
mwl Fix the RX free list locking creation and destruction to be consistent 2012-04-17 04:52:57 +00:00
mxge More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
my ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
ncv
netmap print 'netmap stack ring full' only in verbose mode. 2012-05-03 21:16:53 +00:00
nfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
nge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
nmdm Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nsp
null Fix for PR 138526. 2012-01-11 15:00:16 +00:00
nve More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
nvram
nvram2env
nxge Fix the following compilation warnings in nxge(4): 2012-04-20 21:43:19 +00:00
oce Use pci_find_cap() instead of pci_find_extcap() to locate PCI 2012-03-03 18:03:50 +00:00
ofw Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
patm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
pbio
pccard Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
pccbb Some laptops have weak power controllers that cannot tolerate multiple 2012-01-27 21:49:02 +00:00
pcf Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
pci Fix couple of style nits. 2012-03-29 19:29:24 +00:00
pcn Fix logic error 2012-02-27 08:57:02 +00:00
pdq
powermac_nvram
ppbus Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
ppc Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
pst Convert files to UTF-8 2012-01-15 13:23:18 +00:00
pty Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
puc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
qlxgb Do not announce IPv6 TSO support yet. The in-tree driver does not seem 2012-04-23 21:49:11 +00:00
quicc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ral Add support for Ralink RT2800/RT3000 chipsets. 2012-05-10 17:41:16 +00:00
random Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
rc
re Make sure we don't dereference a null pointer 2012-05-11 07:12:18 +00:00
rndtest Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
rp
rt ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
safe More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
sbni
scc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
scd
sdhci Add support for RICOH R5CE823 card reader, that can be found in 2012-02-09 10:20:41 +00:00
sec - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
sf Remove unused variable mii. 2012-05-11 03:17:32 +00:00
sfxge M_DONTWAIT is a flag from historical mbuf(9) 2012-04-10 06:52:21 +00:00
sge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
si
siba Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00
siis Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
sio kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
sis ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
sk ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
smbus - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
smc - Do not reinitialize the card if it is already running. 2012-04-07 06:56:38 +00:00
sn ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snc ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snp Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
sound Added D_TRACKCLOSE to sndstat_cdevsw to fix the situation when 2012-05-02 19:32:11 +00:00
speaker Do not define bool/true/false if the symbols already exist. 2011-12-12 18:43:24 +00:00
spibus Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
ste - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
stg
stge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
streams Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
sym Merge from r225950: 2011-10-07 08:59:54 +00:00
syscons Move tty_opened_ns() into syscons.c which is currently the 2012-03-29 15:47:29 +00:00
tdfx Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ti Eliminate vestiges of page coloring. 2011-12-15 05:07:16 +00:00
tl ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
tpm
trm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
tsec Do not reinitialise the interface if it is already running, this prevents the 2012-05-09 00:56:11 +00:00
twa Use bus_get_dma_tag() to inherit the 4G boundary restriction from the 2012-03-07 18:53:56 +00:00
twe Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
tws Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
tx - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
txp
uart Complete polled-mode operation by using a callout if the device will be 2012-04-12 18:46:48 +00:00
ubsec More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
usb - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
utopia
vge Remove unused variable mii 2012-02-11 08:12:52 +00:00
viawd Correctly spell my email address. 2011-12-22 15:13:32 +00:00
virtio Sync with Bryan Venteicher's virtio git repo: 2012-04-16 18:29:12 +00:00
vkbd Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
vr Announce flow control capability to PHY drivers and enable flow 2011-11-28 19:03:59 +00:00
vte Remove unused variable mii. 2011-11-23 05:34:01 +00:00
vx ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
vxge Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:54 +00:00
watchdog - Add the possibility to reuse the already last used timeout when patting 2011-04-27 16:43:03 +00:00
wb ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
wbwd Provide wbwd(4), a driver for the watchdog timer found on various 2012-03-06 18:44:52 +00:00
wds Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
wi If an interrupt is received with no vap attached, just fail LINK events. 2012-02-25 08:01:29 +00:00
wl
wpi Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
wtap Remove this - it's not needed as it's defined in ieee80211_freebsd.h. 2012-03-19 13:54:15 +00:00
xe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xen Free ballooned pages with the corresponding malloc type. 2012-04-06 08:13:29 +00:00
xl - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00