Changeset View
Standalone View
sys/dev/ixgbe/ixgbe_x550.c
Context not available. | |||||
* the pointers to NULL explicitly here to overwrite | * the pointers to NULL explicitly here to overwrite | ||||
* the values being set in the x540 function. | * the values being set in the x540 function. | ||||
*/ | */ | ||||
/* Thermal sensor not supported in x550EM */ | |||||
mac->ops.get_thermal_sensor_data = NULL; | |||||
kbowling: @erj @gallatin is there really no way to grab temp? I am thinking this would make diagnosis of… | |||||
Not Done Inline ActionsTo follow onto my previous comment, these functions would only give you information on 82599. They wouldn't help with your X55x problems. There should already be a sysctl for the X552/X557 combo that reports the temperature, as well as another one that sets an alarm. erj: To follow onto my previous comment, these functions would only give you information on 82599. | |||||
Not Done Inline ActionsI'm not seeing either of those in the in tree driver. I haven't checked the OOT driver yet. kbowling: I'm not seeing either of those in the in tree driver. I haven't checked the OOT driver yet. | |||||
Not Done Inline ActionsIt looks like they're in there still -- they're "temp" and "overtemp_occurred", but again they're only going to show up for X552/X557 specifically. erj: It looks like they're in there still -- they're "temp" and "overtemp_occurred", but again… | |||||
Not Done Inline ActionsIt looks like only the intel BaseT phy is covered, I have an X552 with SFP+ cage (inphi CS4227) and neither of these show up in the sysctl. If you look through this file it may become apparent. I believe this is the root cause of @gallatin's issue, and might be interesting to @scottl too. I don't have access to inphi docs but I wonder if intel shared code team can enable temp monitoring for the inphi, the ixgbe driver's overtemp handling would then kick in and systems would at least re-establish a link when the temp condition clears. @gallatin had to work around this with ipmi resets which seems unnecessary if this gets plumbed through correctly. kbowling: It looks like only the intel BaseT phy is covered, I have an X552 with SFP+ cage (inphi CS4227)… | |||||
mac->ops.init_thermal_sensor_thresh = NULL; | |||||
mac->thermal_sensor_enabled = false; | |||||
/* Bypass not supported in x550EM */ | /* Bypass not supported in x550EM */ | ||||
mac->ops.bypass_rw = NULL; | mac->ops.bypass_rw = NULL; | ||||
Context not available. | |||||
u32 device_type, u32 data) | u32 device_type, u32 data) | ||||
{ | { | ||||
u32 gssr = IXGBE_GSSR_PHY1_SM | IXGBE_GSSR_PHY0_SM; | u32 gssr = IXGBE_GSSR_PHY1_SM | IXGBE_GSSR_PHY0_SM; | ||||
u32 command, error __unused; | u32 command, error; | ||||
s32 ret; | s32 ret; | ||||
ret = ixgbe_acquire_swfw_semaphore(hw, gssr); | ret = ixgbe_acquire_swfw_semaphore(hw, gssr); | ||||
Context not available. | |||||
u32 device_type, u32 *data) | u32 device_type, u32 *data) | ||||
{ | { | ||||
u32 gssr = IXGBE_GSSR_PHY1_SM | IXGBE_GSSR_PHY0_SM; | u32 gssr = IXGBE_GSSR_PHY1_SM | IXGBE_GSSR_PHY0_SM; | ||||
u32 command, error __unused; | u32 command, error; | ||||
s32 ret; | s32 ret; | ||||
ret = ixgbe_acquire_swfw_semaphore(hw, gssr); | ret = ixgbe_acquire_swfw_semaphore(hw, gssr); | ||||
Done Inline Actionskbowling: http://git.dpdk.org/dpdk/commit/drivers/net/ixgbe/base? | |||||
Context not available. | |||||
* @speed: new link speed | * @speed: new link speed | ||||
* @autoneg_wait_to_complete: unused | * @autoneg_wait_to_complete: unused | ||||
* | * | ||||
* Configure the the integrated PHY for SFP support. | * Configure the integrated PHY for SFP support. | ||||
**/ | **/ | ||||
s32 ixgbe_setup_mac_link_sfp_x550a(struct ixgbe_hw *hw, | s32 ixgbe_setup_mac_link_sfp_x550a(struct ixgbe_hw *hw, | ||||
ixgbe_link_speed speed, | ixgbe_link_speed speed, | ||||
Done Inline Actionskbowling: http://git.dpdk.org/dpdk/commit/drivers/net/ixgbe/base? | |||||
Done Inline Actionskbowling: http://git.dpdk.org/dpdk/commit/drivers/net/ixgbe/base? | |||||
Done Inline ActionsKeep in mind that @krzysztof.galazka_intel.com and @piotr.pietruszewski_intel.com both monitor the 10G shared code erj: Keep in mind that @krzysztof.galazka_intel.com and @piotr.pietruszewski_intel.com both monitor… | |||||
Done Inline Actionskbowling: http://git.dpdk.org/dpdk/commit/drivers/net/ixgbe/base? | |||||
Context not available. | |||||
physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_KX; | physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_KX; | ||||
break; | break; | ||||
case ixgbe_phy_ext_1g_t: | case ixgbe_phy_ext_1g_t: | ||||
physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_T; | physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_T; | ||||
break; | break; | ||||
default: | default: | ||||
break; | break; | ||||
Context not available. | |||||
Done Inline Actionskbowling: http://git.dpdk.org/dpdk/commit/drivers/net/ixgbe/base? | |||||
Done Inline ActionsThis looks like it should actually fix something. erj: This looks like it should actually fix something. |
@erj @gallatin is there really no way to grab temp? I am thinking this would make diagnosis of problems like https://tinkertry.com/how-to-work-around-intermittent-intel-x557-network-outages-on-12-core-xeon-d less of a hair pull.