net/mlx4_core: Dynamic VST to VST vlan/qos changes
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Thu, 27 Jun 2013 16:05:21 +0000 (19:05 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Jul 2013 20:10:22 +0000 (13:10 -0700)
commitb01978cacfd7e3a4ca703b0e48f2e18de8865df5
tree73beae91335dbcf4a4129b3970be68f1082aff0b
parent4e144d3a807d6d2aa03d2cb234d88ef1a140e8c3
net/mlx4_core: Dynamic VST to VST vlan/qos changes

Within VST mode, enable modifying the vlan and/or qos
for a VF without requiring unbind/rebind.

This requires firmware which supports the UPDATE_QP command.
(If the command is not available, we fall back to requiring
unbind/bind to activate these changes).

To avoid race conditions with modify-qp on QPs that are affected
by update-qp, this operation is performed on the comm_wq.

If the update operation succeeds for all the necessary QPs, a
vlan_unregister is performed for the abandoned vlan id.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/cmd.c
drivers/net/ethernet/mellanox/mlx4/fw.c
drivers/net/ethernet/mellanox/mlx4/mlx4.h
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
include/linux/mlx4/cmd.h
include/linux/mlx4/device.h
include/linux/mlx4/qp.h