• Home
  • Raw
  • Download

Lines Matching refs:entry

103 	struct list_head entry;  member
122 unsigned int entry; member
204 struct list_head entry; member
210 struct list_head entry; member
263 struct ntb_queue_entry *entry);
264 static void ntb_memcpy_tx(struct ntb_queue_entry *entry, void __iomem *offset);
265 static int ntb_async_rx_submit(struct ntb_queue_entry *entry, void *offset);
266 static void ntb_memcpy_rx(struct ntb_queue_entry *entry, void *offset);
313 list_add_tail(&nt->entry, &ntb_transport_list); in ntb_bus_init()
321 list_for_each_entry_safe(client_dev, cd, &nt->client_devs, entry) { in ntb_bus_remove()
324 list_del(&client_dev->entry); in ntb_bus_remove()
328 list_del(&nt->entry); in ntb_bus_remove()
350 list_for_each_entry(nt, &ntb_transport_list, entry) in ntb_transport_unregister_client_dev()
351 list_for_each_entry_safe(client, cd, &nt->client_devs, entry) in ntb_transport_unregister_client_dev()
354 list_del(&client->entry); in ntb_transport_unregister_client_dev()
376 list_for_each_entry(nt, &ntb_transport_list, entry) { in ntb_transport_register_client_dev()
402 list_add_tail(&client_dev->entry, &nt->client_devs); in ntb_transport_register_client_dev()
512 qp->remote_rx_info->entry); in debugfs_read()
547 static void ntb_list_add(spinlock_t *lock, struct list_head *entry, in ntb_list_add() argument
553 list_add_tail(entry, list); in ntb_list_add()
560 struct ntb_queue_entry *entry; in ntb_list_rm() local
565 entry = NULL; in ntb_list_rm()
568 entry = list_first_entry(list, struct ntb_queue_entry, entry); in ntb_list_rm()
569 list_del(&entry->entry); in ntb_list_rm()
574 return entry; in ntb_list_rm()
581 struct ntb_queue_entry *entry; in ntb_list_mv() local
587 entry = NULL; in ntb_list_mv()
589 entry = list_first_entry(list, struct ntb_queue_entry, entry); in ntb_list_mv()
590 list_move_tail(&entry->entry, to_list); in ntb_list_mv()
595 return entry; in ntb_list_mv()
604 struct ntb_queue_entry *entry; in ntb_transport_setup_qp_mw() local
642 entry = kzalloc_node(sizeof(*entry), GFP_ATOMIC, node); in ntb_transport_setup_qp_mw()
643 if (!entry) in ntb_transport_setup_qp_mw()
646 entry->qp = qp; in ntb_transport_setup_qp_mw()
647 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, in ntb_transport_setup_qp_mw()
652 qp->remote_rx_info->entry = qp->rx_max_entry - 1; in ntb_transport_setup_qp_mw()
1236 struct ntb_queue_entry *entry; in ntb_complete_rxc() local
1244 entry = list_first_entry(&qp->rx_post_q, in ntb_complete_rxc()
1245 struct ntb_queue_entry, entry); in ntb_complete_rxc()
1246 if (!(entry->flags & DESC_DONE_FLAG)) in ntb_complete_rxc()
1249 entry->rx_hdr->flags = 0; in ntb_complete_rxc()
1250 iowrite32(entry->rx_index, &qp->rx_info->entry); in ntb_complete_rxc()
1252 cb_data = entry->cb_data; in ntb_complete_rxc()
1253 len = entry->len; in ntb_complete_rxc()
1255 list_move_tail(&entry->entry, &qp->rx_free_q); in ntb_complete_rxc()
1271 struct ntb_queue_entry *entry = data; in ntb_rx_copy_callback() local
1280 entry->errors++; in ntb_rx_copy_callback()
1283 struct ntb_transport_qp *qp = entry->qp; in ntb_rx_copy_callback()
1287 ntb_memcpy_rx(entry, offset); in ntb_rx_copy_callback()
1298 entry->flags |= DESC_DONE_FLAG; in ntb_rx_copy_callback()
1300 ntb_complete_rxc(entry->qp); in ntb_rx_copy_callback()
1303 static void ntb_memcpy_rx(struct ntb_queue_entry *entry, void *offset) in ntb_memcpy_rx() argument
1305 void *buf = entry->buf; in ntb_memcpy_rx()
1306 size_t len = entry->len; in ntb_memcpy_rx()
1313 ntb_rx_copy_callback(entry, NULL); in ntb_memcpy_rx()
1316 static int ntb_async_rx_submit(struct ntb_queue_entry *entry, void *offset) in ntb_async_rx_submit() argument
1319 struct ntb_transport_qp *qp = entry->qp; in ntb_async_rx_submit()
1325 void *buf = entry->buf; in ntb_async_rx_submit()
1327 len = entry->len; in ntb_async_rx_submit()
1361 txd->callback_param = entry; in ntb_async_rx_submit()
1384 static void ntb_async_rx(struct ntb_queue_entry *entry, void *offset) in ntb_async_rx() argument
1386 struct ntb_transport_qp *qp = entry->qp; in ntb_async_rx()
1393 if (entry->len < copy_bytes) in ntb_async_rx()
1396 res = ntb_async_rx_submit(entry, offset); in ntb_async_rx()
1400 if (!entry->retries) in ntb_async_rx()
1406 ntb_memcpy_rx(entry, offset); in ntb_async_rx()
1413 struct ntb_queue_entry *entry; in ntb_process_rxc() local
1443 entry = ntb_list_mv(&qp->ntb_rx_q_lock, &qp->rx_pend_q, &qp->rx_post_q); in ntb_process_rxc()
1444 if (!entry) { in ntb_process_rxc()
1450 entry->rx_hdr = hdr; in ntb_process_rxc()
1451 entry->rx_index = qp->rx_index; in ntb_process_rxc()
1453 if (hdr->len > entry->len) { in ntb_process_rxc()
1456 hdr->len, entry->len); in ntb_process_rxc()
1459 entry->len = -EIO; in ntb_process_rxc()
1460 entry->flags |= DESC_DONE_FLAG; in ntb_process_rxc()
1466 qp->rx_index, hdr->ver, hdr->len, entry->len); in ntb_process_rxc()
1471 entry->len = hdr->len; in ntb_process_rxc()
1473 ntb_async_rx(entry, offset); in ntb_process_rxc()
1524 struct ntb_queue_entry *entry = data; in ntb_tx_copy_callback() local
1525 struct ntb_transport_qp *qp = entry->qp; in ntb_tx_copy_callback()
1526 struct ntb_payload_header __iomem *hdr = entry->tx_hdr; in ntb_tx_copy_callback()
1535 entry->errors++; in ntb_tx_copy_callback()
1540 entry->tx_index; in ntb_tx_copy_callback()
1543 ntb_memcpy_tx(entry, offset); in ntb_tx_copy_callback()
1554 iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags); in ntb_tx_copy_callback()
1562 if (entry->len > 0) { in ntb_tx_copy_callback()
1563 qp->tx_bytes += entry->len; in ntb_tx_copy_callback()
1566 qp->tx_handler(qp, qp->cb_data, entry->cb_data, in ntb_tx_copy_callback()
1567 entry->len); in ntb_tx_copy_callback()
1570 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, &qp->tx_free_q); in ntb_tx_copy_callback()
1573 static void ntb_memcpy_tx(struct ntb_queue_entry *entry, void __iomem *offset) in ntb_memcpy_tx() argument
1580 __copy_from_user_inatomic_nocache(offset, entry->buf, entry->len); in ntb_memcpy_tx()
1582 memcpy_toio(offset, entry->buf, entry->len); in ntb_memcpy_tx()
1588 ntb_tx_copy_callback(entry, NULL); in ntb_memcpy_tx()
1592 struct ntb_queue_entry *entry) in ntb_async_tx_submit() argument
1597 size_t len = entry->len; in ntb_async_tx_submit()
1598 void *buf = entry->buf; in ntb_async_tx_submit()
1605 dest = qp->tx_mw_phys + qp->tx_max_frame * entry->tx_index; in ntb_async_tx_submit()
1630 txd->callback_param = entry; in ntb_async_tx_submit()
1651 struct ntb_queue_entry *entry) in ntb_async_tx() argument
1658 entry->tx_index = qp->tx_index; in ntb_async_tx()
1659 offset = qp->tx_mw + qp->tx_max_frame * entry->tx_index; in ntb_async_tx()
1661 entry->tx_hdr = hdr; in ntb_async_tx()
1663 iowrite32(entry->len, &hdr->len); in ntb_async_tx()
1669 if (entry->len < copy_bytes) in ntb_async_tx()
1672 res = ntb_async_tx_submit(qp, entry); in ntb_async_tx()
1676 if (!entry->retries) in ntb_async_tx()
1682 ntb_memcpy_tx(entry, offset); in ntb_async_tx()
1687 struct ntb_queue_entry *entry) in ntb_process_tx() argument
1689 if (qp->tx_index == qp->remote_rx_info->entry) { in ntb_process_tx()
1694 if (entry->len > qp->tx_max_frame - sizeof(struct ntb_payload_header)) { in ntb_process_tx()
1698 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_process_tx()
1703 ntb_async_tx(qp, entry); in ntb_process_tx()
1716 struct ntb_queue_entry *entry; in ntb_send_link_down() local
1725 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_send_link_down()
1726 if (entry) in ntb_send_link_down()
1731 if (!entry) in ntb_send_link_down()
1734 entry->cb_data = NULL; in ntb_send_link_down()
1735 entry->buf = NULL; in ntb_send_link_down()
1736 entry->len = 0; in ntb_send_link_down()
1737 entry->flags = LINK_DOWN_FLAG; in ntb_send_link_down()
1739 rc = ntb_process_tx(qp, entry); in ntb_send_link_down()
1773 struct ntb_queue_entry *entry; in ntb_transport_create_queue() local
1831 entry = kzalloc_node(sizeof(*entry), GFP_ATOMIC, node); in ntb_transport_create_queue()
1832 if (!entry) in ntb_transport_create_queue()
1835 entry->qp = qp; in ntb_transport_create_queue()
1836 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, in ntb_transport_create_queue()
1842 entry = kzalloc_node(sizeof(*entry), GFP_ATOMIC, node); in ntb_transport_create_queue()
1843 if (!entry) in ntb_transport_create_queue()
1846 entry->qp = qp; in ntb_transport_create_queue()
1847 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_create_queue()
1859 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_create_queue()
1860 kfree(entry); in ntb_transport_create_queue()
1863 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q))) in ntb_transport_create_queue()
1864 kfree(entry); in ntb_transport_create_queue()
1884 struct ntb_queue_entry *entry; in ntb_transport_free_queue() local
1936 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q))) in ntb_transport_free_queue()
1937 kfree(entry); in ntb_transport_free_queue()
1939 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_pend_q))) { in ntb_transport_free_queue()
1941 kfree(entry); in ntb_transport_free_queue()
1944 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_post_q))) { in ntb_transport_free_queue()
1946 kfree(entry); in ntb_transport_free_queue()
1949 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_free_queue()
1950 kfree(entry); in ntb_transport_free_queue()
1970 struct ntb_queue_entry *entry; in ntb_transport_rx_remove() local
1976 entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_pend_q); in ntb_transport_rx_remove()
1977 if (!entry) in ntb_transport_rx_remove()
1980 buf = entry->cb_data; in ntb_transport_rx_remove()
1981 *len = entry->len; in ntb_transport_rx_remove()
1983 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, &qp->rx_free_q); in ntb_transport_rx_remove()
2004 struct ntb_queue_entry *entry; in ntb_transport_rx_enqueue() local
2009 entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q); in ntb_transport_rx_enqueue()
2010 if (!entry) in ntb_transport_rx_enqueue()
2013 entry->cb_data = cb; in ntb_transport_rx_enqueue()
2014 entry->buf = data; in ntb_transport_rx_enqueue()
2015 entry->len = len; in ntb_transport_rx_enqueue()
2016 entry->flags = 0; in ntb_transport_rx_enqueue()
2017 entry->retries = 0; in ntb_transport_rx_enqueue()
2018 entry->errors = 0; in ntb_transport_rx_enqueue()
2019 entry->rx_index = 0; in ntb_transport_rx_enqueue()
2021 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, &qp->rx_pend_q); in ntb_transport_rx_enqueue()
2046 struct ntb_queue_entry *entry; in ntb_transport_tx_enqueue() local
2052 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_transport_tx_enqueue()
2053 if (!entry) { in ntb_transport_tx_enqueue()
2058 entry->cb_data = cb; in ntb_transport_tx_enqueue()
2059 entry->buf = data; in ntb_transport_tx_enqueue()
2060 entry->len = len; in ntb_transport_tx_enqueue()
2061 entry->flags = 0; in ntb_transport_tx_enqueue()
2062 entry->errors = 0; in ntb_transport_tx_enqueue()
2063 entry->retries = 0; in ntb_transport_tx_enqueue()
2064 entry->tx_index = 0; in ntb_transport_tx_enqueue()
2066 rc = ntb_process_tx(qp, entry); in ntb_transport_tx_enqueue()
2068 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_tx_enqueue()
2189 unsigned int tail = qp->remote_rx_info->entry; in ntb_transport_tx_free_entry()