Page MenuHomeFreeBSD

ix: Fix accessing wrong register, improve WoL support recognition ix, ixv: Update link status with autonegotiated baudrate value
AbandonedPublic

Authored by piotr.pietruszewski_intel.com on Dec 7 2018, 1:24 PM.

Details

Summary

Use IXGBE_GRC_BY_MAC(hw) macro instead of IXGBE_GRC as IXGBE_GRC's
address is different on Denverton platform.

Improve WoL support recognition by expanding WoL capability check
to cover not only values reported by NVM, but also device IDs as
adapters older than X540 don't announce WoL support through NVM.

Set Wake-Up Filter Control register to wake up on Link Status change,
Magic Packet, Direct Exact Packet and Directed Multicast Packet by
default.

Add better description of Wake-Up Filter Control (wufc) sysctl.

Use autonegotiated link speed value while updating link status
to iflib.

This patch is extended version of change made in NetBSD kernel
by Masanobu Saitoh, NetBSD maintainer.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 21889
Build 21133: arc lint + arc unit

Event Timeline

sbruno accepted this revision.Dec 10 2018, 3:49 PM
sbruno added inline comments.
sys/dev/ixgbe/ixgbe_osdep.c
112

It looks like ixgbe(4) has never used anything other than IF_Gbps(10). Has this been tested against the various speed?

This revision is now accepted and ready to land.Dec 10 2018, 3:49 PM
This revision now requires review to proceed.Dec 11 2018, 2:02 PM
  • Add missing return statement after checking WoL capability to prevent flow from entering wol_capable label reserved for WoL capable devices only.
  • In ixgbe_setup_low_power_mode(), move writing WoL specific registers outside of block executed only for X550EM_X_10G_T.
  • Set Wake-Up Filter Control register to wake up on Link Status change, Magic Packet, Direct Exact Packet and Directed Multicast Packet by default.
  • Change behaviour of Wake-Up Filter Control (wufc) sysctl handler to allow user not only set but also reset desirable bits.
  • Add better description of Wake-Up Filter Control (wufc) sysctl.
Harbormaster completed remote builds in B21889: Diff 52686.
erj added a subscriber: erj.Feb 7 2019, 8:18 PM

@piotr.pietruszewski_intel.com Are we going to abandon this for now?