* Add link block check for KR.
* Complete HW initialization even if SFP is not present.
* Add VF xcast promiscuous mode.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Fix ICC build error by removing the EWARN third parameter.
Build error:
.../drivers/net/ixgbe/base/ixgbe_phy.c(1543):
error #268: the format string ends before this argument
EWARN(hw, "WARNING: Intel (R) Network "
^
.../drivers/net/ixgbe/base/ixgbe_phy.c(1805):
error #268: the format string ends before this argument
EWARN(hw, "WARNING: Intel (R) Network "
^
Fixes: aa4fc14d2c ("ixgbe: update base driver")
Fixes: b94a06c1b4 ("ixgbe/base: support qsfp and lco")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Add the support of xcast promiscuous mode. It's
added in mailbox v1.3.
Move the definition of xcast mode to base code.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Disable Ethernet Flow Control (FC) for device 15B0.
Make sure that ixgbe_device_supports_autoneg_fc()
returns false and hw->fc.disable_fc_autoneg is set
to true to avoid running the fc_autoneg function
for the device 15B0, as this device doesn't support
this function.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
If SFP module is not present, reset_hw doesn't return success.
SW should complete the initialization, or with specific module
it resulted in no link when the module was later inserted.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Add a L3/L4 filtering definition of Multiple Receive Queues Command
(MRQC) register for the future use.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
When setting up link on x550 KR devices, should check
if there are constraints on link from manageability, which
may result in link loss.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Replace the raw I/O device memory read/write access with eal
abstraction for I/O device memory read/write access to fix
portability issues across different architectures.
CC: Helin Zhang <helin.zhang@intel.com>
CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Set the MDIO (Management Data Input/Output Interface) read/write
function pointers for Marvell PHYs on some X550 platforms to use
the clause 22 functions. Marvell PHYs do not support clause 45.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Add initial support for Marvell 1000BASE-T PHYs on some X550 platforms.
Firmware owns the link config for Marvell PHYs on these platforms,
software should not touch it.
Also these platforms are not capable of speeds lower than 1Gb.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Ensure that the advertised link speeds are configured for KR/KX
backplane on some new platform.
Without this patch the link remains at 1G when resuming from low power
after being downshifted by LPLU (Low Power Link Up).
This patch ensures that the advertised speeds are not changed for
2.5G configurations.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Add initial support for a XFI backplane interface on some new platforms.
The XFI backplane requires a custom tuned link. Hardware/Firmware owns
the link config for XF backplane and software must not interfere.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Update the version of shared codes to cid-ixgbe.2016.11.21.tar.gz,
All files in net/ixgbe/base are developed by another team and
DPDK PMD uses them accordingly.
Signed-off-by: Wei Dai <wei.dai@intel.com>
This patch updates the configuration of PHY from Inphi (www.inphi.com)
to flush the register write with a reg read.
The Inphi PHY is configured in ixgbe_setup_mac_link_sfp_x550a.
The Inphi PHY setup flow has been updated to read configuration reg,
write only linear/non-linear, and then read (write flush).
Signed-off-by: Wei Dai <wei.dai@intel.com>
This register was incorrect when compared to the data sheet.
Even though the driver doesn't currently use this register,
it is better to fix it upstream.
Fixes: af75078fec ("first public release")
Signed-off-by: Wei Dai <wei.dai@intel.com>
This patch adds Energy Efficient Ethernet (EEE) support for
some Marvell PHYs on some future platforms.
Because EEE capability or status was not indicated previously,
this patch simply assumes that it is supported.
As soon as there is a PHY that does not support EEE, there will
be defects in this area because the driver will not report the
EEE status correctly.
This also deletes some now-unused definitions from an earlier
Marvell PHY implementation and combines a device ID check into a
switch statement.
Signed-off-by: Wei Dai <wei.dai@intel.com>
This patch removes the flow control conversion from Rx and Tx to pause
and asymmetric pause, as that is handled by the ixgbe_negotiate_fc().
Performing the conversion prior to ixgbe_negotiate_fc() results in
an incorrect fc mode if Rx only pause is selected when the link partner
is advertising Tx.
Signed-off-by: Wei Dai <wei.dai@intel.com>
ixgbe_read_i2c_combined_generic_int() is only used by devices >= X550.
Set the initial value accordingly and remove the MAC type check.
Signed-off-by: Wei Dai <wei.dai@intel.com>
The "FW" PHY type now supports speeds 10M, 100M, and 1G.
Previously, only the 1G speed was reported for this PHY type.
Add reporting 10M and 100M speed options.
Signed-off-by: Wei Dai <wei.dai@intel.com>
This patch moves some of the extended speeds that come with X552
(5G, 2.5G, 10M) into the link check functions.
It also now returns speed_unknown for speeds that are not known
how to interpret.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Read and store NW_MNG_IF_SEL register because register fields are
used to determine SGMII link for busy SGMII register reads.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Update ixgbe_setup_phy_link_generic that set/unset auto-negotiation.
Ensure that unsupported auto-negotiation speeds are unset.
This is necessary since the PHY NVM may advertise unsupported speeds.
Fixes: af75078fec ("first public release")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Fix ixgbe_setup_sgmii_m88 to set lane speed to autoneg instead of 1G
to prevent problems with link between PHYs
Fixes: d4b4c68454 ("net/ixgbe/base: add X550em_a FW ALEF support")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Return correct physical layer for some x550 devices.
Fixes: 76d5b807ff ("ixgbe/base: new X557 phy")
Fixes: d2e72774e5 ("ixgbe/base: support X550")
Signed-off-by: Wei Dai <wei.dai@intel.com>
The MAC register NW_MNG_IF_SEL fields have been redefined for X553.
These changes impact the iXFI driver code flow. Since iXFI is only
supported in X552, this patch adds X552 MAC check for iXFI flows.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Enable the Link Alarm Status Interrupt (LASI) only for X552 devices
to receive notifications of the link configurations of the external
PHY and correspondingly support the configuration of the internal
iXFI link, since iXFI does not support auto-negotiation.
This is not required for X553 devices having KR support, which
performs auto-negotiations and which is used as the internal
link to the external PHY.
Signed-off-by: Wei Dai <wei.dai@intel.com>
The variable checksum_last_word is used only for bounds check.
So remove this variable and use IXGBE_EEPROM_CHECKSUM directly.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Add support to get the link active LED index via the LEDCTL register.
If the LEDCTL register does not have link active LED set then
use MAC default LED index.
Link active LED is used for adapter identify/blink support.
Signed-off-by: Wei Dai <wei.dai@intel.com>
This patch cleans up the code and clarifies the comment around
the X557 PHY link status check in ixgbe_check_link_t_x550em().
Signed-off-by: Wei Dai <wei.dai@intel.com>
Method to identify the CS4223/CS4227 is incorrect and unreliable.
Provide a new register to differentiate between these PHY SKUs.
Fixes: fc0559bdb5 ("net/ixgbe/base: add link MAC setup for X550a SFP+")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Devices that cannot go 10G speeds can safely select a faster
Management Data Input/Output (MDIO) speed.
Select fast MDIO clock speed for for those devices.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Receive Address Register (RAR) entries, including SAN MAC address,
are cleared when VMDq pool bits are cleared.
Prevent SAN MAC address to be cleared.
Fixes: af75078fec ("first public release")
Signed-off-by: Wei Dai <wei.dai@intel.com>
PHY type ixgbe_phy_x550em_ext_t requires different check
to verify reset status.
Fixes: af75078fec ("first public release")
Signed-off-by: Wei Dai <wei.dai@intel.com>
The links never coming up when bring up x552 NIC, device id is 15ac.
This is caused by delete some code which casing
removes X550em SFP iXFI setup for the drivers in function
ixgbe_setup_mac_link_sfp_x550em().
Fix method is recover the deleted code.
Fixes: 1726b9cd9c ("net/ixgbe/base: remove X550em SFP iXFI setup")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
The ixgbe base driver was updated to version
cid-10g-shared-code.2016.04.12.
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Change the parameter bypass_vlvf to vlvf_bypass for consistency
with ixgbe_common.c.
Clean up some whitespace and misalignment.
Change variable type of secrxreg from int to u32 as it's used
to store register value.
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>