Lines Matching refs:entry

99 	struct list_head entry;  member
115 unsigned int entry; member
195 struct list_head entry; member
201 struct list_head entry; member
301 list_add_tail(&nt->entry, &ntb_transport_list); in ntb_bus_init()
309 list_for_each_entry_safe(client_dev, cd, &nt->client_devs, entry) { in ntb_bus_remove()
312 list_del(&client_dev->entry); in ntb_bus_remove()
316 list_del(&nt->entry); in ntb_bus_remove()
338 list_for_each_entry(nt, &ntb_transport_list, entry) in ntb_transport_unregister_client_dev()
339 list_for_each_entry_safe(client, cd, &nt->client_devs, entry) in ntb_transport_unregister_client_dev()
342 list_del(&client->entry); in ntb_transport_unregister_client_dev()
364 list_for_each_entry(nt, &ntb_transport_list, entry) { in ntb_transport_register_client_dev()
390 list_add_tail(&client_dev->entry, &nt->client_devs); in ntb_transport_register_client_dev()
498 qp->remote_rx_info->entry); in debugfs_read()
533 static void ntb_list_add(spinlock_t *lock, struct list_head *entry, in ntb_list_add() argument
539 list_add_tail(entry, list); in ntb_list_add()
546 struct ntb_queue_entry *entry; in ntb_list_rm() local
551 entry = NULL; in ntb_list_rm()
554 entry = list_first_entry(list, struct ntb_queue_entry, entry); in ntb_list_rm()
555 list_del(&entry->entry); in ntb_list_rm()
560 return entry; in ntb_list_rm()
567 struct ntb_queue_entry *entry; in ntb_list_mv() local
573 entry = NULL; in ntb_list_mv()
575 entry = list_first_entry(list, struct ntb_queue_entry, entry); in ntb_list_mv()
576 list_move_tail(&entry->entry, to_list); in ntb_list_mv()
581 return entry; in ntb_list_mv()
618 qp->remote_rx_info->entry = qp->rx_max_entry - 1; in ntb_transport_setup_qp_mw()
1167 struct ntb_queue_entry *entry; in ntb_complete_rxc() local
1175 entry = list_first_entry(&qp->rx_post_q, in ntb_complete_rxc()
1176 struct ntb_queue_entry, entry); in ntb_complete_rxc()
1177 if (!(entry->flags & DESC_DONE_FLAG)) in ntb_complete_rxc()
1180 entry->rx_hdr->flags = 0; in ntb_complete_rxc()
1181 iowrite32(entry->index, &qp->rx_info->entry); in ntb_complete_rxc()
1183 cb_data = entry->cb_data; in ntb_complete_rxc()
1184 len = entry->len; in ntb_complete_rxc()
1186 list_move_tail(&entry->entry, &qp->rx_free_q); in ntb_complete_rxc()
1201 struct ntb_queue_entry *entry = data; in ntb_rx_copy_callback() local
1203 entry->flags |= DESC_DONE_FLAG; in ntb_rx_copy_callback()
1205 ntb_complete_rxc(entry->qp); in ntb_rx_copy_callback()
1208 static void ntb_memcpy_rx(struct ntb_queue_entry *entry, void *offset) in ntb_memcpy_rx() argument
1210 void *buf = entry->buf; in ntb_memcpy_rx()
1211 size_t len = entry->len; in ntb_memcpy_rx()
1218 ntb_rx_copy_callback(entry); in ntb_memcpy_rx()
1221 static void ntb_async_rx(struct ntb_queue_entry *entry, void *offset) in ntb_async_rx() argument
1224 struct ntb_transport_qp *qp = entry->qp; in ntb_async_rx()
1230 void *buf = entry->buf; in ntb_async_rx()
1232 len = entry->len; in ntb_async_rx()
1273 txd->callback_param = entry; in ntb_async_rx()
1293 ntb_memcpy_rx(entry, offset); in ntb_async_rx()
1300 struct ntb_queue_entry *entry; in ntb_process_rxc() local
1330 entry = ntb_list_mv(&qp->ntb_rx_q_lock, &qp->rx_pend_q, &qp->rx_post_q); in ntb_process_rxc()
1331 if (!entry) { in ntb_process_rxc()
1337 entry->rx_hdr = hdr; in ntb_process_rxc()
1338 entry->index = qp->rx_index; in ntb_process_rxc()
1340 if (hdr->len > entry->len) { in ntb_process_rxc()
1343 hdr->len, entry->len); in ntb_process_rxc()
1346 entry->len = -EIO; in ntb_process_rxc()
1347 entry->flags |= DESC_DONE_FLAG; in ntb_process_rxc()
1353 qp->rx_index, hdr->ver, hdr->len, entry->len); in ntb_process_rxc()
1358 entry->len = hdr->len; in ntb_process_rxc()
1360 ntb_async_rx(entry, offset); in ntb_process_rxc()
1408 struct ntb_queue_entry *entry = data; in ntb_tx_copy_callback() local
1409 struct ntb_transport_qp *qp = entry->qp; in ntb_tx_copy_callback()
1410 struct ntb_payload_header __iomem *hdr = entry->tx_hdr; in ntb_tx_copy_callback()
1412 iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags); in ntb_tx_copy_callback()
1420 if (entry->len > 0) { in ntb_tx_copy_callback()
1421 qp->tx_bytes += entry->len; in ntb_tx_copy_callback()
1424 qp->tx_handler(qp, qp->cb_data, entry->cb_data, in ntb_tx_copy_callback()
1425 entry->len); in ntb_tx_copy_callback()
1428 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, &qp->tx_free_q); in ntb_tx_copy_callback()
1431 static void ntb_memcpy_tx(struct ntb_queue_entry *entry, void __iomem *offset) in ntb_memcpy_tx() argument
1438 __copy_from_user_inatomic_nocache(offset, entry->buf, entry->len); in ntb_memcpy_tx()
1440 memcpy_toio(offset, entry->buf, entry->len); in ntb_memcpy_tx()
1446 ntb_tx_copy_callback(entry); in ntb_memcpy_tx()
1450 struct ntb_queue_entry *entry) in ntb_async_tx() argument
1461 size_t len = entry->len; in ntb_async_tx()
1462 void *buf = entry->buf; in ntb_async_tx()
1466 entry->tx_hdr = hdr; in ntb_async_tx()
1468 iowrite32(entry->len, &hdr->len); in ntb_async_tx()
1503 txd->callback_param = entry; in ntb_async_tx()
1521 ntb_memcpy_tx(entry, offset); in ntb_async_tx()
1526 struct ntb_queue_entry *entry) in ntb_process_tx() argument
1528 if (qp->tx_index == qp->remote_rx_info->entry) { in ntb_process_tx()
1533 if (entry->len > qp->tx_max_frame - sizeof(struct ntb_payload_header)) { in ntb_process_tx()
1537 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_process_tx()
1542 ntb_async_tx(qp, entry); in ntb_process_tx()
1555 struct ntb_queue_entry *entry; in ntb_send_link_down() local
1564 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_send_link_down()
1565 if (entry) in ntb_send_link_down()
1570 if (!entry) in ntb_send_link_down()
1573 entry->cb_data = NULL; in ntb_send_link_down()
1574 entry->buf = NULL; in ntb_send_link_down()
1575 entry->len = 0; in ntb_send_link_down()
1576 entry->flags = LINK_DOWN_FLAG; in ntb_send_link_down()
1578 rc = ntb_process_tx(qp, entry); in ntb_send_link_down()
1612 struct ntb_queue_entry *entry; in ntb_transport_create_queue() local
1670 entry = kzalloc_node(sizeof(*entry), GFP_ATOMIC, node); in ntb_transport_create_queue()
1671 if (!entry) in ntb_transport_create_queue()
1674 entry->qp = qp; in ntb_transport_create_queue()
1675 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, in ntb_transport_create_queue()
1680 entry = kzalloc_node(sizeof(*entry), GFP_ATOMIC, node); in ntb_transport_create_queue()
1681 if (!entry) in ntb_transport_create_queue()
1684 entry->qp = qp; in ntb_transport_create_queue()
1685 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_create_queue()
1697 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_create_queue()
1698 kfree(entry); in ntb_transport_create_queue()
1700 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q))) in ntb_transport_create_queue()
1701 kfree(entry); in ntb_transport_create_queue()
1721 struct ntb_queue_entry *entry; in ntb_transport_free_queue() local
1771 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q))) in ntb_transport_free_queue()
1772 kfree(entry); in ntb_transport_free_queue()
1774 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_pend_q))) { in ntb_transport_free_queue()
1776 kfree(entry); in ntb_transport_free_queue()
1779 while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_post_q))) { in ntb_transport_free_queue()
1781 kfree(entry); in ntb_transport_free_queue()
1784 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_free_queue()
1785 kfree(entry); in ntb_transport_free_queue()
1805 struct ntb_queue_entry *entry; in ntb_transport_rx_remove() local
1811 entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_pend_q); in ntb_transport_rx_remove()
1812 if (!entry) in ntb_transport_rx_remove()
1815 buf = entry->cb_data; in ntb_transport_rx_remove()
1816 *len = entry->len; in ntb_transport_rx_remove()
1818 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, &qp->rx_free_q); in ntb_transport_rx_remove()
1839 struct ntb_queue_entry *entry; in ntb_transport_rx_enqueue() local
1844 entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q); in ntb_transport_rx_enqueue()
1845 if (!entry) in ntb_transport_rx_enqueue()
1848 entry->cb_data = cb; in ntb_transport_rx_enqueue()
1849 entry->buf = data; in ntb_transport_rx_enqueue()
1850 entry->len = len; in ntb_transport_rx_enqueue()
1851 entry->flags = 0; in ntb_transport_rx_enqueue()
1853 ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry, &qp->rx_pend_q); in ntb_transport_rx_enqueue()
1877 struct ntb_queue_entry *entry; in ntb_transport_tx_enqueue() local
1883 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_transport_tx_enqueue()
1884 if (!entry) { in ntb_transport_tx_enqueue()
1889 entry->cb_data = cb; in ntb_transport_tx_enqueue()
1890 entry->buf = data; in ntb_transport_tx_enqueue()
1891 entry->len = len; in ntb_transport_tx_enqueue()
1892 entry->flags = 0; in ntb_transport_tx_enqueue()
1894 rc = ntb_process_tx(qp, entry); in ntb_transport_tx_enqueue()
1896 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_tx_enqueue()
2018 unsigned int tail = qp->remote_rx_info->entry; in ntb_transport_tx_free_entry()