|
@@ -1760,9 +1760,15 @@ static void ixgbevf_configure_rx_ring(struct ixgbevf_adapter *adapter,
|
|
|
IXGBE_WRITE_REG(hw, IXGBE_VFRDLEN(reg_idx),
|
|
|
ring->count * sizeof(union ixgbe_adv_rx_desc));
|
|
|
|
|
|
+#ifndef CONFIG_SPARC
|
|
|
/* enable relaxed ordering */
|
|
|
IXGBE_WRITE_REG(hw, IXGBE_VFDCA_RXCTRL(reg_idx),
|
|
|
IXGBE_DCA_RXCTRL_DESC_RRO_EN);
|
|
|
+#else
|
|
|
+ IXGBE_WRITE_REG(hw, IXGBE_VFDCA_RXCTRL(reg_idx),
|
|
|
+ IXGBE_DCA_RXCTRL_DESC_RRO_EN |
|
|
|
+ IXGBE_DCA_RXCTRL_DATA_WRO_EN);
|
|
|
+#endif
|
|
|
|
|
|
/* reset head and tail pointers */
|
|
|
IXGBE_WRITE_REG(hw, IXGBE_VFRDH(reg_idx), 0);
|