History log of /drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8f4a0a3d9f9706da5a9d053fe39854c160250ddc 17-Mar-2012 Alexander Duyck <alexander.h.duyck@intel.com> ixgbe: Fix issues with SR-IOV loopback when flow control is disabled

This patch allows us to avoid a Tx hang when SR-IOV is enabled. This hang
can be triggered by sending small packets at a rate that was triggering Rx
missed errors from the adapter while the internal Tx switch and at least
one VF are enabled.

This was all due to the fact that under heavy stress the Rx FIFO never
drained below the flow control high water mark. This resulted in the Tx
FIFO being head of line blocked due to the fact that it relies on the flow
control high water mark to determine when it is acceptable for the Tx to
place a packet in the Rx FIFO.

The resolution for this is to set the FCRTH value to the RXPBSIZE - 32 so
that even if the ring is almost completely full we can still place Tx
packets on the Rx ring and drop incoming Rx traffic if we do not have
sufficient space available in the Rx FIFO.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
d2f5e7f3af777d52ce110ae60e8cb788bc93141c 18-Feb-2012 Atita Shirwaikar <atita.shirwaikar@intel.com> ixgbe: Fix race condition where RX buffer could become corrupted.

There was a race condition in the reset path where the RX buffer
could become corrupted during Fdir configuration.This is due to
a HW bug.The fix right now is to lock the buffer while we do the
fdir configuration.Since we were using similar workaround for another bug,
I moved the existing code to a function and reused it.HW team also recommended
that IXGBE_MAX_SECRX_POLL value be changed from 30 to 40.The erratum for this
bug will be published in the next release 82599 Spec Update

Signed-off-by: Atita Shirwaikar <atita.shirwaikar@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
bdda1a61c1dbb1e3a4f76c944b7c1e3b3731c861 08-Feb-2012 Alexander Duyck <alexander.h.duyck@intel.com> ixgbe: Do not disable read relaxed ordering when DCA is enabled

A previous fix had gone though and disabled relaxed ordering for Rx
descriptor read fetching. This was not necessary as this functions
correctly and has no ill effects on the system.

In addition several of the defines used for the DCA control registers were
incorrect in that they indicated descriptor effects when they actually had
an impact on either data or header write back. As such I have update these
to correctly reflect either DATA or HEAD.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
c466d7a73360ed02167598a94984ab7b4dadfa68 28-Feb-2012 Don Skidmore <donald.c.skidmore@intel.com> ixgbe: fix spelling errors

Correct spelling error caught with codespell.py.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
9497182051f261fe688bb2d672fdbc07ab3d5348 06-Jan-2012 Don Skidmore <donald.c.skidmore@intel.com> ixgbe: update copyright to 2012

New year so bump the copyright date.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
c1085b10925a3271f90cb9619f22835e701e8657 10-Dec-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: fix incorrect PHY register reads

Fix some register reads that had the opcode and register parameters swapped.
Also use define instead of a magic (0x3) number.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
3db1cd5c05f35fb43eb134df6f321de4e63141f2 19-Dec-2011 Rusty Russell <rusty@rustcorp.com.au> net: fix assignment of 0/1 to bool variables.

DaveM said:
Please, this kind of stuff rots forever and not using bool properly
drives me crazy.

Joe Perches <joe@perches.com> gave me the spatch script:

@@
bool b;
@@
-b = 0
+b = false
@@
bool b;
@@
-b = 1
+b = true

I merely installed coccinelle, read the documentation and took credit.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
331bcf45feb76d507a769d9d3b26ff5626804117 22-Oct-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: fix reading of the buffer returned by the firmware

This patch fixes some issues found in the buffer read portion of
ixgbe_host_interface_command()

- use `bi` as the buffer index counter instead of `i`
- add conversion to native cpu byte ordering on register read
- fix conversion from bytes to dword
- use dword_len instead of buf_len when reading the register

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
79488c58bb5aef58cfba1917617acf0db21c23a9 11-Oct-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: fix endianess when writing driver version to firmware

This patch makes sure that register writes are in little endian and
also converts the reads back to big-endian.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
837617a580d5b61ca7a0a0cfe74ba9276e94c0ed 16-Sep-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: do not disable flow control in ixgbe_check_mac_link

Disabling flow control in ixgbe_check_mac_link() results in incorrect
reporting by ethtool when link goes down, so remove it.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
9da712d2ede7e3e3a0da180351505310ee271773 23-Aug-2011 John Fastabend <john.r.fastabend@intel.com> ixgbe: update {P}FC thresholds to account for X540 and loopback

Revise high and low threshold marks wrt flow control to account
for the X540 devices and latency introduced by the loopback
switch.

Without this it was in theory possible to drop frames on a
supposedly lossless link with X540 or SR-IOV enabled.

Previously we used a magic number in a define to calculate the
threshold values. This made it difficult to sort out exactly
which latencies were or were not being accounted for. Here
I was overly explicit and tried to used #define names that would
be recognizable after reading the IEEE 802.1Qbb specification.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
ff9d1a5aefa70ef161a5716f44ad2c24957db7c8 16-Aug-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: avoid HW lockup when adapter is reset with Tx work pending

This change is meant to avoid a hardware lockup when Tx work is still
pending and we request a reset.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
f3116f62cb56ef5efd172371fab688bb27529f69 29-Jul-2011 Emil Tantilov <emil.s.tantilov@intel.com> ixgbe: clear RNBC only for 82598

RNBC (0x03FC0) is only for 82598 and has different meaning
on newer HW. Make sure to only clear it for 82598.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
53f096de3a2d04dc034b9dbcb160c6448960309d 28-Jul-2011 Don Skidmore <donald.c.skidmore@intel.com> ixgbe: fix ixgbe_fc_autoneg_fiber bug

A logic error in ixgbe_fc_autoneg_fiber() that treated a masked u32 as a
boolean would make it so we would never fall hit a error check case. So
now I force the u32 to a boolean value with '!!'.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
dee1ad47f2ee75f5146d83ca757c1b7861c34c3b 07-Apr-2011 Jeff Kirsher <jeffrey.t.kirsher@intel.com> intel: Move the Intel wired LAN drivers

Moves the Intel wired LAN drivers into drivers/net/ethernet/intel/ and
the necessary Kconfig and Makefile changes.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c