Lines Matching refs:entry

77 	struct list_head entry;  member
93 unsigned int entry; member
162 struct list_head entry; member
167 struct list_head entry; member
259 list_add(&nt->entry, &ntb_transport_list); in ntb_bus_init()
268 list_for_each_entry_safe(client_dev, cd, &nt->client_devs, entry) { in ntb_bus_remove()
271 list_del(&client_dev->entry); in ntb_bus_remove()
275 list_del(&nt->entry); in ntb_bus_remove()
300 list_for_each_entry(nt, &ntb_transport_list, entry) in ntb_unregister_client_dev()
301 list_for_each_entry_safe(client, cd, &nt->client_devs, entry) in ntb_unregister_client_dev()
304 list_del(&client->entry); in ntb_unregister_client_dev()
325 list_for_each_entry(nt, &ntb_transport_list, entry) { in ntb_register_client_dev()
349 list_add_tail(&client_dev->entry, &nt->client_devs); in ntb_register_client_dev()
471 static void ntb_list_add(spinlock_t *lock, struct list_head *entry, in ntb_list_add() argument
477 list_add_tail(entry, list); in ntb_list_add()
484 struct ntb_queue_entry *entry; in ntb_list_rm() local
489 entry = NULL; in ntb_list_rm()
492 entry = list_first_entry(list, struct ntb_queue_entry, entry); in ntb_list_rm()
493 list_del(&entry->entry); in ntb_list_rm()
497 return entry; in ntb_list_rm()
529 qp->remote_rx_info->entry = qp->rx_max_entry - 1; in ntb_transport_setup_qp_mw()
1025 struct ntb_queue_entry *entry = data; in ntb_rx_copy_callback() local
1026 struct ntb_transport_qp *qp = entry->qp; in ntb_rx_copy_callback()
1027 void *cb_data = entry->cb_data; in ntb_rx_copy_callback()
1028 unsigned int len = entry->len; in ntb_rx_copy_callback()
1029 struct ntb_payload_header *hdr = entry->rx_hdr; in ntb_rx_copy_callback()
1035 iowrite32(entry->index, &qp->rx_info->entry); in ntb_rx_copy_callback()
1037 ntb_list_add(&qp->ntb_rx_free_q_lock, &entry->entry, &qp->rx_free_q); in ntb_rx_copy_callback()
1043 static void ntb_memcpy_rx(struct ntb_queue_entry *entry, void *offset) in ntb_memcpy_rx() argument
1045 void *buf = entry->buf; in ntb_memcpy_rx()
1046 size_t len = entry->len; in ntb_memcpy_rx()
1050 ntb_rx_copy_callback(entry); in ntb_memcpy_rx()
1053 static void ntb_async_rx(struct ntb_queue_entry *entry, void *offset, in ntb_async_rx() argument
1057 struct ntb_transport_qp *qp = entry->qp; in ntb_async_rx()
1063 void *buf = entry->buf; in ntb_async_rx()
1065 entry->len = len; in ntb_async_rx()
1106 txd->callback_param = entry; in ntb_async_rx()
1132 ntb_memcpy_rx(entry, offset); in ntb_async_rx()
1139 struct ntb_queue_entry *entry; in ntb_process_rxc() local
1145 entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q); in ntb_process_rxc()
1146 if (!entry) { in ntb_process_rxc()
1155 ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, in ntb_process_rxc()
1165 ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, in ntb_process_rxc()
1179 qp->rx_index, hdr->ver, hdr->len, entry->len); in ntb_process_rxc()
1184 if (hdr->len > entry->len) { in ntb_process_rxc()
1188 hdr->len, entry->len); in ntb_process_rxc()
1193 entry->index = qp->rx_index; in ntb_process_rxc()
1194 entry->rx_hdr = hdr; in ntb_process_rxc()
1196 ntb_async_rx(entry, offset, hdr->len); in ntb_process_rxc()
1205 ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, &qp->rx_pend_q); in ntb_process_rxc()
1209 iowrite32(qp->rx_index, &qp->rx_info->entry); in ntb_process_rxc()
1239 struct ntb_queue_entry *entry = data; in ntb_tx_copy_callback() local
1240 struct ntb_transport_qp *qp = entry->qp; in ntb_tx_copy_callback()
1241 struct ntb_payload_header __iomem *hdr = entry->tx_hdr; in ntb_tx_copy_callback()
1245 iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags); in ntb_tx_copy_callback()
1253 if (entry->len > 0) { in ntb_tx_copy_callback()
1254 qp->tx_bytes += entry->len; in ntb_tx_copy_callback()
1257 qp->tx_handler(qp, qp->cb_data, entry->cb_data, in ntb_tx_copy_callback()
1258 entry->len); in ntb_tx_copy_callback()
1261 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, &qp->tx_free_q); in ntb_tx_copy_callback()
1264 static void ntb_memcpy_tx(struct ntb_queue_entry *entry, void __iomem *offset) in ntb_memcpy_tx() argument
1266 memcpy_toio(offset, entry->buf, entry->len); in ntb_memcpy_tx()
1268 ntb_tx_copy_callback(entry); in ntb_memcpy_tx()
1272 struct ntb_queue_entry *entry) in ntb_async_tx() argument
1283 size_t len = entry->len; in ntb_async_tx()
1284 void *buf = entry->buf; in ntb_async_tx()
1288 entry->tx_hdr = hdr; in ntb_async_tx()
1290 iowrite32(entry->len, &hdr->len); in ntb_async_tx()
1325 txd->callback_param = entry; in ntb_async_tx()
1343 ntb_memcpy_tx(entry, offset); in ntb_async_tx()
1348 struct ntb_queue_entry *entry) in ntb_process_tx() argument
1351 qp->tx_pkts, qp->tx_index, entry->len, entry->flags, in ntb_process_tx()
1352 entry->buf); in ntb_process_tx()
1353 if (qp->tx_index == qp->remote_rx_info->entry) { in ntb_process_tx()
1358 if (entry->len > qp->tx_max_frame - sizeof(struct ntb_payload_header)) { in ntb_process_tx()
1362 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_process_tx()
1367 ntb_async_tx(qp, entry); in ntb_process_tx()
1380 struct ntb_queue_entry *entry; in ntb_send_link_down() local
1390 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_send_link_down()
1391 if (entry) in ntb_send_link_down()
1396 if (!entry) in ntb_send_link_down()
1399 entry->cb_data = NULL; in ntb_send_link_down()
1400 entry->buf = NULL; in ntb_send_link_down()
1401 entry->len = 0; in ntb_send_link_down()
1402 entry->flags = LINK_DOWN_FLAG; in ntb_send_link_down()
1404 rc = ntb_process_tx(qp, entry); in ntb_send_link_down()
1428 struct ntb_queue_entry *entry; in ntb_transport_create_queue() local
1461 entry = kzalloc(sizeof(struct ntb_queue_entry), GFP_ATOMIC); in ntb_transport_create_queue()
1462 if (!entry) in ntb_transport_create_queue()
1465 entry->qp = qp; in ntb_transport_create_queue()
1466 ntb_list_add(&qp->ntb_rx_free_q_lock, &entry->entry, in ntb_transport_create_queue()
1471 entry = kzalloc(sizeof(struct ntb_queue_entry), GFP_ATOMIC); in ntb_transport_create_queue()
1472 if (!entry) in ntb_transport_create_queue()
1475 entry->qp = qp; in ntb_transport_create_queue()
1476 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_create_queue()
1490 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_create_queue()
1491 kfree(entry); in ntb_transport_create_queue()
1493 while ((entry = ntb_list_rm(&qp->ntb_rx_free_q_lock, &qp->rx_free_q))) in ntb_transport_create_queue()
1494 kfree(entry); in ntb_transport_create_queue()
1512 struct ntb_queue_entry *entry; in ntb_transport_free_queue() local
1538 while ((entry = ntb_list_rm(&qp->ntb_rx_free_q_lock, &qp->rx_free_q))) in ntb_transport_free_queue()
1539 kfree(entry); in ntb_transport_free_queue()
1541 while ((entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q))) { in ntb_transport_free_queue()
1543 kfree(entry); in ntb_transport_free_queue()
1546 while ((entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q))) in ntb_transport_free_queue()
1547 kfree(entry); in ntb_transport_free_queue()
1567 struct ntb_queue_entry *entry; in ntb_transport_rx_remove() local
1573 entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q); in ntb_transport_rx_remove()
1574 if (!entry) in ntb_transport_rx_remove()
1577 buf = entry->cb_data; in ntb_transport_rx_remove()
1578 *len = entry->len; in ntb_transport_rx_remove()
1580 ntb_list_add(&qp->ntb_rx_free_q_lock, &entry->entry, &qp->rx_free_q); in ntb_transport_rx_remove()
1601 struct ntb_queue_entry *entry; in ntb_transport_rx_enqueue() local
1606 entry = ntb_list_rm(&qp->ntb_rx_free_q_lock, &qp->rx_free_q); in ntb_transport_rx_enqueue()
1607 if (!entry) in ntb_transport_rx_enqueue()
1610 entry->cb_data = cb; in ntb_transport_rx_enqueue()
1611 entry->buf = data; in ntb_transport_rx_enqueue()
1612 entry->len = len; in ntb_transport_rx_enqueue()
1614 ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, &qp->rx_pend_q); in ntb_transport_rx_enqueue()
1636 struct ntb_queue_entry *entry; in ntb_transport_tx_enqueue() local
1642 entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q); in ntb_transport_tx_enqueue()
1643 if (!entry) { in ntb_transport_tx_enqueue()
1648 entry->cb_data = cb; in ntb_transport_tx_enqueue()
1649 entry->buf = data; in ntb_transport_tx_enqueue()
1650 entry->len = len; in ntb_transport_tx_enqueue()
1651 entry->flags = 0; in ntb_transport_tx_enqueue()
1653 rc = ntb_process_tx(qp, entry); in ntb_transport_tx_enqueue()
1655 ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry, in ntb_transport_tx_enqueue()