Lines Matching refs:priv
46 pfe_gemac_init(struct pfe_eth_priv_s *priv) in pfe_gemac_init() argument
53 gemac_set_config(priv->EMAC_baseaddr, &cfg); in pfe_gemac_init()
54 gemac_allow_broadcast(priv->EMAC_baseaddr); in pfe_gemac_init()
55 gemac_enable_1536_rx(priv->EMAC_baseaddr); in pfe_gemac_init()
56 gemac_enable_stacked_vlan(priv->EMAC_baseaddr); in pfe_gemac_init()
57 gemac_enable_pause_rx(priv->EMAC_baseaddr); in pfe_gemac_init()
58 gemac_set_bus_width(priv->EMAC_baseaddr, 64); in pfe_gemac_init()
59 gemac_enable_rx_checksum_offload(priv->EMAC_baseaddr); in pfe_gemac_init()
86 static int pfe_eth_start(struct pfe_eth_priv_s *priv) in pfe_eth_start() argument
88 gpi_enable(priv->GPI_baseaddr); in pfe_eth_start()
89 gemac_enable(priv->EMAC_baseaddr); in pfe_eth_start()
95 pfe_eth_flush_txQ(struct pfe_eth_priv_s *priv, int tx_q_num, int in pfe_eth_flush_txQ() argument
102 while ((mbuf = hif_lib_tx_get_next_complete(&priv->client, in pfe_eth_flush_txQ()
115 pfe_eth_flush_tx(struct pfe_eth_priv_s *priv) in pfe_eth_flush_tx() argument
120 pfe_eth_flush_txQ(priv, ii, 0, 0); in pfe_eth_flush_tx()
126 struct pfe_eth_priv_s *priv = data; in pfe_eth_event_handler() local
130 pfe_eth_flush_tx(priv); in pfe_eth_event_handler()
131 hif_lib_event_handler_start(&priv->client, EVENT_TXDONE_IND, 0); in pfe_eth_event_handler()
145 struct pfe_eth_priv_s *priv = queue->priv; in pfe_recv_pkts_on_intr() local
154 pfe_tx_do_cleanup(priv->pfe); in pfe_recv_pkts_on_intr()
155 have_something = pfe_hif_rx_process(priv->pfe, nb_pkts); in pfe_recv_pkts_on_intr()
156 work_done = hif_lib_receive_pkt(rxq, priv->pfe->hif.shm->pool, in pfe_recv_pkts_on_intr()
162 ret = epoll_wait(priv->pfe->hif.epoll_fd, &epoll_ev, 1, ticks); in pfe_recv_pkts_on_intr()
174 struct pfe_eth_priv_s *priv = queue->priv; in pfe_recv_pkts() local
178 pfe_tx_do_cleanup(priv->pfe); in pfe_recv_pkts()
179 pfe_hif_rx_process(priv->pfe, nb_pkts); in pfe_recv_pkts()
180 pool = priv->pfe->hif.shm->pool; in pfe_recv_pkts()
189 struct pfe_eth_priv_s *priv = queue->priv; in pfe_xmit_pkts() local
190 struct rte_eth_stats *stats = &priv->stats; in pfe_xmit_pkts()
198 hif_lib_xmit_pkt(&priv->client, queue->queue_id, in pfe_xmit_pkts()
206 hif_lib_xmit_pkt(&priv->client, queue->queue_id, in pfe_xmit_pkts()
214 hif_lib_xmit_pkt(&priv->client, queue->queue_id, in pfe_xmit_pkts()
221 hif_lib_xmit_pkt(&priv->client, queue->queue_id, in pfe_xmit_pkts()
233 pfe_tx_do_cleanup(priv->pfe); in pfe_xmit_pkts()
241 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_eth_open() local
247 client = &priv->client; in pfe_eth_open()
254 if (!test_bit(PFE_CL_GEM0 + priv->id, in pfe_eth_open()
258 client->id = PFE_CL_GEM0 + priv->id; in pfe_eth_open()
261 client->priv = priv; in pfe_eth_open()
262 client->pfe = priv->pfe; in pfe_eth_open()
294 client->id = PFE_CL_GEM0 + priv->id; in pfe_eth_open()
297 client->priv = priv; in pfe_eth_open()
298 client->pfe = priv->pfe; in pfe_eth_open()
312 rc = pfe_eth_start(priv); in pfe_eth_open()
327 pfe_eth_open_cdev(struct pfe_eth_priv_s *priv) in pfe_eth_open_cdev() argument
331 if (priv == NULL) in pfe_eth_open_cdev()
339 priv->link_fd = PFE_CDEV_INVALID_FD; in pfe_eth_open_cdev()
343 priv->link_fd = pfe_cdev_fd; in pfe_eth_open_cdev()
349 pfe_eth_close_cdev(struct pfe_eth_priv_s *priv) in pfe_eth_close_cdev() argument
351 if (priv == NULL) in pfe_eth_close_cdev()
354 if (priv->link_fd != PFE_CDEV_INVALID_FD) { in pfe_eth_close_cdev()
355 close(priv->link_fd); in pfe_eth_close_cdev()
356 priv->link_fd = PFE_CDEV_INVALID_FD; in pfe_eth_close_cdev()
363 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_eth_stop() local
367 gemac_disable(priv->EMAC_baseaddr); in pfe_eth_stop()
368 gpi_disable(priv->GPI_baseaddr); in pfe_eth_stop()
448 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_rx_queue_setup() local
450 pfe = priv->pfe; in pfe_rx_queue_setup()
475 dev->data->rx_queues[queue_idx] = &priv->client.rx_q[queue_idx]; in pfe_rx_queue_setup()
476 priv->client.rx_q[queue_idx].queue_id = queue_idx; in pfe_rx_queue_setup()
488 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_tx_queue_setup() local
495 dev->data->tx_queues[queue_idx] = &priv->client.tx_q[queue_idx]; in pfe_tx_queue_setup()
496 priv->client.tx_q[queue_idx].queue_id = queue_idx; in pfe_tx_queue_setup()
553 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_eth_link_update() local
565 if (priv->link_fd != PFE_CDEV_INVALID_FD) { in pfe_eth_link_update()
566 if (priv->id == 0) in pfe_eth_link_update()
568 if (priv->id == 1) in pfe_eth_link_update()
571 ret = ioctl(priv->link_fd, ioctl_cmd, &lstatus); in pfe_eth_link_update()
577 lstatus, priv->id); in pfe_eth_link_update()
602 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_promiscuous_enable() local
604 priv->promisc = 1; in pfe_promiscuous_enable()
606 gemac_enable_copy_all(priv->EMAC_baseaddr); in pfe_promiscuous_enable()
614 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_promiscuous_disable() local
616 priv->promisc = 0; in pfe_promiscuous_disable()
618 gemac_disable_copy_all(priv->EMAC_baseaddr); in pfe_promiscuous_disable()
626 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_allmulticast_enable() local
632 gemac_set_hash(priv->EMAC_baseaddr, &hash_addr); in pfe_allmulticast_enable()
647 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_link_up() local
649 pfe_eth_start(priv); in pfe_link_up()
656 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_mtu_set() local
660 return gemac_set_rx(priv->EMAC_baseaddr, frame_size); in pfe_mtu_set()
687 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_dev_set_mac_addr() local
695 gemac_set_laddrN(priv->EMAC_baseaddr, in pfe_dev_set_mac_addr()
705 struct pfe_eth_priv_s *priv = dev->data->dev_private; in pfe_stats_get() local
706 struct rte_eth_stats *eth_stats = &priv->stats; in pfe_stats_get()
745 struct pfe_eth_priv_s *priv = NULL; in pfe_eth_init() local
751 eth_dev = rte_eth_vdev_allocate(vdev, sizeof(*priv)); in pfe_eth_init()
772 priv = eth_dev->data->dev_private; in pfe_eth_init()
773 priv->ndev = eth_dev; in pfe_eth_init()
774 priv->id = einfo[id].gem_id; in pfe_eth_init()
775 priv->pfe = pfe; in pfe_eth_init()
777 pfe->eth.eth_priv[id] = priv; in pfe_eth_init()
780 priv->einfo = &einfo[id]; in pfe_eth_init()
781 priv->EMAC_baseaddr = cbus_emac_base[id]; in pfe_eth_init()
782 priv->PHY_baseaddr = cbus_emac_base[id]; in pfe_eth_init()
783 priv->GPI_baseaddr = cbus_gpi_base[id]; in pfe_eth_init()
786 priv->low_tmu_q = HIF_GEMAC_TMUQ_BASE + (id * 2); in pfe_eth_init()
787 priv->high_tmu_q = priv->low_tmu_q + 1; in pfe_eth_init()
789 rte_spinlock_init(&priv->lock); in pfe_eth_init()
801 memcpy(addr.addr_bytes, priv->einfo->mac_addr, in pfe_eth_init()
812 pfe_gemac_init(priv); in pfe_eth_init()
821 pfe_eth_open_cdev(priv); in pfe_eth_init()