Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mlx5/mlx5_en/mlx5_en_main.c
Show All 12 Lines | |||||
mtx_unlock(&priv->async_events_mtx); | mtx_unlock(&priv->async_events_mtx); | ||||
} | } | ||||
static void mlx5e_calibration_callout(void *arg); | static void mlx5e_calibration_callout(void *arg); | ||||
static int mlx5e_calibration_duration = 20; | static int mlx5e_calibration_duration = 20; | ||||
static int mlx5e_fast_calibration = 1; | static int mlx5e_fast_calibration = 1; | ||||
static int mlx5e_normal_calibration = 30; | static int mlx5e_normal_calibration = 30; | ||||
static SYSCTL_NODE(_hw_mlx5, OID_AUTO, calibr, CTLFLAG_RW, 0, | static SYSCTL_NODE(_hw_mlx5, OID_AUTO, calibr, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, | ||||
"MLX5 timestamp calibration parameteres"); | "MLX5 timestamp calibration parameteres"); | ||||
SYSCTL_INT(_hw_mlx5_calibr, OID_AUTO, duration, CTLFLAG_RWTUN, | SYSCTL_INT(_hw_mlx5_calibr, OID_AUTO, duration, CTLFLAG_RWTUN, | ||||
&mlx5e_calibration_duration, 0, | &mlx5e_calibration_duration, 0, | ||||
"Duration of initial calibration"); | "Duration of initial calibration"); | ||||
SYSCTL_INT(_hw_mlx5_calibr, OID_AUTO, fast, CTLFLAG_RWTUN, | SYSCTL_INT(_hw_mlx5_calibr, OID_AUTO, fast, CTLFLAG_RWTUN, | ||||
&mlx5e_fast_calibration, 0, | &mlx5e_fast_calibration, 0, | ||||
"Recalibration interval during initial calibration"); | "Recalibration interval during initial calibration"); | ||||
Show All 24 Lines | |||||
mlx5e_enable_rx_dma(&priv->channel[i]); | mlx5e_enable_rx_dma(&priv->channel[i]); | ||||
} | } | ||||
} | } | ||||
static void | static void | ||||
mlx5e_add_hw_stats(struct mlx5e_priv *priv) | mlx5e_add_hw_stats(struct mlx5e_priv *priv) | ||||
{ | { | ||||
SYSCTL_ADD_PROC(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_hw), | SYSCTL_ADD_PROC(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_hw), | ||||
OID_AUTO, "fw_version", CTLTYPE_STRING | CTLFLAG_RD, priv, 0, | OID_AUTO, "fw_version", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | ||||
kib: mpsafe. Everything in mlx4/5 should be marked mpsafe. | |||||
sysctl_firmware, "A", "HCA firmware version"); | priv, 0, sysctl_firmware, "A", "HCA firmware version"); | ||||
SYSCTL_ADD_STRING(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_hw), | SYSCTL_ADD_STRING(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_hw), | ||||
OID_AUTO, "board_id", CTLFLAG_RD, priv->mdev->board_id, 0, | OID_AUTO, "board_id", CTLFLAG_RD, priv->mdev->board_id, 0, | ||||
"Board ID"); | "Board ID"); | ||||
} | } | ||||
static int | static int | ||||
mlx5e_sysctl_tx_priority_flow_control(SYSCTL_HANDLER_ARGS) | mlx5e_sysctl_tx_priority_flow_control(SYSCTL_HANDLER_ARGS) | ||||
Show All 24 Lines | |||||
if (ifp->if_capenable & IFCAP_TXCSUM) | if (ifp->if_capenable & IFCAP_TXCSUM) | ||||
ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP | CSUM_IP); | ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP | CSUM_IP); | ||||
if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) | if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) | ||||
ifp->if_hwassist |= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); | ifp->if_hwassist |= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); | ||||
/* ifnet sysctl tree */ | /* ifnet sysctl tree */ | ||||
sysctl_ctx_init(&priv->sysctl_ctx); | sysctl_ctx_init(&priv->sysctl_ctx); | ||||
priv->sysctl_ifnet = SYSCTL_ADD_NODE(&priv->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_dev), | priv->sysctl_ifnet = SYSCTL_ADD_NODE(&priv->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_dev), | ||||
OID_AUTO, ifp->if_dname, CTLFLAG_RD, 0, "MLX5 ethernet - interface name"); | OID_AUTO, ifp->if_dname, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, | ||||
"MLX5 ethernet - interface name"); | |||||
if (priv->sysctl_ifnet == NULL) { | if (priv->sysctl_ifnet == NULL) { | ||||
mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | ||||
goto err_free_sysctl; | goto err_free_sysctl; | ||||
} | } | ||||
snprintf(unit, sizeof(unit), "%d", ifp->if_dunit); | snprintf(unit, sizeof(unit), "%d", ifp->if_dunit); | ||||
priv->sysctl_ifnet = SYSCTL_ADD_NODE(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_ifnet), | priv->sysctl_ifnet = SYSCTL_ADD_NODE(&priv->sysctl_ctx, SYSCTL_CHILDREN(priv->sysctl_ifnet), | ||||
OID_AUTO, unit, CTLFLAG_RD, 0, "MLX5 ethernet - interface unit"); | OID_AUTO, unit, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, | ||||
"MLX5 ethernet - interface unit"); | |||||
if (priv->sysctl_ifnet == NULL) { | if (priv->sysctl_ifnet == NULL) { | ||||
mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | ||||
goto err_free_sysctl; | goto err_free_sysctl; | ||||
} | } | ||||
/* HW sysctl tree */ | /* HW sysctl tree */ | ||||
child = SYSCTL_CHILDREN(device_get_sysctl_tree(mdev->pdev->dev.bsddev)); | child = SYSCTL_CHILDREN(device_get_sysctl_tree(mdev->pdev->dev.bsddev)); | ||||
priv->sysctl_hw = SYSCTL_ADD_NODE(&priv->sysctl_ctx, child, | priv->sysctl_hw = SYSCTL_ADD_NODE(&priv->sysctl_ctx, child, | ||||
OID_AUTO, "hw", CTLFLAG_RD, 0, "MLX5 ethernet dev hw"); | OID_AUTO, "hw", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, | ||||
"MLX5 ethernet dev hw"); | |||||
if (priv->sysctl_hw == NULL) { | if (priv->sysctl_hw == NULL) { | ||||
mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); | ||||
goto err_free_sysctl; | goto err_free_sysctl; | ||||
} | } | ||||
err = mlx5e_build_ifp_priv(mdev, priv, ncv); | err = mlx5e_build_ifp_priv(mdev, priv, ncv); | ||||
if (err) { | if (err) { | ||||
mlx5_core_err(mdev, "mlx5e_build_ifp_priv() failed (%d)\n", err); | mlx5_core_err(mdev, "mlx5e_build_ifp_priv() failed (%d)\n", err); | ||||
Show All 12 Lines |
mpsafe. Everything in mlx4/5 should be marked mpsafe.