| 3880 | } |
| 3881 | |
| 3882 | static int __rte_cold |
| 3883 | txgbe_alloc_rx_queue_mbufs(struct txgbe_rx_queue *rxq) |
| 3884 | { |
| 3885 | struct txgbe_rx_entry *rxe = rxq->sw_ring; |
| 3886 | uint64_t dma_addr; |
| 3887 | unsigned int i; |
| 3888 | |
| 3889 | /* Initialize software ring entries */ |
| 3890 | for (i = 0; i < rxq->nb_rx_desc; i++) { |
| 3891 | volatile struct txgbe_rx_desc *rxd; |
| 3892 | struct rte_mbuf *mbuf = rte_mbuf_raw_alloc(rxq->mb_pool); |
| 3893 | |
| 3894 | if (mbuf == NULL) { |
| 3895 | PMD_INIT_LOG(ERR, "RX mbuf alloc failed queue_id=%u", |
| 3896 | (unsigned int)rxq->queue_id); |
| 3897 | return -ENOMEM; |
| 3898 | } |
| 3899 | |
| 3900 | mbuf->data_off = RTE_PKTMBUF_HEADROOM; |
| 3901 | mbuf->port = rxq->port_id; |
| 3902 | |
| 3903 | dma_addr = |
| 3904 | rte_cpu_to_le_64(rte_mbuf_data_iova_default(mbuf)); |
| 3905 | rxd = &rxq->rx_ring[i]; |
| 3906 | TXGBE_RXD_HDRADDR(rxd, 0); |
| 3907 | TXGBE_RXD_PKTADDR(rxd, dma_addr); |
| 3908 | rxe[i].mbuf = mbuf; |
| 3909 | } |
| 3910 | |
| 3911 | return 0; |
| 3912 | } |
| 3913 | |
| 3914 | static int |
| 3915 | txgbe_config_vf_rss(struct rte_eth_dev *dev) |
no test coverage detected