Lines Matching refs:ring_data

305 				struct hns_nic_ring_data *ring_data)  in hns_nic_net_xmit_hw()  argument
308 struct hnae_ring *ring = ring_data->ring; in hns_nic_net_xmit_hw()
472 static void hns_nic_rx_checksum(struct hns_nic_ring_data *ring_data, in hns_nic_rx_checksum() argument
475 struct net_device *netdev = ring_data->napi.dev; in hns_nic_rx_checksum()
537 static int hns_nic_poll_rx_skb(struct hns_nic_ring_data *ring_data, in hns_nic_poll_rx_skb() argument
540 struct hnae_ring *ring = ring_data->ring; in hns_nic_poll_rx_skb()
541 struct net_device *ndev = ring_data->napi.dev; in hns_nic_poll_rx_skb()
561 skb = *out_skb = napi_alloc_skb(&ring_data->napi, in hns_nic_poll_rx_skb()
654 hns_nic_rx_checksum(ring_data, skb, bnum_flag); in hns_nic_poll_rx_skb()
660 hns_nic_alloc_rx_buffers(struct hns_nic_ring_data *ring_data, int cleand_count) in hns_nic_alloc_rx_buffers() argument
665 struct hnae_ring *ring = ring_data->ring; in hns_nic_alloc_rx_buffers()
666 struct net_device *ndev = ring_data->napi.dev; in hns_nic_alloc_rx_buffers()
692 static void hns_nic_rx_up_pro(struct hns_nic_ring_data *ring_data, in hns_nic_rx_up_pro() argument
695 struct net_device *ndev = ring_data->napi.dev; in hns_nic_rx_up_pro()
698 napi_gro_receive(&ring_data->napi, skb); in hns_nic_rx_up_pro()
774 static void hns_nic_adpt_coalesce(struct hns_nic_ring_data *ring_data) in hns_nic_adpt_coalesce() argument
776 struct hnae_ring *ring = ring_data->ring; in hns_nic_adpt_coalesce()
804 handle->coal_ring_idx = ring_data->queue_index; in hns_nic_adpt_coalesce()
806 handle->coal_ring_idx == ring_data->queue_index || in hns_nic_adpt_coalesce()
813 handle->coal_ring_idx = ring_data->queue_index; in hns_nic_adpt_coalesce()
818 static int hns_nic_rx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_rx_poll_one() argument
821 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_poll_one()
837 hns_nic_alloc_rx_buffers(ring_data, in hns_nic_rx_poll_one()
844 err = hns_nic_poll_rx_skb(ring_data, &skb, &bnum); in hns_nic_rx_poll_one()
857 ring_data, skb); in hns_nic_rx_poll_one()
864 hns_nic_alloc_rx_buffers(ring_data, in hns_nic_rx_poll_one()
870 static bool hns_nic_rx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_rx_fini_pro() argument
872 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_fini_pro()
879 ring_data->ring->q->handle->dev->ops->toggle_ring_irq(ring, 0); in hns_nic_rx_fini_pro()
884 hns_nic_adpt_coalesce(ring_data); in hns_nic_rx_fini_pro()
888 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_rx_fini_pro()
889 ring_data->ring, 1); in hns_nic_rx_fini_pro()
897 static bool hns_nic_rx_fini_pro_v2(struct hns_nic_ring_data *ring_data) in hns_nic_rx_fini_pro_v2() argument
899 struct hnae_ring *ring = ring_data->ring; in hns_nic_rx_fini_pro_v2()
907 hns_nic_adpt_coalesce(ring_data); in hns_nic_rx_fini_pro_v2()
946 static int hns_nic_tx_poll_one(struct hns_nic_ring_data *ring_data, in hns_nic_tx_poll_one() argument
949 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_poll_one()
950 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_poll_one()
980 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_poll_one()
1001 static bool hns_nic_tx_fini_pro(struct hns_nic_ring_data *ring_data) in hns_nic_tx_fini_pro() argument
1003 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_fini_pro()
1006 ring_data->ring->q->handle->dev->ops->toggle_ring_irq(ring, 0); in hns_nic_tx_fini_pro()
1011 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_nic_tx_fini_pro()
1012 ring_data->ring, 1); in hns_nic_tx_fini_pro()
1020 static bool hns_nic_tx_fini_pro_v2(struct hns_nic_ring_data *ring_data) in hns_nic_tx_fini_pro_v2() argument
1022 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_fini_pro_v2()
1031 static void hns_nic_tx_clr_all_bufs(struct hns_nic_ring_data *ring_data) in hns_nic_tx_clr_all_bufs() argument
1033 struct hnae_ring *ring = ring_data->ring; in hns_nic_tx_clr_all_bufs()
1034 struct net_device *ndev = ring_data->napi.dev; in hns_nic_tx_clr_all_bufs()
1045 dev_queue = netdev_get_tx_queue(ndev, ring_data->queue_index); in hns_nic_tx_clr_all_bufs()
1052 struct hns_nic_ring_data *ring_data = in hns_nic_common_poll() local
1054 struct hnae_ring *ring = ring_data->ring; in hns_nic_common_poll()
1056 clean_complete += ring_data->poll_one( in hns_nic_common_poll()
1057 ring_data, budget - clean_complete, in hns_nic_common_poll()
1058 ring_data->ex_process); in hns_nic_common_poll()
1061 if (ring_data->fini_process(ring_data)) { in hns_nic_common_poll()
1074 struct hns_nic_ring_data *ring_data = (struct hns_nic_ring_data *)dev; in hns_irq_handle() local
1076 ring_data->ring->q->handle->dev->ops->toggle_ring_irq( in hns_irq_handle()
1077 ring_data->ring, 1); in hns_irq_handle()
1078 napi_schedule(&ring_data->napi); in hns_irq_handle()
1171 napi_enable(&priv->ring_data[idx].napi); in hns_nic_ring_open()
1173 enable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_open()
1174 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 0); in hns_nic_ring_open()
1225 h->dev->ops->toggle_ring_irq(priv->ring_data[idx].ring, 1); in hns_nic_ring_close()
1226 disable_irq(priv->ring_data[idx].ring->irq); in hns_nic_ring_close()
1228 napi_disable(&priv->ring_data[idx].napi); in hns_nic_ring_close()
1263 if (priv->ring_data[i].ring->irq_init_flag == RCB_IRQ_INITED) { in hns_nic_free_irq()
1264 irq_set_affinity_hint(priv->ring_data[i].ring->irq, in hns_nic_free_irq()
1266 free_irq(priv->ring_data[i].ring->irq, in hns_nic_free_irq()
1267 &priv->ring_data[i]); in hns_nic_free_irq()
1268 priv->ring_data[i].ring->irq_init_flag = in hns_nic_free_irq()
1283 rd = &priv->ring_data[i]; in hns_nic_init_irq()
1401 hns_nic_tx_clr_all_bufs(priv->ring_data + i); in hns_nic_net_down()
1509 static void hns_nic_drop_rx_fetch(struct hns_nic_ring_data *ring_data, in hns_nic_drop_rx_fetch() argument
2098 priv->ring_data = kzalloc(array3_size(h->q_num, in hns_nic_init_ring_data()
2099 sizeof(*priv->ring_data), 2), in hns_nic_init_ring_data()
2101 if (!priv->ring_data) in hns_nic_init_ring_data()
2105 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
2116 rd = &priv->ring_data[i]; in hns_nic_init_ring_data()
2137 netif_napi_del(&priv->ring_data[i].napi); in hns_nic_uninit_ring_data()
2138 if (priv->ring_data[i].ring->irq_init_flag == RCB_IRQ_INITED) { in hns_nic_uninit_ring_data()
2140 priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
2142 free_irq(priv->ring_data[i].ring->irq, in hns_nic_uninit_ring_data()
2143 &priv->ring_data[i]); in hns_nic_uninit_ring_data()
2146 priv->ring_data[i].ring->irq_init_flag = RCB_IRQ_NOT_INITED; in hns_nic_uninit_ring_data()
2148 kfree(priv->ring_data); in hns_nic_uninit_ring_data()
2217 priv->ring_data = NULL; in hns_nic_try_get_ae()
2395 if (priv->ring_data) in hns_nic_dev_remove()
2397 priv->ring_data = NULL; in hns_nic_dev_remove()