* [VF] Initializes Transmit Unit. */
| 4951 | * [VF] Initializes Transmit Unit. |
| 4952 | */ |
| 4953 | void __rte_cold |
| 4954 | txgbevf_dev_tx_init(struct rte_eth_dev *dev) |
| 4955 | { |
| 4956 | struct txgbe_hw *hw; |
| 4957 | struct txgbe_tx_queue *txq; |
| 4958 | uint64_t bus_addr; |
| 4959 | uint16_t i; |
| 4960 | |
| 4961 | PMD_INIT_FUNC_TRACE(); |
| 4962 | hw = TXGBE_DEV_HW(dev); |
| 4963 | |
| 4964 | /* Setup the Base and Length of the Tx Descriptor Rings */ |
| 4965 | for (i = 0; i < dev->data->nb_tx_queues; i++) { |
| 4966 | txq = dev->data->tx_queues[i]; |
| 4967 | bus_addr = txq->tx_ring_phys_addr; |
| 4968 | wr32(hw, TXGBE_TXBAL(i), |
| 4969 | (uint32_t)(bus_addr & BIT_MASK32)); |
| 4970 | wr32(hw, TXGBE_TXBAH(i), |
| 4971 | (uint32_t)(bus_addr >> 32)); |
| 4972 | wr32m(hw, TXGBE_TXCFG(i), TXGBE_TXCFG_BUFLEN_MASK, |
| 4973 | TXGBE_TXCFG_BUFLEN(txq->nb_tx_desc)); |
| 4974 | /* Setup the HW Tx Head and TX Tail descriptor pointers */ |
| 4975 | wr32(hw, TXGBE_TXRP(i), 0); |
| 4976 | wr32(hw, TXGBE_TXWP(i), 0); |
| 4977 | } |
| 4978 | } |
| 4979 | |
| 4980 | /* |
| 4981 | * [VF] Start Transmit and Receive Units. |
no test coverage detected