net/mlx4: relax Rx queue configuration order
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Thu, 19 Oct 2017 16:11:09 +0000 (18:11 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 26 Oct 2017 00:33:01 +0000 (02:33 +0200)
commit5697a4142107ae1bc69ec13699d146b157d06652
tree0a6ba411b6764bf29d97a4b5a128b148c9aad7d4
parent0ef007c9394dc062a10992bc077b21e8048eafc0
net/mlx4: relax Rx queue configuration order

Various hardware limitations apply to RSS indirection tables, one of
them being they must be an exact 1:1 mapping of the configured Rx queue
indices.

While this restriction is enforced when creating RSS flow rules, it is
not the case when Rx queues themselves are created; underlying WQ
numbers are assigned in turn, not according to queue index.

Applications such as l3fwd-power that create Rx queues from highest to
lowest index (or any other non-sequential order) thus fail to get a
working RSS context.

This commit postpones WQ initialization to dev_start(), once all Rx
queues are configured in order to address this issue.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
drivers/net/mlx4/mlx4.c
drivers/net/mlx4/mlx4_rxq.c
drivers/net/mlx4/mlx4_rxtx.h