diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2012-01-11 19:02:17 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-03-12 16:24:59 -0700 |
commit | 096335b3f9830b90d13aee77252cf6f5f12a258c (patch) | |
tree | 08d90d43ff9b4db64bc977210b67f2b05a3d15d9 /include/linux/mlx4 | |
parent | a9c766bb75ee2caad2735e41784387784ffd87db (diff) |
mlx4_core: Allow dynamic MTU configuration for IB ports
Set the MTU for IB ports in the driver instead of using the firmware
default of 2KB (the driver defaults to 4KB). Allow for dynamic mtu
configuration through a new, per-port sysfs entry.
Since there's a dependency between the port MTU and the max number of
HW VLs the port can support, apply a mim/max approach, using a loop
that goes down from the highest possible number of VLs to the lowest,
using the firmware return status to know whether the requested number
of VLs is possible with a given MTU.
For now, as with the dynamic link type change / VPI support, the sysfs
entry to change the mtu is exposed only when NOT running in SR-IOV
mode. To allow changing the MTU for the master in SR-IOV mode,
primary-function-initiated FLR (Function Level Reset) needs to be
implemented.
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r-- | include/linux/mlx4/device.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 4b3fbf12253..b19fb9b901a 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h @@ -315,6 +315,7 @@ struct mlx4_caps { enum mlx4_port_type possible_type[MLX4_MAX_PORTS + 1]; u32 max_counters; u8 ext_port_cap[MLX4_MAX_PORTS + 1]; + u8 port_ib_mtu[MLX4_MAX_PORTS + 1]; }; struct mlx4_buf_list { |