Lines Matching refs:ring_data

105 			struct hns_nic_ring_data *ring_data)  in hns_nic_net_xmit_hw()  argument
109 struct hnae_ring *ring = ring_data->ring; in hns_nic_net_xmit_hw()
332 static int hns_nic_poll_rx_skb(struct hns_nic_ring_data *ring_data, in hns_nic_poll_rx_skb() argument
335 struct hnae_ring *ring = ring_data->ring; in hns_nic_poll_rx_skb()
336 struct net_device *ndev = ring_data->napi.dev; in hns_nic_poll_rx_skb()
354 skb = *out_skb = napi_alloc_skb(&ring_data->napi, HNS_RX_HEAD_SIZE); in hns_nic_poll_rx_skb()
461 hns_nic_alloc_rx_buffers(struct hns_nic_ring_data *ring_data, int cleand_count) in hns_nic_alloc_rx_buffers() argument
466 struct hnae_ring *ring = ring_data->ring; in hns_nic_alloc_rx_buffers()
467 struct net_device *ndev = ring_data->napi.dev; in hns_nic_alloc_rx_buffers()
493 static void hns_nic_rx_up_pro(struct hns_nic_ring_data *ring_data, in hns_nic_rx_up_pro() argument
496 struct net_device *ndev = ring_data->napi.dev; in hns_nic_rx_up_pro()
499 (void)napi_gro_receive(&ring_data->napi, skb); in hns_nic_rx_up_pro()
503 static int hns_nic_rx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_rx_poll_one() argument
506 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_poll_one()
520 hns_nic_alloc_rx_buffers(ring_data, clean_count); in hns_nic_rx_poll_one()
525 err = hns_nic_poll_rx_skb(ring_data, &skb, &bnum); in hns_nic_rx_poll_one()
538 ring_data, skb); in hns_nic_rx_poll_one()
544 hns_nic_alloc_rx_buffers(ring_data, clean_count); in hns_nic_rx_poll_one()
560 static void hns_nic_rx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_rx_fini_pro() argument
562 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_fini_pro()
569 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_rx_fini_pro()
570 ring_data->ring, 1); in hns_nic_rx_fini_pro()
572 napi_schedule(&ring_data->napi); in hns_nic_rx_fini_pro()
615 static int hns_nic_tx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_tx_poll_one() argument
618 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_poll_one()
619 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_poll_one()
650 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_poll_one()
668 static void hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_tx_fini_pro() argument
670 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_fini_pro()
677 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_tx_fini_pro()
678 ring_data->ring, 1); in hns_nic_tx_fini_pro()
680 napi_schedule(&ring_data->napi); in hns_nic_tx_fini_pro()
684 static void hns_nic_tx_clr_all_bufs(struct hns_nic_ring_data *ring_data) in hns_nic_tx_clr_all_bufs() argument
686 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_clr_all_bufs()
687 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_clr_all_bufs()
702 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_clr_all_bufs()
708 struct hns_nic_ring_data *ring_data = in hns_nic_common_poll() local
710 int clean_complete = ring_data->poll_one( in hns_nic_common_poll()
711 ring_data, budget, ring_data->ex_process); in hns_nic_common_poll()
715 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_common_poll()
716 ring_data->ring, 0); in hns_nic_common_poll()
718 ring_data->fini_process(ring_data); in hns_nic_common_poll()
726 struct hns_nic_ring_data *ring_data = (struct hns_nic_ring_data *)dev; in hns_irq_handle() local
728 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_irq_handle()
729 ring_data->ring, 1); in hns_irq_handle()
730 napi_schedule(&ring_data->napi); in hns_irq_handle()
786 napi_enable(&priv->ring_data[idx].napi); in hns_nic_ring_open()
788 enable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_open()
789 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 0); in hns_nic_ring_open()
845 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 1); in hns_nic_ring_close()
846 disable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_close()
848 napi_disable(&priv->ring_data[idx].napi); in hns_nic_ring_close()
861 rd = &priv->ring_data[i]; in hns_nic_init_irq()
976 hns_nic_tx_clr_all_bufs(priv->ring_data + i); in hns_nic_net_down()
1083 napi_schedule(&priv->ring_data[i].napi); in hns_nic_poll_controller()
1398 priv->ring_data = kzalloc(h->q_num * sizeof(*priv->ring_data) * 2, in hns_nic_init_ring_data()
1400 if (!priv->ring_data) in hns_nic_init_ring_data()
1404 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
1415 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
1436 netif_napi_del(&priv->ring_data[i].napi); in hns_nic_uninit_ring_data()
1437 if (priv->ring_data[i].ring->irq_init_flag == RCB_IRQ_INITED) { in hns_nic_uninit_ring_data()
1438 irq_set_affinity_hint(priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
1440 free_irq(priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
1441 &priv->ring_data[i]); in hns_nic_uninit_ring_data()
1444 priv->ring_data[i].ring->irq_init_flag = RCB_IRQ_NOT_INITED; in hns_nic_uninit_ring_data()
1446 kfree(priv->ring_data); in hns_nic_uninit_ring_data()
1485 priv->ring_data = NULL; in hns_nic_try_get_ae()
1598 if (priv->ring_data) in hns_nic_dev_remove()
1600 priv->ring_data = NULL; in hns_nic_dev_remove()