From: Babu Moger Date: Thu, 21 Apr 2016 22:43:22 +0000 (-0700) Subject: ixgbevf: Change the relaxed order settings in VF driver for sparc X-Git-Tag: v4.1.12-92~31^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b09686b585fb06e200567af6158408fe084c5748;p=users%2Fjedix%2Flinux-maple.git ixgbevf: Change the relaxed order settings in VF driver for sparc We noticed performance issues with VF interface on sparc compared to PF. Setting the RX to IXGBE_DCA_RXCTRL_DATA_WRO_EN brings it on far with PF. Also this matches to the default sparc settings in PF driver. Orabug: 23284026 Signed-off-by: Babu Moger Acked-by: Sowmini Varadhan Signed-off-by: Allen Pais (cherry picked from commit 0dbe77b7cfaa4d2867550ff02727549ba957ea8b) --- diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 2802c9585a9c..77119a597b99 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -1746,9 +1746,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);