Commit Graph

65 Commits

Author SHA1 Message Date
Ouyang Changchun
d2e72774e5 ixgbe/base: support X550
Add new file to support controller X550, therefore update the Makefile
and README file. It also updates the API functions, DCB related functions,
mailbox related functions, etc to support X550.
In addition, some new macros used by X550 are added.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: merge dependent patches]
2014-10-07 17:00:52 +02:00
Ouyang Changchun
9fe892eb08 ixgbe/base: i2c combined read/write
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 17:00:52 +02:00
Ouyang Changchun
ea344b73c8 ixgbe/base: malicious driver detection
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 17:00:52 +02:00
Ouyang Changchun
4beb35c664 ixgbe/base: iosf sideband read/write
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 17:00:36 +02:00
Ouyang Changchun
835647548d ixgbe/base: anti spoofing
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:51:59 +02:00
Ouyang Changchun
6c48ee06a9 ixgbe/base: source address pruning
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:51:59 +02:00
Ouyang Changchun
efa2dc5b09 ixgbe/base: support EEE
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:51:59 +02:00
Ouyang Changchun
f5b0a41961 ixgbe/base: dma coalescing
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:51:59 +02:00
Ouyang Changchun
21c5ad42ea ixgbe/base: thermal sensor
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:51:59 +02:00
Ouyang Changchun
e7dc3c78dd ixgbe/base: fdir cloud mode
Supports flow director cloud mode in IXGBE base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 16:51:59 +02:00
Ouyang Changchun
d17d0b7a24 ixgbe/base: reset VF registers
Reset VF registers to initial values in IXGBE base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 16:51:59 +02:00
Ouyang Changchun
558136b918 ixgbe/base: clean phy sfp handling
Remove 10GBASE_ER support.
Always support 1000BASE_LX.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 16:24:35 +02:00
Ouyang Changchun
b94a06c1b4 ixgbe/base: support qsfp and lco
- Implement functions to do I2C byte read and write
- Support 82599_QSFP_SF_QP and 82599_LS

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 15:56:39 +02:00
Ouyang Changchun
4ef84d5a22 ixgbe/base: move phy sfp detection in a function
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 15:56:15 +02:00
Ouyang Changchun
d66791389c ixgbe/base: rework semaphore
- Store lan_id and physical semaphore mask into hardware physical information,
and use them to control read and write physical registers in IXGBE base code.
- Extend mask from 16 bits to 32 bits for releasing or acquiring SWFW semaphore
in IXGBE base code. It is used in reading and writing I2C byte.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: merge dependent patches]
2014-10-07 15:43:27 +02:00
Ouyang Changchun
df0799e764 ixgbe/base: remove unnecessary delay
Remove unnecessary delay when setting up physical link and negotiating
in IXGBE base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:43:27 +02:00
Ouyang Changchun
dc7508f1fa ixgbe/base: wait longer while polling X540 flash update
It need wait for 5 ms for polling EEC register in IXGBE X540 base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:43:27 +02:00
Ouyang Changchun
6a236f9625 ixgbe/base: wait longer for VF link status
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 15:43:27 +02:00
Ouyang Changchun
c2a4a29795 ixgbe/base: fix flow control comment
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 15:43:27 +02:00
Ouyang Changchun
36f43e8679 ixgbe/base: refactor manageability block communication
Introduce a new argument to let caller determine if it need read and
return data or not after executing host interface command in IXGBE base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:33:34 +02:00
Ouyang Changchun
fb42f38ee8 ixgbe/base: refactor eeprom checksum calculation
Refines function to let eeprom checksum calculation return
either a negative error code on error, or the 16-bit checksum
in IXGBE base code.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:33:16 +02:00
Ouyang Changchun
c313c942fe ixgbe/base: factorize fdir command complete check
Implements a function to check command complete for flow director in
IXGBE base code, and replaces related code snippet with this function.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:32:58 +02:00
Ouyang Changchun
c8fb5832be ixgbe/base: move manageability function
Manageability query is a common routine (not specific to 82599).

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
[Thomas: split patch]
2014-10-07 15:14:03 +02:00
Ouyang Changchun
0b6683fa75 ixgbe/base: new error types
This patch defines new error type in IXGBE base code; they are
used to report different kinds of error.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-07 15:14:03 +02:00
Ouyang Changchun
66ae737285 ixgbe/base: various clean up
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-03 14:45:24 +02:00
Ouyang Changchun
6fe00c9490 ixgbe/base: minor changes
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2014-10-03 14:45:23 +02:00
David Marchand
efbd9d0f96 ixgbe/base: add a raw log macro
Since base driver always add a trailing \n, add a PMD_DRV_LOG_RAW macro that
will not add one.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-09-18 20:52:41 +02:00
Thomas Monjalon
cedfe35321 ixgbe/base: fix build with debug
The upgraded base driver, especially commit 9ba80bde4c, didn't compile if
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:33:22 +02:00
Pablo de Lara
6f77410723 ixgbe: rework fix of media type for bypass device
This was previously solved in commit 60a70d4e04
(fix link status interrupt of bypass device),
but this alternative fix reverts the previous one and solves the
same issue without modifying the base driver (also named "shared code").

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-06-26 07:16:53 +02:00
Jijiang Liu
eb6a0b950e ixgbe/base: update copyright to 2014
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:32:28 +02:00
Jijiang Liu
fdf0389a98 ixgbe/base: various changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:32:22 +02:00
Jijiang Liu
6202266e56 ixgbe/base: vf changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:32:16 +02:00
Jijiang Liu
b3dafed187 ixgbe/base: x540 changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:32:09 +02:00
Jijiang Liu
4a89241224 ixgbe/base: filtering changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:32:04 +02:00
Jijiang Liu
da7c937efc ixgbe/base: flow director changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:59 +02:00
Jijiang Liu
1acad5657a ixgbe/base: allow to read in sff8472
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:55 +02:00
Jijiang Liu
e7012e2c22 ixgbe/base: allow access to PHY register without lock
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:51 +02:00
Jijiang Liu
092c249e43 ixgbe/base: rework protected access to autoc register
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:46 +02:00
Jijiang Liu
741f5a7e76 ixgbe/base: rework locking
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:41 +02:00
Jijiang Liu
4ffecbe9bc ixgbe/base: rework flow control
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:36 +02:00
Jijiang Liu
8ef3200377 ixgbe/base: rework link negotiation
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:31 +02:00
Jijiang Liu
3a0bdb57ee ixgbe/base: disable laser control if manageability enabled
igned-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:25 +02:00
Jijiang Liu
b7ad3713b9 ixgbe/base: allow to disable link on D3
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:21 +02:00
Jijiang Liu
6ccbb3a669 ixgbe/base: allow to enable and disable Rx
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:14 +02:00
Jijiang Liu
d02eef4c0b ixgbe/base: allow to read rtrup2tc register
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:09 +02:00
Jijiang Liu
fe34e6d799 ixgbe/base: rework PCIe disabling
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:31:02 +02:00
Jijiang Liu
ddb1781d7d ixgbe/base: name constants
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:30:58 +02:00
Jijiang Liu
9ba80bde4c ixgbe/base: improve error handling
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:30:53 +02:00
Jijiang Liu
3211b57388 ixgbe/base: minor changes
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
[Thomas: split code drop]
2014-06-18 23:30:48 +02:00
Pablo de Lara
60a70d4e04 ixgbe: fix link status interrupt of bypass device
Function ixgbe_get_media_type_82599 returns media_type =
ixgbe_media_type_unknown, when using an 82599 Bypass NIC,
so that causes link status interrupt not to work properly.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-17 11:51:41 +02:00