Lines Matching refs:ndev
98 struct ntb_device *ndev; member
170 struct ntb_device *ndev; member
203 #define QP_TO_MW(ndev, qp) ((qp) % ntb_max_mw(ndev)) argument
341 dev->parent = &ntb_query_pdev(nt->ndev)->dev; in ntb_register_client_dev()
508 mw_max = ntb_max_mw(nt->ndev); in ntb_transport_setup_qp_mw()
509 mw_num = QP_TO_MW(nt->ndev, qp_num); in ntb_transport_setup_qp_mw()
546 struct pci_dev *pdev = ntb_query_pdev(nt->ndev); in ntb_free_mw()
558 struct pci_dev *pdev = ntb_query_pdev(nt->ndev); in ntb_set_mw()
593 ntb_set_mw_addr(nt->ndev, num_mw, mw->dma_addr); in ntb_set_mw()
601 struct pci_dev *pdev = ntb_query_pdev(nt->ndev); in ntb_qp_link_cleanup()
653 ntb_write_local_spad(nt->ndev, i, 0); in ntb_transport_link_cleanup()
684 struct ntb_device *ndev = nt->ndev; in ntb_transport_link_work() local
685 struct pci_dev *pdev = ntb_query_pdev(ndev); in ntb_transport_link_work()
690 for (i = 0; i < ntb_max_mw(ndev); i++) { in ntb_transport_link_work()
691 rc = ntb_write_remote_spad(ndev, MW0_SZ_HIGH + (i * 2), in ntb_transport_link_work()
692 ntb_get_mw_size(ndev, i) >> 32); in ntb_transport_link_work()
695 (u32)(ntb_get_mw_size(ndev, i) >> 32), in ntb_transport_link_work()
700 rc = ntb_write_remote_spad(ndev, MW0_SZ_LOW + (i * 2), in ntb_transport_link_work()
701 (u32) ntb_get_mw_size(ndev, i)); in ntb_transport_link_work()
704 (u32) ntb_get_mw_size(ndev, i), in ntb_transport_link_work()
710 rc = ntb_write_remote_spad(ndev, NUM_MWS, ntb_max_mw(ndev)); in ntb_transport_link_work()
713 ntb_max_mw(ndev), NUM_MWS); in ntb_transport_link_work()
717 rc = ntb_write_remote_spad(ndev, NUM_QPS, nt->max_qps); in ntb_transport_link_work()
724 rc = ntb_write_remote_spad(ndev, VERSION, NTB_TRANSPORT_VERSION); in ntb_transport_link_work()
732 rc = ntb_read_remote_spad(ndev, VERSION, &val); in ntb_transport_link_work()
742 rc = ntb_read_remote_spad(ndev, NUM_QPS, &val); in ntb_transport_link_work()
752 rc = ntb_read_remote_spad(ndev, NUM_MWS, &val); in ntb_transport_link_work()
758 if (val != ntb_max_mw(ndev)) in ntb_transport_link_work()
762 for (i = 0; i < ntb_max_mw(ndev); i++) { in ntb_transport_link_work()
765 rc = ntb_read_remote_spad(ndev, MW0_SZ_HIGH + (i * 2), &val); in ntb_transport_link_work()
774 rc = ntb_read_remote_spad(ndev, MW0_SZ_LOW + (i * 2), &val); in ntb_transport_link_work()
804 for (i = 0; i < ntb_max_mw(ndev); i++) in ntb_transport_link_work()
807 if (ntb_hw_link_status(ndev)) in ntb_transport_link_work()
817 struct pci_dev *pdev = ntb_query_pdev(qp->ndev); in ntb_qp_link_work()
823 rc = ntb_read_local_spad(nt->ndev, QP_LINKS, &val); in ntb_qp_link_work()
829 rc = ntb_write_remote_spad(nt->ndev, QP_LINKS, val | 1 << qp->qp_num); in ntb_qp_link_work()
835 rc = ntb_read_remote_spad(nt->ndev, QP_LINKS, &val); in ntb_qp_link_work()
861 mw_max = ntb_max_mw(nt->ndev); in ntb_transport_init_queue()
862 mw_num = QP_TO_MW(nt->ndev, qp_num); in ntb_transport_init_queue()
867 qp->ndev = nt->ndev; in ntb_transport_init_queue()
877 tx_size = (unsigned int) ntb_get_mw_size(qp->ndev, mw_num) / num_qps_mw; in ntb_transport_init_queue()
879 qp->tx_mw = ntb_get_mw_vbase(nt->ndev, mw_num) + qp_offset; in ntb_transport_init_queue()
883 qp->tx_mw_phys = ntb_get_mw_base(qp->ndev, mw_num) + qp_offset; in ntb_transport_init_queue()
894 if (ntb_query_debugfs(nt->ndev)) { in ntb_transport_init_queue()
899 ntb_query_debugfs(nt->ndev)); in ntb_transport_init_queue()
929 nt->ndev = ntb_register_transport(pdev, nt); in ntb_transport_init()
930 if (!nt->ndev) { in ntb_transport_init()
935 nt->mw = kcalloc(ntb_max_mw(nt->ndev), sizeof(struct ntb_transport_mw), in ntb_transport_init()
943 nt->max_qps = min(ntb_max_cbs(nt->ndev), max_num_clients); in ntb_transport_init()
945 nt->max_qps = min(ntb_max_cbs(nt->ndev), ntb_max_mw(nt->ndev)); in ntb_transport_init()
965 rc = ntb_register_event_callback(nt->ndev, in ntb_transport_init()
975 if (ntb_hw_link_status(nt->ndev)) in ntb_transport_init()
981 ntb_unregister_event_callback(nt->ndev); in ntb_transport_init()
987 ntb_unregister_transport(nt->ndev); in ntb_transport_init()
996 struct ntb_device *ndev = nt->ndev; in ntb_transport_free() local
1012 ntb_unregister_event_callback(ndev); in ntb_transport_free()
1014 for (i = 0; i < ntb_max_mw(ndev); i++) in ntb_transport_free()
1019 ntb_unregister_transport(ndev); in ntb_transport_free()
1147 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, in ntb_process_rxc()
1162 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, in ntb_process_rxc()
1177 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, in ntb_process_rxc()
1186 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, in ntb_process_rxc()
1219 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, "%s: doorbell %d received\n", in ntb_transport_rxc_db()
1247 ntb_ring_doorbell(qp->ndev, qp->qp_num); in ntb_tx_copy_callback()
1350 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, "%lld - tx %u, entry len %d flags %x buff %p\n", in ntb_process_tx()
1379 struct pci_dev *pdev = ntb_query_pdev(qp->ndev); in ntb_send_link_down()
1480 rc = ntb_register_db_callback(qp->ndev, free_queue, qp, in ntb_transport_create_queue()
1517 pdev = ntb_query_pdev(qp->ndev); in ntb_transport_free_queue()
1534 ntb_unregister_db_callback(qp->ndev, qp->qp_num); in ntb_transport_free_queue()
1696 pdev = ntb_query_pdev(qp->ndev); in ntb_transport_link_down()
1699 rc = ntb_read_local_spad(qp->ndev, QP_LINKS, &val); in ntb_transport_link_down()
1705 rc = ntb_write_remote_spad(qp->ndev, QP_LINKS, in ntb_transport_link_down()