202475 Commits

Author SHA1 Message Date
arybchik
28894f198e MFC r300609
sfxge(4): enable Medford support

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:12:28 +00:00
arybchik
b40ec06d05 MFC r300608
sfxge(4): bump driver version to the closest out-of-tree version

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:11:04 +00:00
arybchik
4f24c165ae MFC r300607
sfxge(4): cleanup: update copyright to 2016

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:08:34 +00:00
arybchik
b21c7afe1c MFC r300606
sfxge(4): provide option to disable not a local MAC address check

Option EFSYS_OPT_ALLOW_UNCONFIGURED_NIC disables check that the adapter
MAC address is not a local address (beginning 02).

Submitted by:   Laurence Evans <levans at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:05:20 +00:00
arybchik
40c12de63c MFC r300605
sfxge(4): be ready to receive events immediately after event queues are created

Submitted by:   Mark Spender <mspender at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:03:06 +00:00
arybchik
20c918cc21 MFC r300505
sfxge(4): cleanup: remove unused EFX preempt macros

The EFSYS_PREEMPT_DISABLE() and EFSYS_PREEMPT_ENABLE() macros
were used to ensure correct timing of I2C operations. The APIs
for I2C operations have been removed, so these macros have no
callers.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 17:00:50 +00:00
arybchik
b2684287e5 MFC r300135
sfxge(4): cleanup: remove trailing whitespaces

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:58:34 +00:00
arybchik
6e80169d21 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.
2016-06-04 16:57:38 +00:00
arybchik
f9425301f6 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.
2016-06-04 16:56:36 +00:00
arybchik
a96cc44e84 MFC r300009
sfxge(4): fix Medford timer quantum calculation in common code

The event/timer block used sysclk in Huntington, but has been
moved to the dpcpu clock domain for Medford. Fix the computed
timer quantum to use the right clock.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:54:28 +00:00
arybchik
5a3a6f3d46 MFC r300008
sfxge(4): query and use current MTU if setting the MTU fails

This allows the driver to fall back to the largest usable MTU if a
user attempts to configure an unprivileged function with an MTU higher
than that of the attached port.

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:52:04 +00:00
arybchik
727f2e3d26 MFC r300007
sfxge(4): store licensing state in efx_lic

Check licensing support at NIC startup to avoid multiple checks later.
As state is stored, licensing initialisation is moved later in start
procedure.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:49:58 +00:00
arybchik
66bf7c79e9 MFC r299925
sfxge(4): cleanup: quieten more common code MCDI handlers

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:47:39 +00:00
arybchik
a147cc6429 MFC r299924
sfxge(4): cleanup: remove misnamed function declaration

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:45:36 +00:00
arybchik
0ae24c12a4 MFC r299923
sfxge(4): cleanup: make MCDI license queries quieter in common code

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:43:26 +00:00
arybchik
da7af1d148 MFC r299920
sfxge(4): cleanup: simplify ef10_ev_qcreate

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:42:31 +00:00
arybchik
114bc03a35 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.
2016-06-04 16:41:31 +00:00
arybchik
b9a9caf9f3 MFC r299918
sfxge(4): cleanup: run genfwdef to propogate prior changes to TLV headers

Submitted by:   Andrew Lee <alee at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:39:05 +00:00
arybchik
1b1e200aef MFC r299917
sfxge(4): set TSOv2 feature flag on Medford

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:37:14 +00:00
arybchik
9e97d80032 MFC r299915
sfxge(4): improve TX/RX queue error messages

Report the full error descriptor in a form that can be passed to
firmwaresrc/dpcpu/scripts/evdecode

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:36:23 +00:00
arybchik
e738411e4f MFC r299911
sfxge(4): fix license validation check for V3 licenses

Length consistency checks were failing for ECC hashes.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:35:29 +00:00
arybchik
862e429e1d MFC r299909
sfxge(4): regenerate MCDI headers from firmwaresrc .yml

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:33:54 +00:00
arybchik
abd6f70fe9 MFC r299907
sfxge(4): increase maximum size of license keys

Increase buffer sizes for license keys to 160 bytes to accomodate ECDSA
hashes.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:31:56 +00:00
arybchik
e6051453d4 MFC r299905
sfxge(4): fix V1 licensing MCDI operations

Implementation of the MCDI commands for Siena boards was requesting
the wrong operation.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:31:04 +00:00
arybchik
ea37dd9538 MFC r299904
sfxge(4): improve PCIe link speed and width check

Perform a more accurate check of whether the PCIe bandwidth is
sufficient for the current/supported port modes.

Give a different warning if there is sufficient bandwidth to achieve
line rate, but the link is not fast enough for optimal latency.

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:28:52 +00:00
arybchik
242bfdd6d5 MFC r299903
sfxge(4): cleanup: make TLV scans quieter

Find end of segments in a more direct way that avoids an error report at
the terminator.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:26:25 +00:00
arybchik
eb82ace472 MFC r299901
sfxge(4): cleanup: make VPD lookups quieter

A lookup on a VPD entry which is missing reports several failure
messages as it propagates through wrapper functions. Restructured
the wrappers to treat this gracefully as an expected case.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:25:18 +00:00
arybchik
34b153c0b9 MFC r299899
sfxge(4): cleanup: make licensing function quieter

Silent handling of failure to invoke functions that are not supported on
older licensing versions.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:24:14 +00:00
arybchik
a686a344be MFC r299898
sfxge(4): restructure efx_lic to support V3 licensing

Create separate implementations of the efx_lic API for each revision of
the licensing system. All processing of the V1/V2 license partition is
moved to efx_lic, and an implementation of V3 licensing uses the existing
TLV functions with extensions for writing new TLV entries.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:22:03 +00:00
arybchik
569cf74cc6 MFC r299734
sfxge(4): remove unused EFX PHY symbols

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:19:48 +00:00
arybchik
9eaaa62ae9 MFC r299733
sfxge(4): remove obsolete EFX_MON types

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:17:41 +00:00
arybchik
11ace74ef0 MFC r299732
sfxge(4): remove unimplemented sensor reconfigure method

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:15:31 +00:00
arybchik
e6a8b45ebb MFC r299731
sfxge(4): remove unimplemented sensor reset method

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:13:18 +00:00
arybchik
1bb6830c25 MFC r299730
sfxge(4): fix build with -Werror=pointer-sign

-Werror=pointer-sign is enabled in OmniOS GLD driver build.

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:11:16 +00:00
arybchik
e5c9f053b7 MFC r299729
sfxge(4): remove unimplemented MAC reset method

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:08:41 +00:00
arybchik
efa5c9937d MFC r299728
sfxge(4): cleanup: remove unused define EFX_EVQ_FALCON_TIMER_QUANTUM_NS

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:06:19 +00:00
arybchik
b80a960737 MFC r299727
sfxge(4): cleanup: remove unused variable flags

Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:04:06 +00:00
arybchik
675d6334b1 MFC r299724
sfxge(4): remove unimplemented EFX PHY methods

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 16:02:03 +00:00
arybchik
349f5f616f MFC r299723
sfxge(4): import TLV layout from firmwaresrc

Submitted by:   Laurence Evans <levans at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:58:02 +00:00
arybchik
d2b834cc34 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.
2016-06-04 15:57:01 +00:00
arybchik
0a45b12551 MFC r299721
sfxge(4): remove PHY property method stubs

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:54:54 +00:00
arybchik
e62464c33c MFC r299720
sfxge(4): move ef10 definitions to ef10_impl.h

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:52:48 +00:00
arybchik
f960b91c38 MFC r299719
sfxge(4): prepare for moving EF10 definitions to ef10_impl.h

Move legacy privilege masks near to their only user.
Move Huntington definitions to the top of hunt_impl.h to prepare
for moving the remaining EF10 definitions to ef10_impl.h.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:50:44 +00:00
arybchik
886a5a1aa5 MFC r299718
sfxge(4): rename falconsiena_filter types

Falcon support has been removed, so this code only supports Siena.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:48:40 +00:00
arybchik
2ad2b3917d MFC r299607-r299612
sfxge(4): rename falconsiena_*

Falcon support has been removed, so this code only supports Siena.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:46:37 +00:00
arybchik
45da1f7e9b MFC r299596-r299606, r299681, r299726, r299738
sfxge(4): move ef10_*() functions to ef10_*.c files

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:24:11 +00:00
arybchik
3ddc776297 MFC r299595
sfxge(4): comment on when we assume multicast chaining is available

It's the same on Medford as Huntington.

Multicast chaining is not always on, even with Medford, as it's not
supported by low latency firmware.

Unlike the Linux driver, we don't need to support virtulization with
firmware released before support for multicast chaining was added.

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:02:25 +00:00
arybchik
78853f53a7 MFC r299594
sfxge(4): avoid duplicate delivery of packets when changing multicast
mode with multicast chaining enabled

With multicast chaining, if e.g. a specific multicast filter is
inserted and the multicast mis-match filter is then inserted, both may
match a packet and cause it to be delivered.

Copy the behaviour of the Linux driver, which is to remove the old filters
first, on the basis that customers are more likely to be able to handle
drops than duplicates (see bug49178 comment 4).

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 15:01:08 +00:00
arybchik
71881cf57e MFC r299518
sfxge(4): update multicast filter insertion algorithm

When the multicast filters we're allowed to insert are controlled by the
hypervisor, it may be that we can insert some but not others. So we need
to have fallbacks where we insert any filters we can without rolling back
when one fails to insert.

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 14:59:54 +00:00
arybchik
65178fd92b MFC r299517
sfxge(4): cleanup: constify common code method tables

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2016-06-04 14:58:34 +00:00