History log of /freebsd-10-stable/sys/dev/sfxge/common/efx_mcdi.c
Revision Date Author Comments
# 342516 26-Dec-2018 arybchik

MFC r341297

sfxge(4): fix out of bounds read when dereferencing sdup

Introduce and use macro to make sure that MCDI buffers allocated
on stack are rounded up properly.

Submitted by: Gautam Dawar <gdawar at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18259


# 342501 26-Dec-2018 arybchik

MFC r340888

sfxge(4): fix warnings from VS2015 C compiler (C4100)

Fix multiple level 4 warnings
"C4100: 'xxx': unreferenced formal parameter"
no functional changes.

The _NOTE(ARGUNUSED(xxx)) annotations are being exposed to the Visual
Studio 2015 C compiler with the following:

#define _NOTE_ARGUNUSED(...) UNREFERENCED_PARAMETER((__VA_ARGS__));
#define _NOTE(_annotation) _NOTE_ ## _annotation

Submitted by: Andrew Lee <alee at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18122


# 312166 14-Jan-2017 arybchik

MFC r311961

sfxge(4): do not ignore requested MAC stats update period

Firmware version which takes PERIOD_MS parameter into account is
required.

Sponsored by: Solarflare Communications, Inc.


# 311496 06-Jan-2017 arybchik

MFC r310813

sfxge(4): add per-command timeout reporting to the common code

In newer firmware that supports multithreaded MCDI processing,
longer running commands may be run ina background thread. Add
support for drivers to query the appropriate timeout for each
MCDI request.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 311095 02-Jan-2017 arybchik

MFC r310819

sfxge(4): cleanup: add efsys_lock_state_t for type of state param in EFSYS_LOCK()

This allows the common code to use the correct type for the lock state
local variable passed to EFSYS_LOCK() and EFSYS_UNLOCK().

On Windows, this allows warning supression pragmas to be removed.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 311093 02-Jan-2017 arybchik

MFC r310811

sfxge(4): cleanup: remove now-unused function flags

Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 311067 02-Jan-2017 arybchik

MFC r310704

sfxge(4): translate MC_CMD_ERR_ERANGE to host errno value

This is needed because MCDI command MC_CMD_REKEY can return
MC_CMD_ERR_ERANGE.

Submitted by: Tom Millington <tmillington at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 311063 02-Jan-2017 arybchik

MFC r310694

sfxge(4): cleanup: add missing spaces

Found by DPDK checkpatch.sh

Sponsored by: Solarflare Communications, Inc.


# 311053 02-Jan-2017 arybchik

MFC r310685

sfxge(4): cleanup: open brace should be on a type name line

Found by DPDK checkpatch.sh

Sponsored by: Solarflare Communications, Inc.


# 301982 17-Jun-2016 arybchik

MFC r301127

sfxge(4): cleanup: remove unused variables in common code

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301388 04-Jun-2016 arybchik

MFC r300607

sfxge(4): cleanup: update copyright to 2016

Sponsored by: Solarflare Communications, Inc.


# 301383 04-Jun-2016 arybchik

MFC r300011

sfxge(4): only raise an exception after MC assert or reboot in the common code

Fix efx_mcdi_request_poll so it only raises an exception if EIO is
reported from a detected MC assert or reboot. This prevents
an unnecessary exception being raised if an MCDI response error code
is trandlated to EIO.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301382 04-Jun-2016 arybchik

MFC r300010

sfxge(4): restore clearing of MCDI new epoch flag in common code

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301374 04-Jun-2016 arybchik

MFC r299919

sfxge(4): translate MC_CMD_ERR_EEXIST to host errno value

This is needed because the new MCDI command nvram_private_append can
return MC_CMD_ERR_EEXIST

Submitted by: Tom Millington <tmillington at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301350 04-Jun-2016 arybchik

MFC r299722

sfxge(4): remove obsolete EFSYS_OPT_PHY_PROPS option and APIs

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301340 04-Jun-2016 arybchik

MFC r299517

sfxge(4): cleanup: constify common code method tables

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 301324 04-Jun-2016 arybchik

MFC r299320-r299328, r299330-r299336

sfxge(4): remove EFSYS_OPT_FALCON and related EFSYS_OPT_ options

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 295526 11-Feb-2016 arybchik

MFC r295467

sfxge: implement SIOCGI2C to read information from phy modules

The IOCTL is used by 'ifconfig -v' to show SFP+/QSFP+ information
including inventory information and dianostics (temperature, light
levels, voltage etc).

Reviewed by: gnn,melifaro
Approved by: re (gjb)
Sponsored by: Solarflare Communications, Inc.


# 294389 20-Jan-2016 arybchik

MFC r294076

sfxge: rework MCDI request completion

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 294387 20-Jan-2016 arybchik

MFC r293902

sfxge: cleanup: quieten efx_mcdi_read_resonse_header error reporting

The "mcdi_err_arg" probe still reports results of failed MCDI
commands, unless the caller invoked efx_mcdi_execute_quiet().

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 294378 20-Jan-2016 arybchik

MFC r293888

sfxge: rework MCDI start request

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 294016 14-Jan-2016 arybchik

MFC r293814

sfxge: cleanup: simplify EFX header includes

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293997 14-Jan-2016 arybchik

MFC r293765

sfxge: rework MCDI header version handling

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293991 14-Jan-2016 arybchik

MFC r293757

sfxge: rename hunt MCDI methods to ef10 and use for Medford

Submitted by: Mark Spender <mspender at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293972 14-Jan-2016 arybchik

MFC r292090

sfxge: unify MCDI response polling

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: philip
Sponsored by: Solarflare Communications, Inc.


# 293971 14-Jan-2016 arybchik

MFC r292088

sfxge: simplify MCDI methods

It is a part of MCDI rework to share more code among NIC families.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293969 14-Jan-2016 arybchik

MFC r292055

sfxge: consolidate privilege check functions

To reduce code duplication in common code, consolidate similar privilege
check functions.

Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293964 14-Jan-2016 arybchik

MFC r292008

sfxge: use MAC spoofing TX and MAC change privileges

Update of common code to provide a query on the MAC_SPOOFING_TX and
CHANGE_MAC privileges instead of the deprecated MAC_SPOOFING privilege.

Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293963 14-Jan-2016 arybchik

MFC r292051

sfxge: [6/6] support for MCDI proxy authorization in common code

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293962 14-Jan-2016 arybchik

MFC r292050

sfxge: [5/6] rework event completion error handling

Required for MCDI proxy authorization support.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293961 14-Jan-2016 arybchik

MFC r292007

sfxge: [4/6] rework MCDI response polling

Required for MCDI proxy authorization support.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293960 14-Jan-2016 arybchik

MFC r291985

sfxge: [3/6] rework MCDI response handling

Required for MCDI proxy authorization support.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293959 14-Jan-2016 arybchik

MFC r291928

sfxge: [2/6] rework MCDI response polling

Required to support MCDI proxy authorization.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.


# 293939 14-Jan-2016 arybchik

MFC r291677

sfxge: add MCDI logging support to common code

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293937 14-Jan-2016 arybchik

MFC r291588

sfxge: add function to query link control privilege

Make link control privilege visible to OS driver to guard updates to
flow control and PHY advertised capabilities.

Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 293927 14-Jan-2016 arybchik

MFC r291436

sfxge: add prefast annotation to common code return types

Using a typedef for common code return types (rather than "int")
allows the Prefast static analyser to understand when a function
has been successful (and thus when its postconditions must hold).

This greatly reduces then number of false positives reported by
prefast for error paths in common code functions.

Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.


# 284555 18-Jun-2015 arybchik

MFC: r283514

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.


# 280609 25-Mar-2015 arybchik

MFC: 280379

sfxge: do not check MCDI status word

This is a temporary workaround until we determine a reliable sequence
of operations for detecting MC reboots.

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


# 280565 25-Mar-2015 arybchik

MFC: 279143

sfxge: use common definitions of MC shared memory offsets and PDU length

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


# 280563 25-Mar-2015 arybchik

MFC: 279141

sfxge: style fixes and cleanup

Sync endif comment with conditional.
BOOTROM and SIENA_BOOTROM are the same, but highlight that it is Siena.
Restore commented out assertion.
Sync comments with out-of-tree driver.

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


# 280535 25-Mar-2015 arybchik

MFC: 278839

sfxge: style fixes

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


# 284555 18-Jun-2015 arybchik

MFC: r283514

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.


# 280609 25-Mar-2015 arybchik

MFC: 280379

sfxge: do not check MCDI status word

This is a temporary workaround until we determine a reliable sequence
of operations for detecting MC reboots.

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


# 280565 25-Mar-2015 arybchik

MFC: 279143

sfxge: use common definitions of MC shared memory offsets and PDU length

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


# 280563 25-Mar-2015 arybchik

MFC: 279141

sfxge: style fixes and cleanup

Sync endif comment with conditional.
BOOTROM and SIENA_BOOTROM are the same, but highlight that it is Siena.
Restore commented out assertion.
Sync comments with out-of-tree driver.

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


# 280535 25-Mar-2015 arybchik

MFC: 278839

sfxge: style fixes

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