Lines Matching refs:sds_ring

130 static int qlcnic_process_rcv_ring(struct qlcnic_host_sds_ring *sds_ring,
963 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_poll() local
967 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_poll()
968 adapter = sds_ring->adapter; in qlcnic_poll()
969 tx_ring = sds_ring->tx_ring; in qlcnic_poll()
973 work_done = qlcnic_process_rcv_ring(sds_ring, budget); in qlcnic_poll()
980 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_poll()
982 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_poll()
1014 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_rx_poll() local
1018 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_rx_poll()
1019 adapter = sds_ring->adapter; in qlcnic_rx_poll()
1021 work_done = qlcnic_process_rcv_ring(sds_ring, budget); in qlcnic_rx_poll()
1024 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_rx_poll()
1026 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_rx_poll()
1083 struct qlcnic_host_sds_ring *sds_ring) in qlcnic_handle_fw_message() argument
1092 desc = &sds_ring->desc_head[index]; in qlcnic_handle_fw_message()
1096 index = get_next_index(index, sds_ring->num_desc); in qlcnic_handle_fw_message()
1100 adapter = sds_ring->adapter; in qlcnic_handle_fw_message()
1195 struct qlcnic_host_sds_ring *sds_ring, int ring, in qlcnic_process_rcv() argument
1249 napi_gro_receive(&sds_ring->napi, skb); in qlcnic_process_rcv()
1357 static int qlcnic_process_rcv_ring(struct qlcnic_host_sds_ring *sds_ring, int max) in qlcnic_process_rcv_ring() argument
1360 struct qlcnic_adapter *adapter = sds_ring->adapter; in qlcnic_process_rcv_ring()
1367 u32 consumer = sds_ring->consumer; in qlcnic_process_rcv_ring()
1370 desc = &sds_ring->desc_head[consumer]; in qlcnic_process_rcv_ring()
1383 rxbuf = qlcnic_process_rcv(adapter, sds_ring, ring, in qlcnic_process_rcv_ring()
1393 qlcnic_handle_fw_message(desc_cnt, consumer, sds_ring); in qlcnic_process_rcv_ring()
1401 list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]); in qlcnic_process_rcv_ring()
1406 desc = &sds_ring->desc_head[consumer]; in qlcnic_process_rcv_ring()
1408 consumer = get_next_index(consumer, sds_ring->num_desc); in qlcnic_process_rcv_ring()
1415 if (!list_empty(&sds_ring->free_list[ring])) { in qlcnic_process_rcv_ring()
1416 list_for_each(cur, &sds_ring->free_list[ring]) { in qlcnic_process_rcv_ring()
1422 list_splice_tail_init(&sds_ring->free_list[ring], in qlcnic_process_rcv_ring()
1431 sds_ring->consumer = consumer; in qlcnic_process_rcv_ring()
1432 writel(consumer, sds_ring->crb_sts_consumer); in qlcnic_process_rcv_ring()
1537 void qlcnic_82xx_process_rcv_ring_diag(struct qlcnic_host_sds_ring *sds_ring) in qlcnic_82xx_process_rcv_ring_diag() argument
1539 struct qlcnic_adapter *adapter = sds_ring->adapter; in qlcnic_82xx_process_rcv_ring_diag()
1544 u32 consumer = sds_ring->consumer; in qlcnic_82xx_process_rcv_ring_diag()
1546 desc = &sds_ring->desc_head[consumer]; in qlcnic_82xx_process_rcv_ring_diag()
1556 qlcnic_handle_fw_message(desc_cnt, consumer, sds_ring); in qlcnic_82xx_process_rcv_ring_diag()
1565 desc = &sds_ring->desc_head[consumer]; in qlcnic_82xx_process_rcv_ring_diag()
1567 consumer = get_next_index(consumer, sds_ring->num_desc); in qlcnic_82xx_process_rcv_ring_diag()
1570 sds_ring->consumer = consumer; in qlcnic_82xx_process_rcv_ring_diag()
1571 writel(consumer, sds_ring->crb_sts_consumer); in qlcnic_82xx_process_rcv_ring_diag()
1578 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_82xx_napi_add() local
1586 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_82xx_napi_add()
1589 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_82xx_napi_add()
1593 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_82xx_napi_add()
1596 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_82xx_napi_add()
1620 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_82xx_napi_del() local
1625 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_82xx_napi_del()
1626 netif_napi_del(&sds_ring->napi); in qlcnic_82xx_napi_del()
1644 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_82xx_napi_enable() local
1652 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_82xx_napi_enable()
1653 napi_enable(&sds_ring->napi); in qlcnic_82xx_napi_enable()
1654 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_82xx_napi_enable()
1671 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_82xx_napi_disable() local
1679 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_82xx_napi_disable()
1680 qlcnic_disable_sds_intr(adapter, sds_ring); in qlcnic_82xx_napi_disable()
1681 napi_synchronize(&sds_ring->napi); in qlcnic_82xx_napi_disable()
1682 napi_disable(&sds_ring->napi); in qlcnic_82xx_napi_disable()
1717 struct qlcnic_host_sds_ring *sds_ring, in qlcnic_83xx_process_rcv() argument
1774 napi_gro_receive(&sds_ring->napi, skb); in qlcnic_83xx_process_rcv()
1879 static int qlcnic_83xx_process_rcv_ring(struct qlcnic_host_sds_ring *sds_ring, in qlcnic_83xx_process_rcv_ring() argument
1883 struct qlcnic_adapter *adapter = sds_ring->adapter; in qlcnic_83xx_process_rcv_ring()
1890 u32 consumer = sds_ring->consumer; in qlcnic_83xx_process_rcv_ring()
1893 desc = &sds_ring->desc_head[consumer]; in qlcnic_83xx_process_rcv_ring()
1903 rxbuf = qlcnic_83xx_process_rcv(adapter, sds_ring, in qlcnic_83xx_process_rcv_ring()
1917 list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]); in qlcnic_83xx_process_rcv_ring()
1921 desc = &sds_ring->desc_head[consumer]; in qlcnic_83xx_process_rcv_ring()
1924 consumer = get_next_index(consumer, sds_ring->num_desc); in qlcnic_83xx_process_rcv_ring()
1929 if (!list_empty(&sds_ring->free_list[ring])) { in qlcnic_83xx_process_rcv_ring()
1930 list_for_each(cur, &sds_ring->free_list[ring]) { in qlcnic_83xx_process_rcv_ring()
1936 list_splice_tail_init(&sds_ring->free_list[ring], in qlcnic_83xx_process_rcv_ring()
1943 sds_ring->consumer = consumer; in qlcnic_83xx_process_rcv_ring()
1944 writel(consumer, sds_ring->crb_sts_consumer); in qlcnic_83xx_process_rcv_ring()
1953 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_msix_sriov_vf_poll() local
1957 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_83xx_msix_sriov_vf_poll()
1958 adapter = sds_ring->adapter; in qlcnic_83xx_msix_sriov_vf_poll()
1963 work_done = qlcnic_83xx_process_rcv_ring(sds_ring, budget); in qlcnic_83xx_msix_sriov_vf_poll()
1970 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_83xx_msix_sriov_vf_poll()
1971 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_83xx_msix_sriov_vf_poll()
1981 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_poll() local
1985 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_83xx_poll()
1986 adapter = sds_ring->adapter; in qlcnic_83xx_poll()
1991 work_done = qlcnic_83xx_process_rcv_ring(sds_ring, budget); in qlcnic_83xx_poll()
1998 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_83xx_poll()
1999 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_83xx_poll()
2029 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_rx_poll() local
2032 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_83xx_rx_poll()
2033 adapter = sds_ring->adapter; in qlcnic_83xx_rx_poll()
2034 work_done = qlcnic_83xx_process_rcv_ring(sds_ring, budget); in qlcnic_83xx_rx_poll()
2036 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_83xx_rx_poll()
2038 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_83xx_rx_poll()
2047 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_napi_enable() local
2055 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_83xx_napi_enable()
2056 napi_enable(&sds_ring->napi); in qlcnic_83xx_napi_enable()
2058 qlcnic_enable_sds_intr(adapter, sds_ring); in qlcnic_83xx_napi_enable()
2074 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_napi_disable() local
2082 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_83xx_napi_disable()
2084 qlcnic_disable_sds_intr(adapter, sds_ring); in qlcnic_83xx_napi_disable()
2085 napi_synchronize(&sds_ring->napi); in qlcnic_83xx_napi_disable()
2086 napi_disable(&sds_ring->napi); in qlcnic_83xx_napi_disable()
2104 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_napi_add() local
2112 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_83xx_napi_add()
2115 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_83xx_napi_add()
2118 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_83xx_napi_add()
2122 netif_napi_add(netdev, &sds_ring->napi, in qlcnic_83xx_napi_add()
2147 struct qlcnic_host_sds_ring *sds_ring; in qlcnic_83xx_napi_del() local
2152 sds_ring = &recv_ctx->sds_rings[ring]; in qlcnic_83xx_napi_del()
2153 netif_napi_del(&sds_ring->napi); in qlcnic_83xx_napi_del()
2205 void qlcnic_83xx_process_rcv_ring_diag(struct qlcnic_host_sds_ring *sds_ring) in qlcnic_83xx_process_rcv_ring_diag() argument
2207 struct qlcnic_adapter *adapter = sds_ring->adapter; in qlcnic_83xx_process_rcv_ring_diag()
2211 u32 consumer = sds_ring->consumer; in qlcnic_83xx_process_rcv_ring_diag()
2213 desc = &sds_ring->desc_head[consumer]; in qlcnic_83xx_process_rcv_ring_diag()
2222 desc = &sds_ring->desc_head[consumer]; in qlcnic_83xx_process_rcv_ring_diag()
2224 consumer = get_next_index(consumer, sds_ring->num_desc); in qlcnic_83xx_process_rcv_ring_diag()
2225 sds_ring->consumer = consumer; in qlcnic_83xx_process_rcv_ring_diag()
2226 writel(consumer, sds_ring->crb_sts_consumer); in qlcnic_83xx_process_rcv_ring_diag()