History log of /src/sys/net/if_media.h |
Revision | | Date | Author | Comments |
1.72 |
| 18-Apr-2024 |
andvar | s/resoure/resource/ in comments.
|
1.71 |
| 15-Mar-2020 |
thorpej | 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.
|
1.70 |
| 17-Feb-2020 |
msaitoh | - Remove 50GBASE-LR10. - Add the following medias: - 25GBASE-ACC - 100GBASE-ACC - 100GBASE-AOC - 100GBASE-FR - 100GBASE-LR - 200GBASE-ER4 - 400GBASE-ER8 - 400GBASE-FR4 - 400GBASE-LR4 - 400GBASE-SR4.2 - 400GBASE-SR8
|
1.69 |
| 01-Feb-2020 |
thorpej | - Add an ifmedia_fini() routine, to free resources assocated with an ifmedia. Currently calls ifmedia_removeall(). All drivers that call ifmedia_init() and support detach should call this routine. - In ifmedia_delete_instance(), set ifm->ifm_cur to NULL and ifm->ifm_media to IFM_NONE when removing / freeing that entry, not simply when we've been asked to delete every media instance.
|
1.68 |
| 05-Dec-2019 |
msaitoh | branches: 1.68.2; Fix previous comment change for ifm_media. It was correct.
The real problem is that some driver misuse ifm_media as the current active media. struct mii_data has the current active media(mii_media_active). If a driver use mii(4), it can be use mii->mii_media_active for this purpose. struct ifmedia has no entry for this purpose. Some drivers have an entry in their own softc to keep the value, but some other's don't have it and they mistakenly use ifm_media.
We might add a new entry to struct ifmedia in future to avoid this confusion and for simplify.
|
1.67 |
| 28-Nov-2019 |
msaitoh | Fix comment. The ifm_media member of struct ifmedia is NOT user-set media word but the current "active" media.
The user-set media word is one of the ifmedia_entry's ifm_media(A) that ifm_cur points to (e.g. IFM_AUTO). It can be taken as ifmediareq's ifm_current entry. The current active media word is the ifm_media(B) entry of struct ifmedia (e.g 1000baseTX-FDX as the result of auto negotiation). It can be taken as ifmediareq's ifm_active entry.
struct ifmedia_entry { TAILQ_ENTRY(ifmedia_entry) ifm_list; u_int ifm_media; /* IFMWD: description of this media */ /* A */ u_int ifm_data; /* for driver-specific use */ void *ifm_aux; /* for driver-specific use */ };
struct ifmedia { u_int ifm_mask; /* IFMWD: mask of changes we don't care */ u_int ifm_media; /* IFMWD: current active media word */ /* B */ struct ifmedia_entry *ifm_cur; /* current user-selected media */ TAILQ_HEAD(, ifmedia_entry) ifm_list; /* list of all supported media */ ifm_change_cb_t ifm_change; /* media change driver callback */ ifm_stat_cb_t ifm_status; /* media status driver callback */ };
So:
in kernel SIOCGIFMEDIA(ifmediareq) ----------------------------------------------------------------- user-setting: ifm->ifm_cur->ifm_media ifm_current current active: ifm->ifm_media ifm_active
It would be good to rename some members to make those meaning clear.
|
1.66 |
| 03-Oct-2019 |
jmcneill | Add IFM_IEEE80211_VHT subtype, IFM_IEEE80211_11AC operating mode, and missing descriptions
|
1.65 |
| 17-May-2019 |
msaitoh | branches: 1.65.2; The max subtype of the ifmedia word is 31. It's too small for Ethernet now. We currently use use it up to 30. We should extend the limit to be able to use more than 10Gbps speeds. Our ifmedia(4) is inconvenience and have some problem so we should redesign the interface, but it's too late for netbsd-9 to do it. So, we keep the data structure size and modify the structure a bit. The strategy is almost the same as FreeBSD. Many bits of IFM_OMASK for Ethernet have not used, so use some of them for Ethernet's subtype.
The differences against FreeBSD are: - We use NetBSD style compat code (i.e. no SIOCGIFXMEDIA). - FreeBSD's IFM_ETH_XTYPE's bit location is from 11 to "14" even though IFM_OMASK is from 8 to "15". We use _IFM_ETH_XTMASK from bit 13 to "15". - FreeBSD changed the meaning of IFM_TYPE_MATCH(). I think we should not do it. We keep it not changing and added new IFM_TYPE_SUBTYPE_MATCH() macro for matching both TYPE and SUBTYPE. - Added up to 400GBASE-SR16.
New layout of the media word is as follows (from ifmedia_h):
* if_media Options word: * Bits Use * ---- ------- * 0-4 Media subtype MAX SUBTYPE == 255 for ETH and 31 for others * 5-7 Media type * 8-15 Type specific options * 16-18 Mode (for multi-mode devices) * 19 (Reserved for Future Use) * 20-27 Shared (global) options * 28-31 Instance * * 3 2 1 * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 * +-------+---------------+-+-----+---------------+-----+---------+ * | | |R| | | | | * | IMASK | GMASK |F|MMASK+-----+ OMASK |NMASK| TMASK | * | | |U| |XTMSK| | | | * +-------+---------------+-+-----+-----+---------+-----+---------+ * <-----> <---> <---> * IFM_INST() IFM_MODE() IFM_TYPE() * * IFM_SUBTYPE(other than ETH)<-------> * * <---> IFM_SUBTYPE(ETH)<-------> * * * <-------------> <-------------> * IFM_OPTIONS()
|
1.64 |
| 10-May-2019 |
msaitoh | Remove extra parenthesis.
|
1.63 |
| 24-Apr-2019 |
msaitoh | No functional change: - IFM_AVALID and IFM_ACTIVE are NOT for the media word. Fix comment. - RFU stands for Reserved for Future Use.
|
1.62 |
| 17-Apr-2019 |
msaitoh | Tabify. No functional change.
|
1.61 |
| 04-Oct-2017 |
msaitoh | branches: 1.61.4; Add 2.5GBASE-T and 5GBASE-T.
|
1.60 |
| 04-Oct-2017 |
msaitoh | All Ethernet media more than 1000Mbps don't support half duplex. For the convinience, ifconfig without "mediaopt fullduplex" sets IFM_FDX automatically for those medias. Without this change, "ifconfig xxN mediaopt 10Gbase-T" (without "mediaopt fullduplex") returns EINVAL if a driver doesn't call ifmedia_add() without IFM_FDX because ifmedia_match() returns NULL.
|
1.59 |
| 08-Jun-2017 |
msaitoh | - Add some missing baudrate entries - Add 1000BASE-KX and 2500BASE-KX
|
1.58 |
| 05-Jun-2017 |
msaitoh | No functional change: - Relocate definitions in the following order to be easy to understand. 0) IFM_*MASK 1) macros to extract various bits of information from the media word. 2) Media type. 3) Shared media sub-type. 4) Status bits. 5) Shared (global) options 6) Media dependent definitions. 7) kernel function declarations. 7) userland function declarations. - Add comments.
This change makes me realize that: 0) RFU bit have never used. 1) bit 1..0 are shared between Shared media sub-type and Status bits. It's little dangerous. 2) No. 5 of Media type is not used (hole). 3) Only IEEE80211 uses IFM_MMASK(IFM_MODE()) bits. 4) IFM_TOKEN's OMASK bits doesn't start from 0x00000100 but starts from 0x00000200. Is this for BSD/OS compatibility?
|
1.57 |
| 14-Sep-2016 |
roy | branches: 1.57.8; Introduce IFM_GENERIC. This allows use of the media interface, but without media as such. It's sole purpose is to facilitate the reporting of the link status.
|
1.56 |
| 25-Oct-2012 |
msaitoh | branches: 1.56.14; 1.56.18; Add 1000baseT-FDX.
|
1.55 |
| 20-Feb-2011 |
cegger | branches: 1.55.4; 1.55.14; add MBSS. From FreeBSD.
|
1.54 |
| 26-Jan-2011 |
dyoung | Add some 10-gigabit media words used by Intel 82599.
|
1.53 |
| 05-Oct-2009 |
dyoung | branches: 1.53.4; 1.53.6; 1.53.8; Replace u_quad_t with uint64_t. u_quad_t is just a typedef for uint64_t, so no ABI/API breakage will result from this change.
|
1.52 |
| 12-Aug-2009 |
msaitoh | Add 1000BASE-BX10.
|
1.51 |
| 09-Sep-2008 |
mhitch | Add support for SerDes controllers; from the OpenBSD driver. Tested on a Dell Blade server by me, and an HP Blade server by Havard.
|
1.50 |
| 15-Jun-2008 |
christos | branches: 1.50.2; - Add more definitions from FreeBSD - Add ifmedia_removeall from FreeBSD
|
1.49 |
| 28-Apr-2008 |
martin | branches: 1.49.2; 1.49.4; Remove clause 3 and 4 from TNF licenses
|
1.48 |
| 13-Feb-2008 |
skrll | branches: 1.48.4; 1.48.6; 1.48.8; 1.48.10; CARP is Common *Address* Redundancy Protocol
|
1.47 |
| 10-Jan-2008 |
dyoung | Add a helper subroutine for ethernet drivers, ifmedia_change().
|
1.46 |
| 03-Jun-2006 |
ragge | branches: 1.46.32; 1.46.38; 1.46.46; Add IFM_10G_SR and IFM_10G_CX4, to keep in sync with FreeBSD. Kindly requested by Gleb Smirnoff at FreeBSD.
|
1.45 |
| 18-May-2006 |
liamjfoy | branches: 1.45.2; Integrate Common Address Redundancy Procotol (CARP) from OpenBSD
'pseudo-device carp'
Thanks to: joerg@ christos@ riz@ and others who tested Ok: core@
|
1.44 |
| 08-Mar-2006 |
lukem | branches: 1.44.2; Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings. Add a space between numbers and Hz unit.
|
1.43 |
| 10-Dec-2005 |
elad | branches: 1.43.4; 1.43.6; 1.43.8; 1.43.10; Multiple inclusion protection, as suggested by christos@ on tech-kern@ few days ago.
|
1.42 |
| 11-Nov-2004 |
dsl | branches: 1.42.12; Add prototypes for functions that convert media to/from strings. In libutil/if_media.c (moved from ifconfig.c so that they can be shared in crunched binaries)
|
1.41 |
| 16-Oct-2004 |
dsl | Put spaces either side of '|' for clarity ('|' looks too much like 'I' or 'l')
|
1.40 |
| 09-Apr-2004 |
thorpej | De-__P'ify.
|
1.39 |
| 09-Apr-2004 |
thorpej | Add flow control-related media bits / descriptions.
From HITOSHI Osada.
|
1.38 |
| 10-Mar-2004 |
keihan | branches: 1.38.4; Add 10GBASE-LR to IFM_10G_LR.
|
1.37 |
| 19-Feb-2004 |
ragge | Add media type 10GbaseLR. Change ifmb_baudrate and ifmedia_baudrate() to u_quad_t instead of int (common speed today exceeds 2Gbit).
|
1.36 |
| 13-Oct-2003 |
dyoung | Add constants and strings for 802.11 radios with OFDM PHY (802.11a, 802.11g).
Add constants and strings for multi-mode devices (a/b/g).
From FreeBSD/Sam Leffler.
|
1.35 |
| 08-Jul-2003 |
itojun | prototype must not have variable name
|
1.34 |
| 23-Apr-2003 |
bjh21 | branches: 1.34.2; Accept standard IEEE 802.3 names for Ethernet medium types. Suggested by Christos, IIRC.
|
1.33 |
| 25-Feb-2003 |
dyoung | Add support for Prism monitor mode. From Kevin Lahey <kml@patheticgeek.net>.
This patch does NOT add monitor mode support for the Lucent radios.
awi(4) was only modified for compatibility with the new mediaopt. It does NOT support monitor mode.
Tested by Kevin, Daniel Carosone, and I.
|
1.32 |
| 07-Nov-2002 |
thorpej | Fix more signed/unsigned comparison warnings.
|
1.31 |
| 07-Nov-2002 |
thorpej | Make ifm_data unsigned.
|
1.30 |
| 07-Nov-2002 |
thorpej | Make media and mask unsigned.
|
1.29 |
| 27-Sep-2002 |
onoe | Change ifmb_baudrate for IFM_IEEE80211_DS5: 5Mbps -> 5.5Mbps
|
1.28 |
| 21-Aug-2002 |
onoe | Delete IFM_IEEE80211_IBSS [ibss] and IFM_IEEE80211_IBSSMASTER [ibss-master] from media options, since IEEE80211_ADHOC [adhoc] is already defined for IBSS. Instead, [ibss] is assigned as an alias for IEEE80211_ADHOC.
|
1.27 |
| 10-Aug-2002 |
thorpej | Add "hostap", "ibss", and "ibss-master" 802.11 media options.
From OpenBSD.
|
1.26 |
| 30-Jun-2001 |
kleink | branches: 1.26.2; 1.26.14; Rename an IFM_1000_TX occurrence missed in previous.
|
1.25 |
| 30-Jun-2001 |
bjh21 | IFM_1000_TX -> IFM_1000_T, as (breifly) discussed on tech-net.
|
1.24 |
| 31-May-2001 |
thorpej | Add an Ethernet option bit for master mode (for 1000baseTX, the link master provides the clock -- this is normally the switch, but if you are doing back-to-back NICs, you need to tell one side to be the master).
|
1.23 |
| 06-Mar-2000 |
thorpej | branches: 1.23.6; Add ifmedia_baudrate(), which returns a value suitable for ifi_baudrate given a media word, or 0 for unknown.
|
1.22 |
| 17-Feb-2000 |
sommerfeld | More 802.11 subtypes: there's also 1MB/s DS (the BayStack 660 firmware claims to support it).
|
1.21 |
| 16-Feb-2000 |
thorpej | Fix TMASK to use all 5 lower bits of the media word, and add HomePNA 1.0.
|
1.20 |
| 26-Jan-2000 |
thorpej | Add a way to delete all media for a specified instance.
|
1.19 |
| 25-Jan-2000 |
thorpej | IFM_1000_FX -> IFM_1000_SX, like it's supposed to be, and add a few more gigabit Ethernet tyes from FreeBSD.
|
1.18 |
| 25-Jan-2000 |
thorpej | Define some convenience information and tables related to ifmedia status bits for ifconfig(8).
|
1.17 |
| 24-Jan-2000 |
augustss | Fix a typo.
|
1.16 |
| 23-Jan-2000 |
chopps | add 802.11 media types
|
1.15 |
| 03-Nov-1999 |
thorpej | Make the ifmedia_entry list a TAILQ. This is pretty much for cosmetics (media added to tail, so that when e.g. the list is run to print out what media exist, they appear in-order).
|
1.14 |
| 27-Oct-1999 |
thorpej | Expose the ifmedia_match() function.
|
1.13 |
| 23-Mar-1999 |
thorpej | branches: 1.13.2; 1.13.8; 1.13.10; 1.13.12; Add a new shared media option, IFM_FLOW, used to enable link-level flow control. IEEE 802.3x is in mind, but this could be generally useful for different types of media.
|
1.12 |
| 02-Nov-1998 |
thorpej | Add "10baseT-FDX" and "100baseTX-FDX" aliases to the end of the subtype table. These are actually subtype+option combos, but these are the strings displayed by the MII code to indicate 10Mbps full-duplex and 100Mbps full-duplex respectively, and it's Nice that ifconfig(8) can grok them.
|
1.11 |
| 12-Aug-1998 |
thorpej | Oops, I forgot aliases for some old names (10baseT/UTP, 10base2/BNC, and 10base5/AUI).
|
1.10 |
| 08-Aug-1998 |
thorpej | Define IFM_INST_MAX, the largest possible "instance" value.
|
1.9 |
| 06-Aug-1998 |
thorpej | Define the minimum and maximum "network type" values. These values are incremented by the minimum to interate through them.
|
1.8 |
| 06-Aug-1998 |
thorpej | Add a macro to create a media word from type, subtype, options, and instance.
|
1.7 |
| 06-Aug-1998 |
thorpej | Completely rewrite the way media descriptions are represented. The same data structure is used, but a much saner matching mechanism is used, one which allows greater ease in adding new types.
|
1.6 |
| 03-Aug-1998 |
thorpej | Add IFM_10_FL - 10baseFL (fiber)
|
1.5 |
| 30-Jan-1998 |
jtc | Fix tipo
|
1.4 |
| 30-Jan-1998 |
thorpej | Add 1000baseFX and 10baseT/STP Ethernet media types.
|
1.3 |
| 26-Mar-1997 |
thorpej | Back out the previous change (add IFM_10_EXT) after some dicussion w/ BSDI and Matt Thomas.
|
1.2 |
| 24-Mar-1997 |
thorpej | Add the IFM_10_EXT ("external") ethernet subtype, to accomodate cards that have the notion of an "external media port". Suggested by Matt Thomas <matt@3am-software.com>.
|
1.1 |
| 17-Mar-1997 |
thorpej | BSD/OS-style network interface media selection, implemented by Jonathan Stone and myself. Many thanks to Matt Thomas for providing the information necessary to implement this interface, and for helping to shake out the bugs.
|
1.13.12.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.13.10.1 |
| 15-Nov-1999 |
fvdl | Sync with -current
|
1.13.8.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.13.2.1 |
| 11-May-2000 |
he | Pull up revisions 1.16-1.17,1.19,1.21-1.23 (requested by jhawk): Add a driver for ``wi'', Lucent "Orinoco"/Wavelan.
|
1.23.6.6 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.23.6.5 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.23.6.4 |
| 27-Aug-2002 |
nathanw | Catch up to -current.
|
1.23.6.3 |
| 13-Aug-2002 |
nathanw | Catch up to -current.
|
1.23.6.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.23.6.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.26.14.1 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.26.2.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.26.2.1 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.34.2.6 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.34.2.5 |
| 14-Nov-2004 |
skrll | Sync with HEAD.
|
1.34.2.4 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.34.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.34.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.34.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.38.4.1 |
| 24-Jul-2005 |
snj | Pull up revision 1.42 (requested by riz in ticket #5518): Add prototypes for functions that convert media to/from strings. In libutil/if_media.c (moved from ifconfig.c so that they can be shared in crunched binaries)
|
1.42.12.3 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.42.12.2 |
| 21-Jan-2008 |
yamt | sync with head
|
1.42.12.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.43.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.43.8.3 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.43.8.2 |
| 24-May-2006 |
yamt | sync with head.
|
1.43.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.43.6.3 |
| 03-Jun-2006 |
kardel | Sync with head.
|
1.43.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.43.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.43.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.44.2.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.45.2.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.46.46.1 |
| 10-Jan-2008 |
bouyer | Sync with HEAD
|
1.46.38.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.46.32.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.48.10.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.48.10.3 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.48.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.48.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.48.8.2 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.48.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.48.6.3 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.48.6.2 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.48.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.48.4.1 |
| 23-Feb-2008 |
skrll | Merge from FreeBSD.
|
1.49.4.1 |
| 18-Jun-2008 |
simonb | Sync with head.
|
1.49.2.2 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.49.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.50.2.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.53.8.2 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.53.8.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.53.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.53.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.55.14.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.55.14.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.55.4.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.56.18.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.56.14.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.56.14.1 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.57.8.2 |
| 21-Nov-2017 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #366): sys/net/if_media.h: revision 1.60 sys/net/if_media.h: revision 1.61 All Ethernet media more than 1000Mbps don't support half duplex. For the convinience, ifconfig without "mediaopt fullduplex" sets IFM_FDX automatically for those medias. Without this change, "ifconfig xxN mediaopt 10Gbase-T" (without "mediaopt fullduplex") returns EINVAL if a driver doesn't call ifmedia_add() without IFM_FDX because ifmedia_match() returns NULL. Add 2.5GBASE-T and 5GBASE-T.
|
1.57.8.1 |
| 04-Jul-2017 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #82): sys/net/if_media.h: revision 1.58 sys/net/if_media.h: revision 1.59 No functional change: - Relocate definitions in the following order to be easy to understand. 0) IFM_*MASK 1) macros to extract various bits of information from the media word. 2) Media type. 3) Shared media sub-type. 4) Status bits. 5) Shared (global) options 6) Media dependent definitions. 7) kernel function declarations. 7) userland function declarations. - Add comments. This change makes me realize that: 0) RFU bit have never used. 1) bit 1..0 are shared between Shared media sub-type and Status bits. It's little dangerous. 2) No. 5 of Media type is not used (hole). 3) Only IEEE80211 uses IFM_MMASK(IFM_MODE()) bits. 4) IFM_TOKEN's OMASK bits doesn't start from 0x00000100 but starts from 0x00000200. Is this for BSD/OS compatibility? - Add some missing baudrate entries - Add 1000BASE-KX and 2500BASE-KX
|
1.61.4.4 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.61.4.3 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.61.4.2 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.61.4.1 |
| 12-Jul-2018 |
phil | State save. New kernel config for this brach only. TESTWIFI does produce a kernel. It is not working. athn files not compiling yet and commented out of the TESTWIFI kernel, which only has urtwn 802.11 driver enabled. ieee80211_alq.c and ieee80211_ddb.c not compiling yet.
|
1.65.2.2 |
| 19-Mar-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #785):
sys/net/if_media.h: revision 1.70
- Remove 50GBASE-LR10.
- Add the following medias: - 25GBASE-ACC - 100GBASE-ACC - 100GBASE-AOC - 100GBASE-FR - 100GBASE-LR - 200GBASE-ER4 - 400GBASE-ER8 - 400GBASE-FR4 - 400GBASE-LR4 - 400GBASE-SR4.2 - 400GBASE-SR8
|
1.65.2.1 |
| 25-Feb-2020 |
martin | Pull up following revision(s) (requested by mrg in ticket #717):
sys/dev/fdt/dwcmmc_fdt.c 1.11 sys/dev/ic/bwfm.c 1.15-1.18 sys/dev/ic/bwfmreg.h 1.4-1.6 sys/dev/ic/bwfmvar.h 1.4,1.5 sys/dev/ic/dwc_mmc.c 1.21,1.22 sys/dev/ic/dwc_mmc_reg.h 1.8,1.9,1.12,1.13 sys/dev/pcmcia/pcmciareg.h 1.11 sys/dev/sdmmc/if_bwfm_sdio.c 1.4,1.6-1.12 sys/dev/sdmmc/if_bwfm_sdio.h 1.1,1.2 sys/dev/sdmmc/sdhc.c 1.105,1.106 sys/dev/sdmmc/sdmmc.c 1.37,1.39 sys/dev/sdmmc/sdmmc_cis.c 1.6,1.8 sys/dev/sdmmc/sdmmc_io.c 1.15-1.19 sys/dev/sdmmc/sdmmc_ioreg.h 1.4,1.5 sys/dev/sdmmc/sdmmc_mem.c 1.69-1.71 sys/dev/sdmmc/sdmmcdevs 1.5-1.8 sys/dev/sdmmc/sdmmcvar.h 1.31,1.33,1.34 sys/net/if_media.h 1.66
Add Broadcom devices - Fix typo - add PCMCIA_CISTPL_SDIO definition. - From OpenBSD: - move event handling to workqueue - check for save/restore capability - Tag work queue as MPsafe and increase length. - Juse use bpf_mtap(), the 802.11 encapsulation is handled by firmware. - From OpenBSD: - support block length per function - add functions to read/write regions - Decode (but not use) SDIO tuple in CIS. - Fix locking. - Add more SDIO defines (partially from version 3.0). - From OpenBSD: - All the missing pieces (firmware load, chip setup, protocol handling) TX queue and interrupt handling via sdmmc_task. - Fix locking. - Fix packet parsing. - Add parser for original firmware config files. - tagging work queue as MPSAFE was premature. Revert. - SD_IO_RW_EXTENDED is a data transfer command, so set ADTC flag instead of AC Use correct function to verify if a task has been queued. Avoids race that can corrupt the task queue. - More register definitions. - Add IFM_IEEE80211_VHT subtype, IFM_IEEE80211_11AC operating mode, and missing descriptions - If firmware is connected in HT or VHT mode, report it to SIOCGIFMEDIA - white space police.
Skip setting power when the voltage doesn't change. Also increase some timeouts. - Add and use sdmmc_pause to avoid long-term busy waits. - Add sdio abort function. - Additional error messages. - Print parameters for SDIO devices. - Minor cosmetics. - Simplyfy sdmmc_io_set_blocklen function signature by dropping the extra softc pointer. Aligns with OpenBSD. - Missing commit for sdio abort function. - More code from OpenBSD - no need to splnet() when enqueing packets - explicit structure padding - make internal functions static - also prepare for GPIO interrupts. - Avoid warnings for tautological shifts as sole conditional. - Follow the Linux driver an use the FDT "compatible" property to build a filename for the nvram config file, fall back to the standard filename. E.g. [Caching 123 nodes and 1093 properties] compatible 73696e6f 766f6970 2c627069 2d6d322d "sinovoip,bpi-m2- 0010: 7a65726f 00...... ........ ........ zero" 0015: 616c6c77 696e6e65 722c7375 6e38692d "allwinner,sun8i- 0025: 68322d70 6c757300 ........ ........ h2-plus" interrupt-parent 00000001 ........ ........ ........ .... model 42616e61 6e612050 69204250 492d4d32 "Banana Pi BPI-M2 0010: 2d5a6572 6f00.... ........ ........ -Zero" name 00...... ........ ........ ........ "" serial-number 30326330 30303432 65636431 36376566 02c00042ecd167ef 0010: 00...... ........ ........ ........ . -rw-r--r-- 1 root wheel 875 Nov 2 12:06 brcmfmac43430-sdio.AP6212.txt lrwxr-xr-x 1 root wheel 29 Dec 30 16:19 brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt -> brcmfmac43430-sdio.AP6212.txt -rw-r--r-- 1 root wheel 874 Jun 30 2019 brcmfmac43430-sdio.raspberrypi,3-model-b.txt -rw-r--r-- 1 root wheel 1864 Jun 30 2019 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt lrwxr-xr-x 1 root wheel 29 Dec 30 11:24 brcmfmac43455-sdio.raspberrypi,4-model-b-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt - Add product ID for Broadcom BCM43455 - Use correct firmware for BCM43456 - size check was backwards. - Be less noisy for some commands. - Fix DWC_MMC_INT_SDIO_INT bit - dwc_mmc fixes: - Rockchip uses a different SDIO int bit, so take this into consideration - Avoid unnecessary resets and always wait for resets to complete - kpause instead of delay while holding spinlock - Do not attempt autostop for SD_IO_RW_EXTENDED commands - Allow for sub-blklen byte counts for single block transfers - More SDIO stability and performance fixes
|
1.68.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|