mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 12:36:40 +07:00
i40e: Blink LED on 1G BaseT boards
Before this patch "ethtool -p" was not blinking the LEDs on boards with 1G BaseT PHYs. This commit identifies 1G BaseT boards as having the LEDs connected to the MAC. Also, renamed the flag to be more descriptive of usage. The flag is now I40E_FLAG_PHY_CONTROLS_LEDS. Change-ID: I4eb741da9780da7849ddf2dc4c0cb27ffa42a801 Signed-off-by: Henry Tieman <henry.w.tieman@intel.com> Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
3c7cbd45bc
commit
4f9b430754
@ -356,7 +356,7 @@ struct i40e_pf {
|
||||
#define I40E_FLAG_NO_DCB_SUPPORT BIT_ULL(45)
|
||||
#define I40E_FLAG_USE_SET_LLDP_MIB BIT_ULL(46)
|
||||
#define I40E_FLAG_STOP_FW_LLDP BIT_ULL(47)
|
||||
#define I40E_FLAG_HAVE_10GBASET_PHY BIT_ULL(48)
|
||||
#define I40E_FLAG_PHY_CONTROLS_LEDS BIT_ULL(48)
|
||||
#define I40E_FLAG_PF_MAC BIT_ULL(50)
|
||||
#define I40E_FLAG_TRUE_PROMISC_SUPPORT BIT_ULL(51)
|
||||
#define I40E_FLAG_HAVE_CRT_RETIMER BIT_ULL(52)
|
||||
|
@ -1890,7 +1890,7 @@ static int i40e_set_phys_id(struct net_device *netdev,
|
||||
|
||||
switch (state) {
|
||||
case ETHTOOL_ID_ACTIVE:
|
||||
if (!(pf->flags & I40E_FLAG_HAVE_10GBASET_PHY)) {
|
||||
if (!(pf->flags & I40E_FLAG_PHY_CONTROLS_LEDS)) {
|
||||
pf->led_status = i40e_led_get(hw);
|
||||
} else {
|
||||
i40e_aq_set_phy_debug(hw, I40E_PHY_DEBUG_ALL, NULL);
|
||||
@ -1900,20 +1900,20 @@ static int i40e_set_phys_id(struct net_device *netdev,
|
||||
}
|
||||
return blink_freq;
|
||||
case ETHTOOL_ID_ON:
|
||||
if (!(pf->flags & I40E_FLAG_HAVE_10GBASET_PHY))
|
||||
if (!(pf->flags & I40E_FLAG_PHY_CONTROLS_LEDS))
|
||||
i40e_led_set(hw, 0xf, false);
|
||||
else
|
||||
ret = i40e_led_set_phy(hw, true, pf->led_status, 0);
|
||||
break;
|
||||
case ETHTOOL_ID_OFF:
|
||||
if (!(pf->flags & I40E_FLAG_HAVE_10GBASET_PHY))
|
||||
if (!(pf->flags & I40E_FLAG_PHY_CONTROLS_LEDS))
|
||||
i40e_led_set(hw, 0x0, false);
|
||||
else
|
||||
ret = i40e_led_set_phy(hw, false, pf->led_status, 0);
|
||||
break;
|
||||
case ETHTOOL_ID_INACTIVE:
|
||||
if (!(pf->flags & I40E_FLAG_HAVE_10GBASET_PHY)) {
|
||||
i40e_led_set(hw, false, pf->led_status);
|
||||
if (!(pf->flags & I40E_FLAG_PHY_CONTROLS_LEDS)) {
|
||||
i40e_led_set(hw, pf->led_status, false);
|
||||
} else {
|
||||
ret = i40e_led_set_phy(hw, false, pf->led_status,
|
||||
(pf->phy_led_val |
|
||||
|
@ -11380,8 +11380,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
pf->main_vsi_seid);
|
||||
|
||||
if ((pf->hw.device_id == I40E_DEV_ID_10G_BASE_T) ||
|
||||
(pf->hw.device_id == I40E_DEV_ID_10G_BASE_T4))
|
||||
pf->flags |= I40E_FLAG_HAVE_10GBASET_PHY;
|
||||
(pf->hw.device_id == I40E_DEV_ID_10G_BASE_T4))
|
||||
pf->flags |= I40E_FLAG_PHY_CONTROLS_LEDS;
|
||||
if (pf->hw.device_id == I40E_DEV_ID_SFP_I_X722)
|
||||
pf->flags |= I40E_FLAG_HAVE_CRT_RETIMER;
|
||||
/* print a string summarizing features */
|
||||
|
Loading…
Reference in New Issue
Block a user