ixgbe: remove awkward typecasts
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Fri, 24 Jul 2015 13:58:15 +0000 (14:58 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 26 Jul 2015 08:47:51 +0000 (10:47 +0200)
commit0369957f27aba349bd2b9f8a46c4a75f349aecb8
treee49d60373e3043e7ddd40c8e8123a82d987234e9
parentf03b4ea0482f4794c6fbca2072d3af2b97725108
ixgbe: remove awkward typecasts

The vector/SSE pmd used a different element type for the tx queue sw_ring
entries. This led to lots of typecasts in the code which required specific
use of bracketing, leading to subtle errors.
For example, in the original code:
txe = (struct ixgbe_tx_entry_v *)&txq->sw_ring[i];
instead needs to be written as:
txe = &((struct ixgbe_tx_entry_v *)txq->sw_ring)[i];

We can eliminate this problem, by having two software ring pointers in the
structure for the two different element types.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
drivers/net/ixgbe/ixgbe_rxtx.h
drivers/net/ixgbe/ixgbe_rxtx_vec.c