Home
last modified time | relevance | path

Searched refs:ntb (Results 1 – 25 of 39) sorted by relevance

12

/linux-6.3-rc2/include/linux/
A Dntb.h623 return ntb->ops->port_number(ntb); in ntb_port_number()
785 return ntb->ops->link_disable(ntb); in ntb_link_disable()
984 return ntb->ops->db_is_unsafe(ntb); in ntb_db_is_unsafe()
1043 return ntb->ops->db_read(ntb); in ntb_db_read()
1096 return ntb->ops->db_read_mask(ntb); in ntb_db_read_mask()
1178 return ntb->ops->peer_db_read(ntb); in ntb_peer_db_read()
1309 return ntb->ops->spad_count(ntb); in ntb_spad_count()
1419 return ntb->ops->msg_count(ntb); in ntb_msg_count()
1436 return ntb->ops->msg_inbits(ntb); in ntb_msg_inbits()
1453 return ntb->ops->msg_outbits(ntb); in ntb_msg_outbits()
[all …]
/linux-6.3-rc2/drivers/pci/endpoint/functions/
A Dpci-epf-vntb.c174 ntb_link_event(&ntb->ntb); in epf_ntb_link_up()
262 ntb_db_event(&ntb->ntb, i); in epf_ntb_cmd_handler()
348 pci_epc_clear_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar); in epf_ntb_config_sspad_bar_clear()
395 pci_epf_free_space(ntb->epf, ntb->reg, barno, 0); in epf_ntb_config_spad_bar_free()
492 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no); in epf_ntb_configure_interrupt()
563 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar); in epf_ntb_db_bar_init()
684 pci_epc_remove_epf(ntb->epf->epc, ntb->epf, 0); in epf_ntb_epc_destroy()
707 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no); in epf_ntb_init_epc_bar()
794 epf_ntb_mw_bar_clear(ntb, ntb->num_mws); in epf_ntb_epc_init()
814 epf_ntb_mw_bar_clear(ntb, ntb->num_mws); in epf_ntb_epc_cleanup()
[all …]
A Dpci-epf-ntb.c266 ntb->mws_size[mw]); in epf_ntb_configure_mw()
626 struct epf_ntb *ntb; in epf_ntb_cmd_handler() local
955 epf = ntb->epf; in epf_ntb_config_spad_bar_free()
1009 epf = ntb->epf; in epf_ntb_config_spad_bar_alloc()
1515 epf = ntb->epf; in epf_ntb_epc_destroy_interface()
1563 epf = ntb->epf; in epf_ntb_epc_create_interface()
1606 epf = ntb->epf; in epf_ntb_epc_create()
1728 epf = ntb->epf; in epf_ntb_epc_init_interface()
2089 ntb = devm_kzalloc(dev, sizeof(*ntb), GFP_KERNEL); in epf_ntb_probe()
2090 if (!ntb) in epf_ntb_probe()
[all …]
/linux-6.3-rc2/drivers/ntb/
A Dcore.c103 if (!ntb) in ntb_register_device()
105 if (!ntb->pdev) in ntb_register_device()
107 if (!ntb->ops) in ntb_register_device()
115 ntb->dev.parent = &ntb->pdev->dev; in ntb_register_device()
117 dev_set_name(&ntb->dev, "%s", pci_name(ntb->pdev)); in ntb_register_device()
174 if (ntb->ctx_ops && ntb->ctx_ops->link_event) in ntb_link_event()
175 ntb->ctx_ops->link_event(ntb->ctx); in ntb_link_event()
187 if (ntb->ctx_ops && ntb->ctx_ops->db_event) in ntb_db_event()
188 ntb->ctx_ops->db_event(ntb->ctx, vector); in ntb_db_event()
200 if (ntb->ctx_ops && ntb->ctx_ops->msg_event) in ntb_msg_event()
[all …]
A Dmsi.c45 ntb->msi = devm_kzalloc(&ntb->dev, struct_size(ntb->msi, peer_mws, peers), in ntb_msi_init()
47 if (!ntb->msi) in ntb_msi_init()
60 ntb->msi->peer_mws[i] = devm_ioremap(&ntb->dev, mw_phys_addr, in ntb_msi_init()
73 devm_iounmap(&ntb->dev, ntb->msi->peer_mws[i]); in ntb_msi_init()
75 devm_kfree(&ntb->dev, ntb->msi); in ntb_msi_init()
76 ntb->msi = NULL; in ntb_msi_init()
106 if (!ntb->msi) in ntb_msi_setup_mws()
224 dr->ntb->msi->desc_changed(dr->ntb->ctx); in ntb_msi_write_msg()
245 dr->ntb = ntb; in ntbm_msi_setup_callback()
289 if (!ntb->msi) in ntbm_msi_request_threaded_irq()
[all …]
A DMakefile2 obj-$(CONFIG_NTB) += ntb.o hw/ test/
5 ntb-y := core.o
6 ntb-$(CONFIG_NTB_MSI) += msi.o
A DKconfig9 ntb Linux driver uses this point-to-point communication as a method to
27 source "drivers/ntb/hw/Kconfig"
29 source "drivers/ntb/test/Kconfig"
35 messages over the ntb hardware. The transport exposes a queue pair api
/linux-6.3-rc2/drivers/ntb/test/
A Dntb_pingpong.c100 struct ntb_dev *ntb; member
246 if (ntb_db_is_unsafe(ntb)) { in pp_check_ntb()
264 if (ntb_spad_count(ntb) < 1 && ntb_msg_count(ntb) < 1) { in pp_check_ntb()
284 pp->ntb = ntb; in pp_create_data()
327 msg_mask = ntb_msg_outbits(pp->ntb) | ntb_msg_inbits(pp->ntb); in pp_mask_events()
341 ntb_link_event(pp->ntb); in pp_setup_ctx()
348 ntb_link_disable(pp->ntb); in pp_clear_ctx()
350 ntb_clear_ctx(pp->ntb); in pp_clear_ctx()
372 ret = pp_check_ntb(ntb); in pp_probe()
376 pp = pp_create_data(ntb); in pp_probe()
[all …]
A Dntb_msi_test.c20 struct ntb_dev *ntb; member
65 ret = ntb_msi_setup_mws(nm->ntb); in ntb_msit_setup_work()
101 ntb_peer_db_set(nm->ntb, BIT(ntb_port_number(nm->ntb))); in ntb_msit_setup_work()
118 ntb_peer_db_set(nm->ntb, BIT(ntb_port_number(nm->ntb))); in ntb_msit_desc_changed()
329 if (ntb_spad_is_unsafe(ntb) || ntb_spad_count(ntb) < 2 * num_irqs + 1) { in ntb_msit_probe()
364 nm->ntb = ntb; in ntb_msit_probe()
384 devm_kfree(&ntb->dev, nm); in ntb_msit_probe()
393 ntb_link_disable(ntb); in ntb_msit_remove()
394 ntb_db_set_mask(ntb, ntb_db_valid_mask(ntb)); in ntb_msit_remove()
395 ntb_msi_clear_mws(ntb); in ntb_msit_remove()
[all …]
A Dntb_perf.c188 struct ntb_dev *ntb; member
509 ntb_db_vector_mask(perf->ntb, vec), ntb_db_read(perf->ntb)); in perf_db_event()
520 ntb_msg_read_sts(perf->ntb)); in perf_msg_event()
649 dev_warn(&peer->perf->ntb->dev, in perf_service_work()
729 ntb_clear_ctx(perf->ntb); in perf_enable_service()
735 ntb_link_event(perf->ntb); in perf_enable_service()
753 ntb_clear_ctx(perf->ntb); in perf_disable_service()
769 ntb_link_disable(perf->ntb); in perf_disable_service()
1404 perf->ntb = ntb; in perf_create_data()
1430 dev_warn(&peer->perf->ntb->dev, in perf_setup_peer_mw()
[all …]
A Dntb_tool.c257 struct ntb_dev *ntb; member
310 db_bits = ntb_db_read(tc->ntb); in tool_db_event()
394 ret = fn_set(tc->ntb, bits); in tool_fn_write()
399 ret = fn_clear(tc->ntb, bits); in tool_fn_write()
1044 tc->ntb->ops->db_clear); in tool_db_write()
1451 tc->ntb = ntb; in tool_create_data()
1456 if (ntb_db_is_unsafe(ntb)) in tool_create_data()
1459 if (ntb_spad_is_unsafe(ntb)) in tool_create_data()
1479 ntb_clear_ctx(tc->ntb); in tool_clear_ntb()
1480 ntb_link_disable(tc->ntb); in tool_clear_ntb()
[all …]
/linux-6.3-rc2/drivers/ntb/hw/amd/
A Dntb_hw_amd.c89 return ntb_ndev(ntb)->mw_count; in amd_ntb_mw_count()
232 pdev = ndev->ntb.pdev; in amd_ntb_get_link_status()
606 ntb_link_event(&ndev->ntb); in amd_handle_event()
623 ntb_link_event(&ndev->ntb); in amd_handle_event()
667 ntb_link_event(&ndev->ntb); in amd_handle_db_event()
715 pdev = ndev->ntb.pdev; in ndev_init_isr()
816 pdev = ndev->ntb.pdev; in ndev_deinit_isr()
962 ndev->ntb.pdev = pdev; in ndev_init_struct()
1069 switch (ndev->ntb.topo) { in amd_init_ntb()
1115 pdev = ndev->ntb.pdev; in amd_init_dev()
[all …]
/linux-6.3-rc2/drivers/ntb/hw/epf/
A Dntb_hw_epf.c61 struct ntb_dev ntb; member
325 ntb_link_event(&ndev->ntb); in ntb_epf_vec_isr()
327 ntb_db_event(&ndev->ntb, irq_no); in ntb_epf_vec_isr()
334 struct pci_dev *pdev = ndev->ntb.pdev; in ntb_epf_init_isr()
385 return ntb_ndev(ntb)->mw_count; in ntb_epf_peer_mw_count()
390 return ntb_ndev(ntb)->spad_count; in ntb_epf_spad_count()
395 return ntb_ndev(ntb)->db_valid_mask; in ntb_epf_db_valid_mask()
541 ndev->ntb.pdev = pdev; in ntb_epf_init_struct()
542 ndev->ntb.topo = NTB_TOPO_NONE; in ntb_epf_init_struct()
543 ndev->ntb.ops = &ntb_epf_ops; in ntb_epf_init_struct()
[all …]
/linux-6.3-rc2/drivers/ntb/hw/intel/
A Dntb_hw_gen1.h159 int intel_ntb_mw_count(struct ntb_dev *ntb, int pidx);
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,
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);
172 int intel_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits);
173 int intel_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits);
174 int intel_ntb_spad_is_unsafe(struct ntb_dev *ntb);
175 int intel_ntb_spad_count(struct ntb_dev *ntb);
[all …]
A Dntb_hw_gen3.c102 rc = pci_read_config_word(ndev->ntb.pdev, in gen3_poll_link()
150 pdev = ndev->ntb.pdev; in gen3_setup_b2b_mw()
187 switch (ndev->ntb.topo) { in gen3_init_ntb()
194 if (ndev->ntb.topo == NTB_TOPO_B2B_USD) { in gen3_init_ntb()
232 pdev = ndev->ntb.pdev; in gen3_init_dev()
242 ntb_topo_string(ndev->ntb.topo)); in gen3_init_dev()
243 if (ndev->ntb.topo == NTB_TOPO_NONE) in gen3_init_dev()
281 ntb_topo_string(ndev->ntb.topo)); in ndev_ntb3_debugfs_read()
347 if (ntb_topo_is_b2b(ndev->ntb.topo)) { in ndev_ntb3_debugfs_read()
424 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb3_link_enable()
[all …]
A Dntb_hw_gen1.c370 pdev = ndev->ntb.pdev; in ndev_init_isr()
469 pdev = ndev->ntb.pdev; in ndev_deinit_isr()
503 pdev = ndev->ntb.pdev; in ndev_ntb_debugfs_read()
766 else if (pdev_is_gen4(ndev->ntb.pdev) || pdev_is_gen5(ndev->ntb.pdev)) in ndev_debugfs_read()
972 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb_link_enable()
1001 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb_link_disable()
1064 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb_db_vector_count()
1157 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb_spad_count()
1302 pdev = ndev->ntb.pdev; in xeon_setup_b2b_mw()
1649 pdev = ndev->ntb.pdev; in xeon_init_dev()
[all …]
A Dntb_hw_gen4.c104 pdev = ndev->ntb.pdev; in gen4_setup_b2b_mw()
141 if (ndev->ntb.topo == NTB_TOPO_B2B_USD) in gen4_init_ntb()
185 struct pci_dev *pdev = ndev->ntb.pdev; in gen4_init_dev()
203 ntb_topo_string(ndev->ntb.topo)); in gen4_init_dev()
204 if (ndev->ntb.topo == NTB_TOPO_NONE) in gen4_init_dev()
245 ntb_topo_string(ndev->ntb.topo)); in ndev_ntb4_debugfs_read()
438 ndev = container_of(ntb, struct intel_ntb_dev, ntb); in intel_ntb4_link_enable()
440 dev_dbg(&ntb->pdev->dev, in intel_ntb4_link_enable()
445 dev_dbg(&ntb->pdev->dev, in intel_ntb4_link_enable()
448 dev_dbg(&ntb->pdev->dev, in intel_ntb4_link_enable()
[all …]
A Dntb_hw_gen3.h107 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,
/linux-6.3-rc2/drivers/ntb/hw/idt/
A Dntb_hw_idt.c718 ntb_link_event(&ndev->ntb); in idt_se_isr()
1135 dev_err(&ndev->ntb.pdev->dev, in idt_init_mws()
1145 dev_err(&ndev->ntb.pdev->dev, in idt_init_mws()
1435 ntb_db_event(&ndev->ntb, 0); in idt_db_isr()
1618 ntb_msg_event(&ndev->ntb); in idt_msg_isr()
2127 struct pci_dev *pdev = ndev->ntb.pdev; in idt_init_isr()
2284 ndev->ntb.ops = &idt_ntb_ops; in idt_register_device()
2285 ndev->ntb.topo = NTB_TOPO_SWITCH; in idt_register_device()
2305 ntb_unregister_device(&ndev->ntb); in idt_unregister_device()
2460 data = idt_ntb_db_read(&ndev->ntb); in idt_dbgfs_info_read()
[all …]
/linux-6.3-rc2/drivers/ntb/hw/mscc/
A Dntb_hw_switchtec.c46 struct ntb_dev ntb; member
95 return container_of(ntb, struct switchtec_ntb, ntb); in ntb_sndev()
511 ntb_link_event(&sndev->ntb); in switchtec_ntb_link_status_update()
533 ntb_link_event(&sndev->ntb); in check_link_status_work()
846 sndev->ntb.pdev = sndev->stdev->pdev; in switchtec_ntb_init_sndev()
847 sndev->ntb.topo = NTB_TOPO_SWITCH; in switchtec_ntb_init_sndev()
848 sndev->ntb.ops = &switchtec_ntb_ops; in switchtec_ntb_init_sndev()
1133 sndev->ntb.topo = NTB_TOPO_CROSSLINK; in switchtec_ntb_init_crosslink()
1379 ntb_db_event(&sndev->ntb, 0); in switchtec_ntb_doorbell_isr()
1522 rc = ntb_register_device(&sndev->ntb); in switchtec_ntb_add()
[all …]
/linux-6.3-rc2/drivers/ntb/hw/
A DKconfig2 source "drivers/ntb/hw/amd/Kconfig"
3 source "drivers/ntb/hw/idt/Kconfig"
4 source "drivers/ntb/hw/intel/Kconfig"
5 source "drivers/ntb/hw/epf/Kconfig"
6 source "drivers/ntb/hw/mscc/Kconfig"
/linux-6.3-rc2/Documentation/PCI/endpoint/
A Dpci-ntb-howto.rst9 This document is a guide to help users use pci-epf-ntb function driver
13 Documentation/PCI/endpoint/pci-ntb-function.rst
49 Creating pci-epf-ntb Device
53 pci-epf-ntb device, the following commands can be used::
59 The "mkdir func1" above creates the pci-epf-ntb function device that will
66 baseclass_code deviceid msi_interrupts pci-epf-ntb.0
72 when the device is bound to the driver. The pci-epf-ntb driver populates
81 Configuring pci-epf-ntb Device
111 Binding pci-epf-ntb Device to EP Controller
145 "Creating pci-epf-ntb Device" section above::
[all …]
A Dindex.rst14 pci-ntb-function
15 pci-ntb-howto
20 function/binding/pci-ntb
A Dpci-vntb-howto.rst55 The "mkdir func1" above creates the pci-epf-ntb function device that will
62 baseclass_code deviceid msi_interrupts pci-epf-ntb.0
112 Binding pci-epf-ntb Device to EP Controller
118 # ln -s controllers/5f010000.pcie_ep functions/pci-epf-ntb/func1/primary
140 "Creating pci-epf-ntb Device" section above::
153 "Creating pci-epf-ntb Device" section above::
167 :doc:`Non-Transparent Bridge <../../driver-api/ntb>`
/linux-6.3-rc2/Documentation/driver-api/
A Dntb.rst17 NTB Core Driver (ntb)
31 as ntb hardware, or hardware drivers, are inserted and removed. The
43 configured by the peer, on the peer ntb port. The first type is
123 NTB Transport Client (ntb\_transport) and NTB Netdev (ntb\_netdev)
135 NTB Ping Pong Test Client (ntb\_pingpong)
163 NTB Tool Test Client (ntb\_tool)
174 * *debugfs*/ntb\_tool/*hw*/
203 NTB MSI Test Client (ntb\_msi\_test)
210 * *debugfs*/ntb\_tool/*hw*/
236 NTB Intel Hardware Driver (ntb\_hw\_intel)
[all …]

Completed in 91 milliseconds

12