summaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4
diff options
context:
space:
mode:
authorOr Gerlitz <ogerlitz@mellanox.com>2012-01-11 19:02:17 +0200
committerRoland Dreier <roland@purestorage.com>2012-03-12 16:24:59 -0700
commit096335b3f9830b90d13aee77252cf6f5f12a258c (patch)
tree08d90d43ff9b4db64bc977210b67f2b05a3d15d9 /include/linux/mlx4
parenta9c766bb75ee2caad2735e41784387784ffd87db (diff)
downloadlinux-stable-096335b3f9830b90d13aee77252cf6f5f12a258c.tar.gz
linux-stable-096335b3f9830b90d13aee77252cf6f5f12a258c.tar.bz2
linux-stable-096335b3f9830b90d13aee77252cf6f5f12a258c.zip
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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 4b3fbf122533..b19fb9b901a2 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 {