/linux-master/drivers/ntb/ |
H A D | Makefile | 2 obj-$(CONFIG_NTB) += ntb.o hw/ test/ 5 ntb-y := core.o 6 ntb-$(CONFIG_NTB_MSI) += msi.o
|
H A D | core.c | 60 #include <linux/ntb.h> 63 #define DRIVER_NAME "ntb" 101 int ntb_register_device(struct ntb_dev *ntb) argument 105 if (!ntb) 107 if (!ntb->pdev) 109 if (!ntb->ops) 111 if (!ntb_dev_ops_is_valid(ntb->ops)) 114 init_completion(&ntb->released); 116 ntb->dev.bus = &ntb_bus; 117 ntb 133 ntb_unregister_device(struct ntb_dev *ntb) argument 140 ntb_set_ctx(struct ntb_dev *ntb, void *ctx, const struct ntb_ctx_ops *ctx_ops) argument 161 ntb_clear_ctx(struct ntb_dev *ntb) argument 174 ntb_link_event(struct ntb_dev *ntb) argument 187 ntb_db_event(struct ntb_dev *ntb, int vector) argument 200 ntb_msg_event(struct ntb_dev *ntb) argument 213 ntb_default_port_number(struct ntb_dev *ntb) argument 228 ntb_default_peer_port_count(struct ntb_dev *ntb) argument 234 ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx) argument 252 ntb_default_peer_port_idx(struct ntb_dev *ntb, int port) argument 265 struct ntb_dev *ntb; local 282 struct ntb_dev *ntb; local 296 struct ntb_dev *ntb = dev_ntb(dev); local [all...] |
H A D | msi.c | 5 #include <linux/ntb.h> 20 * @ntb: NTB device context 31 int ntb_msi_init(struct ntb_dev *ntb, argument 41 peers = ntb_peer_port_count(ntb); 45 ntb->msi = devm_kzalloc(&ntb->dev, struct_size(ntb->msi, peer_mws, peers), 47 if (!ntb->msi) 50 ntb->msi->desc_changed = desc_changed; 53 peer_widx = ntb_peer_mw_count(ntb) 95 ntb_msi_setup_mws(struct ntb_dev *ntb) argument 174 ntb_msi_clear_mws(struct ntb_dev *ntb) argument 190 struct ntb_dev *ntb; member in struct:ntb_msi_devres 195 ntb_msi_set_desc(struct ntb_dev *ntb, struct msi_desc *entry, struct ntb_msi_desc *msi_desc) argument 235 ntbm_msi_setup_callback(struct ntb_dev *ntb, struct msi_desc *entry, struct ntb_msi_desc *msi_desc) argument 280 ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler, irq_handler_t thread_fn, const char *name, void *dev_id, struct ntb_msi_desc *msi_desc) argument 326 struct ntb_dev *ntb = dev_ntb(dev); local 341 ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, void *dev_id) argument 367 ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer, struct ntb_msi_desc *desc) argument 397 ntb_msi_peer_addr(struct ntb_dev *ntb, int peer, struct ntb_msi_desc *desc, phys_addr_t *msi_addr) argument [all...] |
/linux-master/include/linux/ |
H A D | ntb.h | 71 * @NTB_TOPO_PRI: On primary side of local ntb. 72 * @NTB_TOPO_SEC: On secondary side of remote ntb. 73 * @NTB_TOPO_B2B_USD: On primary side of local ntb upstream of remote ntb. 74 * @NTB_TOPO_B2B_DSD: On primary side of local ntb downstream of remote ntb. 75 * @NTB_TOPO_SWITCH: Connected via a switch which supports ntb. 169 * struct ntb_client_ops - ntb client operations 174 int (*probe)(struct ntb_client *client, struct ntb_dev *ntb); 175 void (*remove)(struct ntb_client *client, struct ntb_dev *ntb); 618 ntb_port_number(struct ntb_dev *ntb) argument 635 ntb_peer_port_count(struct ntb_dev *ntb) argument 653 ntb_peer_port_number(struct ntb_dev *ntb, int pidx) argument 675 ntb_logical_port_number(struct ntb_dev *ntb) argument 705 ntb_peer_logical_port_number(struct ntb_dev *ntb, int pidx) argument 723 ntb_peer_port_idx(struct ntb_dev *ntb, int port) argument 744 ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, enum ntb_width *width) argument 764 ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 783 ntb_link_disable(struct ntb_dev *ntb) argument 802 ntb_mw_count(struct ntb_dev *ntb, int pidx) argument 823 ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int widx, resource_size_t *addr_align, resource_size_t *size_align, resource_size_t *size_max) argument 854 ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx, dma_addr_t addr, resource_size_t size) argument 875 ntb_mw_clear_trans(struct ntb_dev *ntb, int pidx, int widx) argument 894 ntb_peer_mw_count(struct ntb_dev *ntb) argument 912 ntb_peer_mw_get_addr(struct ntb_dev *ntb, int widx, phys_addr_t *base, resource_size_t *size) argument 936 ntb_peer_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx, u64 addr, resource_size_t size) argument 960 ntb_peer_mw_clear_trans(struct ntb_dev *ntb, int pidx, int widx) argument 979 ntb_db_is_unsafe(struct ntb_dev *ntb) argument 995 ntb_db_valid_mask(struct ntb_dev *ntb) argument 1008 ntb_db_vector_count(struct ntb_dev *ntb) argument 1025 ntb_db_vector_mask(struct ntb_dev *ntb, int vector) argument 1041 ntb_db_read(struct ntb_dev *ntb) argument 1058 ntb_db_set(struct ntb_dev *ntb, u64 db_bits) argument 1076 ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 1091 ntb_db_read_mask(struct ntb_dev *ntb) argument 1110 ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 1129 ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 1152 ntb_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr, resource_size_t *db_size, u64 *db_data, int db_bit) argument 1173 ntb_peer_db_read(struct ntb_dev *ntb) argument 1191 ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 1208 ntb_peer_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 1226 ntb_peer_db_read_mask(struct ntb_dev *ntb) argument 1247 ntb_peer_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 1269 ntb_peer_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 1287 ntb_spad_is_unsafe(struct ntb_dev *ntb) argument 1304 ntb_spad_count(struct ntb_dev *ntb) argument 1321 ntb_spad_read(struct ntb_dev *ntb, int sidx) argument 1339 ntb_spad_write(struct ntb_dev *ntb, int sidx, u32 val) argument 1359 ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx, phys_addr_t *spad_addr) argument 1378 ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx) argument 1397 ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx, u32 val) argument 1414 ntb_msg_count(struct ntb_dev *ntb) argument 1431 ntb_msg_inbits(struct ntb_dev *ntb) argument 1448 ntb_msg_outbits(struct ntb_dev *ntb) argument 1466 ntb_msg_read_sts(struct ntb_dev *ntb) argument 1483 ntb_msg_clear_sts(struct ntb_dev *ntb, u64 sts_bits) argument 1500 ntb_msg_set_mask(struct ntb_dev *ntb, u64 mask_bits) argument 1517 ntb_msg_clear_mask(struct ntb_dev *ntb, u64 mask_bits) argument 1536 ntb_msg_read(struct ntb_dev *ntb, int *pidx, int midx) argument 1557 ntb_peer_msg_write(struct ntb_dev *ntb, int pidx, int midx, u32 msg) argument 1597 ntb_peer_resource_idx(struct ntb_dev *ntb, int pidx) argument 1625 ntb_peer_highest_mw_idx(struct ntb_dev *ntb, int pidx) argument 1659 ntb_msi_init(struct ntb_dev *ntb, void (*desc_changed)(void *ctx)) argument 1664 ntb_msi_setup_mws(struct ntb_dev *ntb) argument 1668 ntb_msi_clear_mws(struct ntb_dev *ntb) argument 1669 ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler, irq_handler_t thread_fn, const char *name, void *dev_id, struct ntb_msi_desc *msi_desc) argument 1677 ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, void *dev_id) argument 1679 ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer, struct ntb_msi_desc *desc) argument 1684 ntb_msi_peer_addr(struct ntb_dev *ntb, int peer, struct ntb_msi_desc *desc, phys_addr_t *msi_addr) argument 1694 ntbm_msi_request_irq(struct ntb_dev *ntb, irq_handler_t handler, const char *name, void *dev_id, struct ntb_msi_desc *msi_desc) argument [all...] |
H A D | genl_magic_func.h | 145 struct nlattr **ntb = nested_attr_tb; \ 152 err = drbd_nla_parse_nested(ntb, maxtype, tla, s_name ## _nl_policy); \ 171 nla = ntb[attr_nr]; \
|
/linux-master/drivers/pci/endpoint/functions/ |
H A D | pci-epf-vntb.c | 9 * Based on pci-epf-ntb.c 46 #include <linux/ntb.h> 119 struct ntb_dev ntb; member in struct:epf_ntb 148 #define ntb_ndev(__ntb) container_of(__ntb, struct epf_ntb, ntb) 159 * @ntb: NTB device that facilitates communication between HOST and VHOST 167 static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up) argument 170 ntb->reg->link_status |= LINK_STATUS_UP; 172 ntb->reg->link_status &= ~LINK_STATUS_UP; 174 ntb_link_event(&ntb->ntb); 202 epf_ntb_configure_mw(struct epf_ntb *ntb, u32 mw) argument 231 epf_ntb_teardown_mw(struct epf_ntb *ntb, u32 mw) argument 252 struct epf_ntb *ntb; local 340 epf_ntb_config_sspad_bar_clear(struct epf_ntb *ntb) argument 363 epf_ntb_config_sspad_bar_set(struct epf_ntb *ntb) argument 390 epf_ntb_config_spad_bar_free(struct epf_ntb *ntb) argument 409 epf_ntb_config_spad_bar_alloc(struct epf_ntb *ntb) argument 483 epf_ntb_configure_interrupt(struct epf_ntb *ntb) argument 527 epf_ntb_db_bar_init(struct epf_ntb *ntb) argument 571 epf_ntb_db_bar_clear(struct epf_ntb *ntb) argument 589 epf_ntb_mw_bar_init(struct epf_ntb *ntb) argument 646 epf_ntb_mw_bar_clear(struct epf_ntb *ntb, int num_mws) argument 671 epf_ntb_epc_destroy(struct epf_ntb *ntb) argument 684 epf_ntb_init_epc_bar(struct epf_ntb *ntb) argument 731 epf_ntb_epc_init(struct epf_ntb *ntb) argument 800 epf_ntb_epc_cleanup(struct epf_ntb *ntb) argument 886 struct epf_ntb *ntb = to_epf_ntb(group); local 966 struct epf_ntb *ntb = epf_get_drvdata(epf); local 1031 vntb_epf_mw_count(struct ntb_dev *ntb, int pidx) argument 1038 vntb_epf_spad_count(struct ntb_dev *ntb) argument 1043 vntb_epf_peer_mw_count(struct ntb_dev *ntb) argument 1048 vntb_epf_db_valid_mask(struct ntb_dev *ntb) argument 1053 vntb_epf_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 1061 struct epf_ntb *ntb = ntb_ndev(ndev); local 1082 vntb_epf_mw_clear_trans(struct ntb_dev *ntb, int pidx, int idx) argument 1091 struct epf_ntb *ntb = ntb_ndev(ndev); local 1102 vntb_epf_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 1111 struct epf_ntb *ntb = ntb_ndev(ndev); local 1122 struct epf_ntb *ntb = ntb_ndev(ndev); local 1133 struct epf_ntb *ntb = ntb_ndev(ndev); local 1145 struct epf_ntb *ntb = ntb_ndev(ndev); local 1157 struct epf_ntb *ntb = ntb_ndev(ndev); local 1174 struct epf_ntb *ntb = ntb_ndev(ndev); local 1184 struct epf_ntb *ntb = ntb_ndev(ndev); local 1202 struct epf_ntb *ntb = ntb_ndev(ndev); local 1214 struct epf_ntb *ntb = ntb_ndev(ndev); local 1220 vntb_epf_link_disable(struct ntb_dev *ntb) argument 1302 struct epf_ntb *ntb = epf_get_drvdata(epf); local 1362 struct epf_ntb *ntb = epf_get_drvdata(epf); local 1391 struct epf_ntb *ntb; local [all...] |
H A D | pci-epf-ntb.c | 133 * @ntb: NTB device that facilitates communication between HOST1 and HOST2 140 static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up) argument 152 ntb_epc = ntb->epc[type]; 178 * @ntb: NTB device that facilitates communication between HOST1 and HOST2 235 static int epf_ntb_configure_mw(struct epf_ntb *ntb, argument 248 ntb_epc = ntb->epc[type]; 251 peer_ntb_epc = ntb->epc[!type]; 262 if (size > ntb->mws_size[mw]) { 266 ntb->mws_size[mw]); 287 * @ntb 294 epf_ntb_teardown_mw(struct epf_ntb *ntb, enum pci_epc_interface_type type, u32 mw) argument 383 epf_ntb_configure_msi(struct epf_ntb *ntb, enum pci_epc_interface_type type, u16 db_count) argument 487 epf_ntb_configure_msix(struct epf_ntb *ntb, enum pci_epc_interface_type type, u16 db_count) argument 554 epf_ntb_configure_db(struct epf_ntb *ntb, enum pci_epc_interface_type type, u16 db_count, bool msix) argument 589 epf_ntb_teardown_db(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 626 struct epf_ntb *ntb; local 779 epf_ntb_peer_spad_bar_set(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 900 struct epf_ntb *ntb; local 948 epf_ntb_config_spad_bar_free(struct epf_ntb *ntb) argument 993 epf_ntb_config_spad_bar_alloc(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1097 epf_ntb_config_spad_bar_alloc_interface(struct epf_ntb *ntb) argument 1252 epf_ntb_db_mw_bar_cleanup(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1272 epf_ntb_configure_interrupt(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1429 epf_ntb_db_mw_bar_init(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1505 epf_ntb_epc_destroy_interface(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1530 epf_ntb_epc_destroy(struct epf_ntb *ntb) argument 1546 epf_ntb_epc_create_interface(struct epf_ntb *ntb, struct pci_epc *epc, enum pci_epc_interface_type type) argument 1600 epf_ntb_epc_create(struct epf_ntb *ntb) argument 1639 epf_ntb_init_epc_bar_interface(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1689 epf_ntb_init_epc_bar(struct epf_ntb *ntb) argument 1717 epf_ntb_epc_init_interface(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1795 epf_ntb_epc_cleanup_interface(struct epf_ntb *ntb, enum pci_epc_interface_type type) argument 1816 epf_ntb_epc_cleanup(struct epf_ntb *ntb) argument 1831 epf_ntb_epc_init(struct epf_ntb *ntb) argument 1867 struct epf_ntb *ntb = epf_get_drvdata(epf); local 1926 struct epf_ntb *ntb = epf_get_drvdata(epf); local 2002 struct epf_ntb *ntb = to_epf_ntb(group); local 2066 struct epf_ntb *ntb = epf_get_drvdata(epf); local 2086 struct epf_ntb *ntb; local [all...] |
H A D | Makefile | 7 obj-$(CONFIG_PCI_EPF_NTB) += pci-epf-ntb.o
|
/linux-master/drivers/ntb/test/ |
H A D | ntb_pingpong.c | 81 #include <linux/ntb.h> 93 MODULE_PARM_DESC(unsafe, "Run even though ntb operations may be unsafe"); 100 struct ntb_dev *ntb; member in struct:pp_ctx 121 link = ntb_link_is_up(pp->ntb, NULL, NULL); 131 out_db = BIT_ULL(ntb_peer_port_number(pp->ntb, pidx)); 145 ntb_db_set_mask(pp->ntb, pp->in_db); 151 dev_dbg(&pp->ntb->dev, "Got no peers, so cancel\n"); 155 dev_dbg(&pp->ntb->dev, "Ping-pong started with port %d, db %#llx\n", 156 ntb_peer_port_number(pp->ntb, pp->out_pidx), pp->out_db); 165 ntb_db_set_mask(pp->ntb, p 242 pp_check_ntb(struct ntb_dev *ntb) argument 276 pp_create_data(struct ntb_dev *ntb) argument 367 pp_probe(struct ntb_client *client, struct ntb_dev *ntb) argument 395 pp_remove(struct ntb_client *client, struct ntb_dev *ntb) argument [all...] |
H A D | ntb_msi_test.c | 5 #include <linux/ntb.h> 20 struct ntb_dev *ntb; member in struct:ntb_msit_ctx 48 dev_dbg(&nm->ntb->dev, "Interrupt Occurred: %d", 65 ret = ntb_msi_setup_mws(nm->ntb); 67 dev_err(&nm->ntb->dev, "Unable to setup MSI windows: %d\n", 77 irq = ntbm_msi_request_irq(nm->ntb, ntb_msit_isr, 87 ret = ntb_spad_write(nm->ntb, 2 * i + 1, 92 ret = ntb_spad_write(nm->ntb, 2 * i + 2, 100 ntb_spad_write(nm->ntb, 0, irq_count); 101 ntb_peer_db_set(nm->ntb, BI 319 ntb_msit_probe(struct ntb_client *client, struct ntb_dev *ntb) argument 388 ntb_msit_remove(struct ntb_client *client, struct ntb_dev *ntb) argument [all...] |
H A D | ntb_perf.c | 85 #include <linux/ntb.h> 188 struct ntb_dev *ntb; member in struct:perf_ctx 253 link = ntb_link_is_up(peer->perf->ntb, NULL, NULL); 264 dev_dbg(&perf->ntb->dev, "CMD send: %d 0x%llx\n", cmd, data); 277 sts = ntb_peer_spad_read(perf->ntb, peer->pidx, 284 ntb_peer_spad_write(perf->ntb, peer->pidx, 287 ntb_peer_spad_write(perf->ntb, peer->pidx, 290 ntb_peer_spad_write(perf->ntb, peer->pidx, 293 ntb_peer_db_set(perf->ntb, PERF_SPAD_NOTIFY(peer->gidx)); 295 dev_dbg(&perf->ntb 1390 perf_create_data(struct ntb_dev *ntb) argument 1484 perf_probe(struct ntb_client *client, struct ntb_dev *ntb) argument 1512 perf_remove(struct ntb_client *client, struct ntb_dev *ntb) argument [all...] |
H A D | ntb_tool.c | 189 #include <linux/ntb.h> 257 struct ntb_dev *ntb; member in struct:tool_ctx 296 up = ntb_link_is_up(tc->ntb, &speed, &width); 298 dev_dbg(&tc->ntb->dev, "link is %s speed %d width %d\n", 309 db_mask = ntb_db_vector_mask(tc->ntb, vec); 310 db_bits = ntb_db_read(tc->ntb); 312 dev_dbg(&tc->ntb->dev, "doorbell vec %d mask %#llx bits %#llx\n", 323 msg_sts = ntb_msg_read_sts(tc->ntb); 325 dev_dbg(&tc->ntb->dev, "message bits %#llx\n", msg_sts); 354 pos = scnprintf(buf, buf_size, "%#llx\n", fn_read(tc->ntb)); 1438 tool_create_data(struct ntb_dev *ntb) argument 1605 tool_probe(struct ntb_client *self, struct ntb_dev *ntb) argument 1647 tool_remove(struct ntb_client *self, struct ntb_dev *ntb) argument [all...] |
/linux-master/drivers/ntb/hw/intel/ |
H A D | ntb_hw_gen1.h | 127 /* Use the following addresses for translation between b2b ntb devices in case 135 /* The peer ntb secondary config space is 32KB fixed size */ 159 int intel_ntb_mw_count(struct ntb_dev *ntb, int pidx); 160 int intel_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx, 163 int intel_ntb_peer_mw_count(struct ntb_dev *ntb); 164 int intel_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx, 166 u64 intel_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, 168 int intel_ntb_link_disable(struct ntb_dev *ntb); 169 u64 intel_ntb_db_valid_mask(struct ntb_dev *ntb); 170 int intel_ntb_db_vector_count(struct ntb_dev *ntb); [all...] |
H A D | ntb_hw_gen3.h | 107 int intel_ntb3_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, 109 u64 intel_ntb3_db_read(struct ntb_dev *ntb); 110 int intel_ntb3_db_clear(struct ntb_dev *ntb, u64 db_bits); 111 int intel_ntb3_peer_db_set(struct ntb_dev *ntb, u64 db_bits); 112 int intel_ntb3_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr,
|
H A D | ntb_hw_gen3.c | 55 #include <linux/ntb.h> 102 rc = pci_read_config_word(ndev->ntb.pdev, 150 pdev = ndev->ntb.pdev; 187 switch (ndev->ntb.topo) { 194 if (ndev->ntb.topo == NTB_TOPO_B2B_USD) { 232 pdev = ndev->ntb.pdev; 240 ndev->ntb.topo = xeon_ppd_topo(ndev, ppd); 242 ntb_topo_string(ndev->ntb.topo)); 243 if (ndev->ntb.topo == NTB_TOPO_NONE) 281 ntb_topo_string(ndev->ntb 418 intel_ntb3_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 443 intel_ntb3_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx, dma_addr_t addr, resource_size_t size) argument 534 intel_ntb3_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr, resource_size_t *db_size, u64 *db_data, int db_bit) argument 565 intel_ntb3_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 583 intel_ntb3_db_read(struct ntb_dev *ntb) argument 592 intel_ntb3_db_clear(struct ntb_dev *ntb, u64 db_bits) argument [all...] |
H A D | ntb_hw_gen4.c | 11 #include <linux/ntb.h> 104 pdev = ndev->ntb.pdev; 141 if (ndev->ntb.topo == NTB_TOPO_B2B_USD) 185 struct pci_dev *pdev = ndev->ntb.pdev; 199 ndev->ntb.topo = gen4_ppd_topo(ndev, ppd1); 201 ndev->ntb.topo = spr_ppd_topo(ndev, ppd1); 203 ntb_topo_string(ndev->ntb.topo)); 204 if (ndev->ntb.topo == NTB_TOPO_NONE) 245 ntb_topo_string(ndev->ntb.topo)); 313 if (!pci_read_config_word(ndev->ntb 337 intel_ntb4_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx, dma_addr_t addr, resource_size_t size) argument 431 intel_ntb4_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 495 intel_ntb4_link_disable(struct ntb_dev *ntb) argument 524 intel_ntb4_mw_get_align(struct ntb_dev *ntb, int pidx, int idx, resource_size_t *addr_align, resource_size_t *size_align, resource_size_t *size_max) argument [all...] |
H A D | ntb_hw_gen1.c | 58 #include <linux/ntb.h> 90 MODULE_PARM_DESC(b2b_mw_idx, "Use this mw idx to access the peer ntb. A " 98 "ntb so that the peer ntb only occupies the first half of " 152 if (!ntb_topo_is_b2b(ndev->ntb.topo)) 193 dev_dbg(&ndev->ntb.pdev->dev, "Peer db addr %llx\n", *db_addr); 198 dev_dbg(&ndev->ntb.pdev->dev, "Peer db size %llx\n", *db_size); 289 dev_dbg(&ndev->ntb.pdev->dev, "Peer spad addr %llx\n", 331 dev_dbg(&ndev->ntb.pdev->dev, "vec %d vec_mask %llx\n", vec, vec_mask); 337 ntb_link_event(&ndev->ntb); 796 intel_ntb_mw_count(struct ntb_dev *ntb, int pidx) argument 804 intel_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx, resource_size_t *addr_align, resource_size_t *size_align, resource_size_t *size_max) argument 842 intel_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx, dma_addr_t addr, resource_size_t size) argument 943 intel_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, enum ntb_width *width) argument 965 intel_ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 996 intel_ntb_link_disable(struct ntb_dev *ntb) argument 1020 intel_ntb_peer_mw_count(struct ntb_dev *ntb) argument 1026 intel_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx, phys_addr_t *base, resource_size_t *size) argument 1050 intel_ntb_db_is_unsafe(struct ntb_dev *ntb) argument 1055 intel_ntb_db_valid_mask(struct ntb_dev *ntb) argument 1060 intel_ntb_db_vector_count(struct ntb_dev *ntb) argument 1069 intel_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector) argument 1079 intel_ntb_db_read(struct ntb_dev *ntb) argument 1088 intel_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 1097 intel_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 1106 intel_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 1115 intel_ntb_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr, resource_size_t *db_size, u64 *db_data, int db_bit) argument 1139 intel_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 1148 intel_ntb_spad_is_unsafe(struct ntb_dev *ntb) argument 1153 intel_ntb_spad_count(struct ntb_dev *ntb) argument 1162 intel_ntb_spad_read(struct ntb_dev *ntb, int idx) argument 1171 intel_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val) argument 1180 intel_ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx, phys_addr_t *spad_addr) argument 1189 intel_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx) argument 1198 intel_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx, u32 val) argument [all...] |
H A D | ntb_hw_intel.h | 51 #include <linux/ntb.h> 139 struct ntb_dev ntb; member in struct:intel_ntb_dev 190 #define ntb_ndev(__ntb) container_of(__ntb, struct intel_ntb_dev, ntb)
|
/linux-master/drivers/ntb/hw/epf/ |
H A D | ntb_hw_epf.c | 13 #include <linux/ntb.h> 61 struct ntb_dev ntb; member in struct:ntb_epf_dev 86 #define ntb_ndev(__ntb) container_of(__ntb, struct ntb_epf_dev, ntb) 150 static int ntb_epf_mw_count(struct ntb_dev *ntb, int pidx) argument 152 struct ntb_epf_dev *ndev = ntb_ndev(ntb); 163 static int ntb_epf_mw_get_align(struct ntb_dev *ntb, int pidx, int idx, argument 168 struct ntb_epf_dev *ndev = ntb_ndev(ntb); 188 *size_max = pci_resource_len(ndev->ntb.pdev, bar); 193 static u64 ntb_epf_link_is_up(struct ntb_dev *ntb, argument 197 struct ntb_epf_dev *ndev = ntb_ndev(ntb); 205 ntb_epf_spad_read(struct ntb_dev *ntb, int idx) argument 222 ntb_epf_spad_write(struct ntb_dev *ntb, int idx, u32 val) argument 241 ntb_epf_peer_spad_read(struct ntb_dev *ntb, int pidx, int idx) argument 261 ntb_epf_peer_spad_write(struct ntb_dev *ntb, int pidx, int idx, u32 val) argument 284 ntb_epf_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 301 ntb_epf_link_disable(struct ntb_dev *ntb) argument 383 ntb_epf_peer_mw_count(struct ntb_dev *ntb) argument 388 ntb_epf_spad_count(struct ntb_dev *ntb) argument 393 ntb_epf_db_valid_mask(struct ntb_dev *ntb) argument 398 ntb_epf_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 403 ntb_epf_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx, dma_addr_t addr, resource_size_t size) argument 435 ntb_epf_mw_clear_trans(struct ntb_dev *ntb, int pidx, int idx) argument 448 ntb_epf_peer_mw_get_addr(struct ntb_dev *ntb, int idx, phys_addr_t *base, resource_size_t *size) argument 469 ntb_epf_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 494 ntb_epf_db_read(struct ntb_dev *ntb) argument 501 ntb_epf_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 506 ntb_epf_db_clear(struct ntb_dev *ntb, u64 db_bits) argument [all...] |
/linux-master/drivers/ntb/hw/amd/ |
H A D | ntb_hw_amd.c | 60 #include <linux/ntb.h> 84 static int amd_ntb_mw_count(struct ntb_dev *ntb, int pidx) argument 89 return ntb_ndev(ntb)->mw_count; 92 static int amd_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx, argument 97 struct amd_ntb_dev *ndev = ntb_ndev(ntb); 114 *size_max = pci_resource_len(ndev->ntb.pdev, bar); 119 static int amd_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx, argument 122 struct amd_ntb_dev *ndev = ntb_ndev(ntb); 136 mw_size = pci_resource_len(ntb->pdev, bar); 145 base_addr = pci_resource_start(ntb 313 amd_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, enum ntb_width *width) argument 341 amd_ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 359 amd_ntb_link_disable(struct ntb_dev *ntb) argument 375 amd_ntb_peer_mw_count(struct ntb_dev *ntb) argument 381 amd_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx, phys_addr_t *base, resource_size_t *size) argument 400 amd_ntb_db_valid_mask(struct ntb_dev *ntb) argument 405 amd_ntb_db_vector_count(struct ntb_dev *ntb) argument 410 amd_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector) argument 420 amd_ntb_db_read(struct ntb_dev *ntb) argument 428 amd_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 438 amd_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 455 amd_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 472 amd_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 482 amd_ntb_spad_count(struct ntb_dev *ntb) argument 487 amd_ntb_spad_read(struct ntb_dev *ntb, int idx) argument 500 amd_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val) argument 516 amd_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx) argument 529 amd_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx, u32 val) argument [all...] |
H A D | ntb_hw_amd.h | 52 #include <linux/ntb.h> 181 struct ntb_dev ntb; member in struct:amd_ntb_dev 216 #define ntb_ndev(__ntb) container_of(__ntb, struct amd_ntb_dev, ntb)
|
/linux-master/drivers/ntb/hw/idt/ |
H A D | ntb_hw_idt.c | 60 #include <linux/ntb.h> 530 dev_dbg(&ndev->ntb.pdev->dev, "Local port: %hhu, num of peers: %hhu\n", 535 dev_warn(&ndev->ntb.pdev->dev, "No active peer found\n"); 544 * @ntb: NTB device context. 548 static int idt_ntb_port_number(struct ntb_dev *ntb) argument 550 struct idt_ntb_dev *ndev = to_ndev_ntb(ntb); 557 * @ntb: NTB device context. 563 static int idt_ntb_peer_port_count(struct ntb_dev *ntb) argument 565 struct idt_ntb_dev *ndev = to_ndev_ntb(ntb); 572 * @ntb 577 idt_ntb_peer_port_number(struct ntb_dev *ntb, int pidx) argument 598 idt_ntb_peer_port_idx(struct ntb_dev *ntb, int port) argument 879 idt_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, enum ntb_width *width) argument 920 idt_ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed speed, enum ntb_width width) argument 941 idt_ntb_link_disable(struct ntb_dev *ntb) argument 1170 idt_ntb_mw_count(struct ntb_dev *ntb, int pidx) argument 1194 idt_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int widx, resource_size_t *addr_align, resource_size_t *size_align, resource_size_t *size_max) argument 1232 idt_ntb_peer_mw_count(struct ntb_dev *ntb) argument 1252 idt_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int widx, phys_addr_t *base, resource_size_t *size) argument 1287 idt_ntb_peer_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx, u64 addr, resource_size_t size) argument 1356 idt_ntb_peer_mw_clear_trans(struct ntb_dev *ntb, int pidx, int widx) argument 1447 idt_ntb_db_valid_mask(struct ntb_dev *ntb) argument 1461 idt_ntb_db_read(struct ntb_dev *ntb) argument 1481 idt_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 1500 idt_ntb_db_read_mask(struct ntb_dev *ntb) argument 1518 idt_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 1539 idt_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 1560 idt_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 1629 idt_ntb_msg_count(struct ntb_dev *ntb) argument 1644 idt_ntb_msg_inbits(struct ntb_dev *ntb) argument 1659 idt_ntb_msg_outbits(struct ntb_dev *ntb) argument 1673 idt_ntb_msg_read_sts(struct ntb_dev *ntb) argument 1693 idt_ntb_msg_clear_sts(struct ntb_dev *ntb, u64 sts_bits) argument 1712 idt_ntb_msg_set_mask(struct ntb_dev *ntb, u64 mask_bits) argument 1730 idt_ntb_msg_clear_mask(struct ntb_dev *ntb, u64 mask_bits) argument 1751 idt_ntb_msg_read(struct ntb_dev *ntb, int *pidx, int midx) argument 1787 idt_ntb_peer_msg_write(struct ntb_dev *ntb, int pidx, int midx, u32 msg) argument [all...] |
H A D | ntb_hw_idt.h | 51 #include <linux/ntb.h> 1094 * @ntb: Linux NTB-device description structure 1125 struct ntb_dev ntb; member in struct:idt_ntb_dev 1153 #define to_ndev_ntb(__ntb) container_of(__ntb, struct idt_ntb_dev, ntb)
|
/linux-master/drivers/ntb/hw/mscc/ |
H A D | ntb_hw_switchtec.c | 12 #include <linux/ntb.h> 46 struct ntb_dev ntb; member in struct:switchtec_ntb 93 static struct switchtec_ntb *ntb_sndev(struct ntb_dev *ntb) argument 95 return container_of(ntb, struct switchtec_ntb, ntb); 166 static int switchtec_ntb_mw_count(struct ntb_dev *ntb, int pidx) argument 168 struct switchtec_ntb *sndev = ntb_sndev(ntb); 191 static int switchtec_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, argument 196 struct switchtec_ntb *sndev = ntb_sndev(ntb); 270 static int switchtec_ntb_mw_set_trans(struct ntb_dev *ntb, in argument 341 switchtec_ntb_peer_mw_count(struct ntb_dev *ntb) argument 402 switchtec_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx, phys_addr_t *base, resource_size_t *size) argument 559 switchtec_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed, enum ntb_width *width) argument 573 switchtec_ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed max_speed, enum ntb_width max_width) argument 589 switchtec_ntb_link_disable(struct ntb_dev *ntb) argument 603 switchtec_ntb_db_valid_mask(struct ntb_dev *ntb) argument 610 switchtec_ntb_db_vector_count(struct ntb_dev *ntb) argument 615 switchtec_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector) argument 625 switchtec_ntb_db_read(struct ntb_dev *ntb) argument 635 switchtec_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits) argument 644 switchtec_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits) argument 662 switchtec_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits) argument 680 switchtec_ntb_db_read_mask(struct ntb_dev *ntb) argument 687 switchtec_ntb_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr, resource_size_t *db_size, u64 *db_data, int db_bit) argument 714 switchtec_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits) argument 724 switchtec_ntb_spad_count(struct ntb_dev *ntb) argument 731 switchtec_ntb_spad_read(struct ntb_dev *ntb, int idx) argument 744 switchtec_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val) argument 759 switchtec_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx) argument 776 switchtec_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx, u32 val) argument 795 switchtec_ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx, phys_addr_t *spad_addr) argument [all...] |
/linux-master/drivers/net/ |
H A D | ntb_netdev.c | 54 #include <linux/ntb.h> 403 struct ntb_dev *ntb; local 409 ntb = dev_ntb(client_dev->parent); 410 pdev = ntb->pdev;
|