History log of /freebsd-11.0-release/sys/dev/sfxge/sfxge_port.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 301724 09-Jun-2016 arybchik

sfxge(4): handle negative ticks difference correctly

ticks are signed int and if statistics is not updated for a long time
(more than INT_MAX ticks, but less than UINT_MAX) difference becomes
negative and less than hz for a long time.

Other option to repeat is simply load driver (which initializes
timestamps to 0) when ticks are negative.

Sponsored by: Solarflare Communications, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D6777


# 300607 24-May-2016 arybchik

sfxge(4): cleanup: update copyright to 2016

Sponsored by: Solarflare Communications, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D6509


# 283599 27-May-2015 arybchik

sfxge: mask ifmedia options (pauses) when looking for matching mode

Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D2656


# 283514 25-May-2015 arybchik

sfxge: add 7xxx NICs family support

Support 7xxx adapters including firmware-assisted TSO and VLAN tagging:

- Solarflare Flareon Ultra 7000 series 10/40G adapters:
- Solarflare SFN7042Q QSFP+ Server Adapter
- Solarflare SFN7142Q QSFP+ Server Adapter

- Solarflare Flareon Ultra 7000 series 10G adapters:
- Solarflare SFN7022F SFP+ Server Adapter
- Solarflare SFN7122F SFP+ Server Adapter
- Solarflare SFN7322F Precision Time Synchronization Server Adapter

- Solarflare Flareon 7000 series 10G adapters:
- Solarflare SFN7002F SFP+ Server Adapter

Support utilities to configure adapters and update firmware.

The work is done by Solarflare developers
(Andy Moreton, Andrew Lee and many others),
Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me.

Sponsored by: Solarflare Communications, Inc.
MFC after: 2 weeks
Causually read by: gnn
Differential Revision: https://reviews.freebsd.org/D2618


# 283007 16-May-2015 arybchik

sfxge: avoid usage of ifm_data

The driver uses ifm_data to save capabilities mask calculated during
initialization when supported phy modes are discovered.
The patch simply calculates it when either media or options are changed.

Reviewed by: glebius
Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D2540


# 282897 14-May-2015 arybchik

sfxge: add missing const qualifier to sfxge_link_mode

Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days


# 280380 23-Mar-2015 arybchik

sfxge: remove unnecessary and wrong prediction

Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D2085


# 279351 27-Feb-2015 arybchik

sfxge: expect required init_state on data path and in periodic calls

With the patch applied the number of instruction events is 1% less and
number of mispredicted branch events is 5% less under multistream TCP
traffic load close to line rate.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 279267 25-Feb-2015 arybchik

sfxge: use tab to indent instead of spaces

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 279184 22-Feb-2015 arybchik

sfxge: implement if_get_counter callback

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 278838 16-Feb-2015 arybchik

sfxge: SYSCTL_IN/OUT should not be called with non-sleepable lock held

The problem is found using WITNESS option enabled.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 278250 05-Feb-2015 arybchik

sfxge: make lock names unique

Lock name should include interface name.
Tx queue and event queue lock name should include queue number.

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 278248 05-Feb-2015 arybchik

sfxge: access statistics buffers under port lock

Allow access to statistics data not only from sysctl handlers.

Submitted by: Boris Misenov <Boris.Misenov at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 278221 04-Feb-2015 arybchik

sfxge: Add macros to init, destroy, acquire, release and assert locks

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 277890 29-Jan-2015 arybchik

sfxge: Do not bzero() DMA allocated memory once again

sfxge_dma_alloc() calls bus_dmamem_alloc() with BUS_DMA_ZERO flag, so
allocated memory is already filled in by zeros

Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)


# 272452 02-Oct-2014 gnn

Fixup the setting of the baud rate.


# 272325 30-Sep-2014 gnn

cleanup: code style fixes

Remove trailing whitespaces and tabs.
Enclose value in return statements in parentheses.
Use tabs after #define.
Do not skip comparison with 0/NULL in boolean expressions.

Submitted by: Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 264772 22-Apr-2014 gnn

Check that port is started when MAC filter is set

The MAC filter set may be called without softc_lock held in the case of
SIOCADDMULTI and SIOCDELMULTI ioctls. The ioctl handler checks IFF_DRV_RUNNING
flag which implies port started, but it is not guaranteed to remain.
softc_lock shared lock can't be held in the case of these ioctls processing,
since it results in failure where kernel complains that non-sleepable
lock is held in sleeping thread.

Both problems are repeatable on LAG with LACP proto bring up.

Submitted by: Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru>
Sponsored by: Solarflare Communications, Inc.

MFC after: 2 weeks


# 229613 05-Jan-2012 jhb

Update recently added drivers to use the if_*addr_r*lock() wrapper
functions instead of using the IF_ADDR_LOCK directly. The wrapper
functions are the supported interface for device drivers.

Reviewed by: bz, philip
MFC after: 1 week


# 227699 19-Nov-2011 philip

sfxge: Fix if_baudrate reports

This field is supposed to be set to the interface bit rate, but for some
reason I thought it was denominated in kilobits. Multiply the values up
accordingly, taking care to saturate rather than overflow on 32-bit
architectures.

Submitted by: Ben Hutchings <bwh -at- solarflare.com>
MFC after: 3 weeks


# 227569 16-Nov-2011 philip

Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters
based on Solarflare SFC9000 family controllers. The driver supports jumbo
frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO),
Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side
Scaling (RSS) using MSI-X interrupts.

This work was sponsored by Solarflare Communications, Inc.

My sincere thanks to Ben Hutchings for doing a lot of the hard work!

Sponsored by: Solarflare Communications, Inc.
MFC after: 3 weeks