diff options
author | Hadar Hen Zion <hadarh@mellanox.com> | 2013-04-24 09:58:47 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-04-24 20:51:29 -0400 |
commit | bcf372971d471f6cb4070adb7bfc987d8b3d21f2 (patch) | |
tree | d99f6faa007d10a1246a0f7a4853dff6e8b98d44 /drivers/net | |
parent | ba60a3560ccf8e4253da9c0e8d1292375fd51796 (diff) |
mlx4_core: Directly expose fields of DMFS HW rule control segment
Some of struct mlx4_net_trans_rule_hw_ctrl fields were packed into u32
and accessed through bit field operations. Expose and access them
directly as u8 or u16.
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mcg.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c index 3cfd3725961d..07712f976c8f 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mcg.c +++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c | |||
@@ -656,15 +656,15 @@ static void trans_rule_ctrl_to_hw(struct mlx4_net_trans_rule *ctrl, | |||
656 | [MLX4_FS_MC_SNIFFER] = 0x5, | 656 | [MLX4_FS_MC_SNIFFER] = 0x5, |
657 | }; | 657 | }; |
658 | 658 | ||
659 | u32 dw = 0; | 659 | u8 flags = 0; |
660 | 660 | ||
661 | dw = ctrl->queue_mode == MLX4_NET_TRANS_Q_LIFO ? 1 : 0; | 661 | flags = ctrl->queue_mode == MLX4_NET_TRANS_Q_LIFO ? 1 : 0; |
662 | dw |= ctrl->exclusive ? (1 << 2) : 0; | 662 | flags |= ctrl->exclusive ? (1 << 2) : 0; |
663 | dw |= ctrl->allow_loopback ? (1 << 3) : 0; | 663 | flags |= ctrl->allow_loopback ? (1 << 3) : 0; |
664 | dw |= __promisc_mode[ctrl->promisc_mode] << 8; | ||
665 | dw |= ctrl->priority << 16; | ||
666 | 664 | ||
667 | hw->ctrl = cpu_to_be32(dw); | 665 | hw->flags = flags; |
666 | hw->type = __promisc_mode[ctrl->promisc_mode]; | ||
667 | hw->prio = cpu_to_be16(ctrl->priority); | ||
668 | hw->port = ctrl->port; | 668 | hw->port = ctrl->port; |
669 | hw->qpn = cpu_to_be32(ctrl->qpn); | 669 | hw->qpn = cpu_to_be32(ctrl->qpn); |
670 | } | 670 | } |