Lines Matching refs:ring_data

307 				struct hns_nic_ring_data *ring_data)  in hns_nic_net_xmit_hw()  argument
310 struct hnae_ring *ring = ring_data->ring; in hns_nic_net_xmit_hw()
474 static void hns_nic_rx_checksum(struct hns_nic_ring_data *ring_data, in hns_nic_rx_checksum() argument
477 struct net_device *netdev = ring_data->napi.dev; in hns_nic_rx_checksum()
539 static int hns_nic_poll_rx_skb(struct hns_nic_ring_data *ring_data, in hns_nic_poll_rx_skb() argument
542 struct hnae_ring *ring = ring_data->ring; in hns_nic_poll_rx_skb()
543 struct net_device *ndev = ring_data->napi.dev; in hns_nic_poll_rx_skb()
563 skb = *out_skb = napi_alloc_skb(&ring_data->napi, in hns_nic_poll_rx_skb()
656 hns_nic_rx_checksum(ring_data, skb, bnum_flag); in hns_nic_poll_rx_skb()
662 hns_nic_alloc_rx_buffers(struct hns_nic_ring_data *ring_data, int cleand_count) in hns_nic_alloc_rx_buffers() argument
667 struct hnae_ring *ring = ring_data->ring; in hns_nic_alloc_rx_buffers()
668 struct net_device *ndev = ring_data->napi.dev; in hns_nic_alloc_rx_buffers()
694 static void hns_nic_rx_up_pro(struct hns_nic_ring_data *ring_data, in hns_nic_rx_up_pro() argument
697 struct net_device *ndev = ring_data->napi.dev; in hns_nic_rx_up_pro()
700 napi_gro_receive(&ring_data->napi, skb); in hns_nic_rx_up_pro()
776 static void hns_nic_adpt_coalesce(struct hns_nic_ring_data *ring_data) in hns_nic_adpt_coalesce() argument
778 struct hnae_ring *ring = ring_data->ring; in hns_nic_adpt_coalesce()
806 handle->coal_ring_idx = ring_data->queue_index; in hns_nic_adpt_coalesce()
808 handle->coal_ring_idx == ring_data->queue_index || in hns_nic_adpt_coalesce()
815 handle->coal_ring_idx = ring_data->queue_index; in hns_nic_adpt_coalesce()
820 static int hns_nic_rx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_rx_poll_one() argument
823 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_poll_one()
839 hns_nic_alloc_rx_buffers(ring_data, in hns_nic_rx_poll_one()
846 err = hns_nic_poll_rx_skb(ring_data, &skb, &bnum); in hns_nic_rx_poll_one()
859 ring_data, skb); in hns_nic_rx_poll_one()
866 hns_nic_alloc_rx_buffers(ring_data, in hns_nic_rx_poll_one()
872 static bool hns_nic_rx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_rx_fini_pro() argument
874 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_fini_pro()
881 ring_data->ring->q->handle->dev->ops->toggle_ring_irq(ring, 0); in hns_nic_rx_fini_pro()
886 hns_nic_adpt_coalesce(ring_data); in hns_nic_rx_fini_pro()
890 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_rx_fini_pro()
891 ring_data->ring, 1); in hns_nic_rx_fini_pro()
899 static bool hns_nic_rx_fini_pro_v2(struct hns_nic_ring_data *ring_data) in hns_nic_rx_fini_pro_v2() argument
901 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_fini_pro_v2()
909 hns_nic_adpt_coalesce(ring_data); in hns_nic_rx_fini_pro_v2()
948 static int hns_nic_tx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_tx_poll_one() argument
951 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_poll_one()
952 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_poll_one()
982 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_poll_one()
1003 static bool hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_tx_fini_pro() argument
1005 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_fini_pro()
1008 ring_data->ring->q->handle->dev->ops->toggle_ring_irq(ring, 0); in hns_nic_tx_fini_pro()
1013 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_tx_fini_pro()
1014 ring_data->ring, 1); in hns_nic_tx_fini_pro()
1022 static bool hns_nic_tx_fini_pro_v2(struct hns_nic_ring_data *ring_data) in hns_nic_tx_fini_pro_v2() argument
1024 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_fini_pro_v2()
1033 static void hns_nic_tx_clr_all_bufs(struct hns_nic_ring_data *ring_data) in hns_nic_tx_clr_all_bufs() argument
1035 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_clr_all_bufs()
1036 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_clr_all_bufs()
1047 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_clr_all_bufs()
1054 struct hns_nic_ring_data *ring_data = in hns_nic_common_poll() local
1056 struct hnae_ring *ring = ring_data->ring; in hns_nic_common_poll()
1058 clean_complete += ring_data->poll_one( in hns_nic_common_poll()
1059 ring_data, budget - clean_complete, in hns_nic_common_poll()
1060 ring_data->ex_process); in hns_nic_common_poll()
1063 if (ring_data->fini_process(ring_data)) { in hns_nic_common_poll()
1076 struct hns_nic_ring_data *ring_data = (struct hns_nic_ring_data *)dev; in hns_irq_handle() local
1078 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_irq_handle()
1079 ring_data->ring, 1); in hns_irq_handle()
1080 napi_schedule(&ring_data->napi); in hns_irq_handle()
1173 napi_enable(&priv->ring_data[idx].napi); in hns_nic_ring_open()
1175 enable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_open()
1176 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 0); in hns_nic_ring_open()
1227 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 1); in hns_nic_ring_close()
1228 disable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_close()
1230 napi_disable(&priv->ring_data[idx].napi); in hns_nic_ring_close()
1265 if (priv->ring_data[i].ring->irq_init_flag == RCB_IRQ_INITED) { in hns_nic_free_irq()
1266 irq_set_affinity_hint(priv->ring_data[i].ring->irq, in hns_nic_free_irq()
1268 free_irq(priv->ring_data[i].ring->irq, in hns_nic_free_irq()
1269 &priv->ring_data[i]); in hns_nic_free_irq()
1270 priv->ring_data[i].ring->irq_init_flag = in hns_nic_free_irq()
1285 rd = &priv->ring_data[i]; in hns_nic_init_irq()
1403 hns_nic_tx_clr_all_bufs(priv->ring_data + i); in hns_nic_net_down()
1511 static void hns_nic_drop_rx_fetch(struct hns_nic_ring_data *ring_data, in hns_nic_drop_rx_fetch() argument
2100 priv->ring_data = kzalloc(array3_size(h->q_num, in hns_nic_init_ring_data()
2101 sizeof(*priv->ring_data), 2), in hns_nic_init_ring_data()
2103 if (!priv->ring_data) in hns_nic_init_ring_data()
2107 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
2119 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
2141 netif_napi_del(&priv->ring_data[i].napi); in hns_nic_uninit_ring_data()
2142 if (priv->ring_data[i].ring->irq_init_flag == RCB_IRQ_INITED) { in hns_nic_uninit_ring_data()
2144 priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
2146 free_irq(priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
2147 &priv->ring_data[i]); in hns_nic_uninit_ring_data()
2150 priv->ring_data[i].ring->irq_init_flag = RCB_IRQ_NOT_INITED; in hns_nic_uninit_ring_data()
2152 kfree(priv->ring_data); in hns_nic_uninit_ring_data()
2221 priv->ring_data = NULL; in hns_nic_try_get_ae()
2399 if (priv->ring_data) in hns_nic_dev_remove()
2401 priv->ring_data = NULL; in hns_nic_dev_remove()