ntb               403 drivers/net/ntb_netdev.c 	struct ntb_dev *ntb;
ntb               409 drivers/net/ntb_netdev.c 	ntb = dev_ntb(client_dev->parent);
ntb               410 drivers/net/ntb_netdev.c 	pdev = ntb->pdev;
ntb               101 drivers/ntb/core.c int ntb_register_device(struct ntb_dev *ntb)
ntb               103 drivers/ntb/core.c 	if (!ntb)
ntb               105 drivers/ntb/core.c 	if (!ntb->pdev)
ntb               107 drivers/ntb/core.c 	if (!ntb->ops)
ntb               109 drivers/ntb/core.c 	if (!ntb_dev_ops_is_valid(ntb->ops))
ntb               112 drivers/ntb/core.c 	init_completion(&ntb->released);
ntb               114 drivers/ntb/core.c 	ntb->dev.bus = &ntb_bus;
ntb               115 drivers/ntb/core.c 	ntb->dev.parent = &ntb->pdev->dev;
ntb               116 drivers/ntb/core.c 	ntb->dev.release = ntb_dev_release;
ntb               117 drivers/ntb/core.c 	dev_set_name(&ntb->dev, "%s", pci_name(ntb->pdev));
ntb               119 drivers/ntb/core.c 	ntb->ctx = NULL;
ntb               120 drivers/ntb/core.c 	ntb->ctx_ops = NULL;
ntb               121 drivers/ntb/core.c 	spin_lock_init(&ntb->ctx_lock);
ntb               123 drivers/ntb/core.c 	return device_register(&ntb->dev);
ntb               127 drivers/ntb/core.c void ntb_unregister_device(struct ntb_dev *ntb)
ntb               129 drivers/ntb/core.c 	device_unregister(&ntb->dev);
ntb               130 drivers/ntb/core.c 	wait_for_completion(&ntb->released);
ntb               134 drivers/ntb/core.c int ntb_set_ctx(struct ntb_dev *ntb, void *ctx,
ntb               141 drivers/ntb/core.c 	if (ntb->ctx_ops)
ntb               144 drivers/ntb/core.c 	spin_lock_irqsave(&ntb->ctx_lock, irqflags);
ntb               146 drivers/ntb/core.c 		ntb->ctx = ctx;
ntb               147 drivers/ntb/core.c 		ntb->ctx_ops = ctx_ops;
ntb               149 drivers/ntb/core.c 	spin_unlock_irqrestore(&ntb->ctx_lock, irqflags);
ntb               155 drivers/ntb/core.c void ntb_clear_ctx(struct ntb_dev *ntb)
ntb               159 drivers/ntb/core.c 	spin_lock_irqsave(&ntb->ctx_lock, irqflags);
ntb               161 drivers/ntb/core.c 		ntb->ctx_ops = NULL;
ntb               162 drivers/ntb/core.c 		ntb->ctx = NULL;
ntb               164 drivers/ntb/core.c 	spin_unlock_irqrestore(&ntb->ctx_lock, irqflags);
ntb               168 drivers/ntb/core.c void ntb_link_event(struct ntb_dev *ntb)
ntb               172 drivers/ntb/core.c 	spin_lock_irqsave(&ntb->ctx_lock, irqflags);
ntb               174 drivers/ntb/core.c 		if (ntb->ctx_ops && ntb->ctx_ops->link_event)
ntb               175 drivers/ntb/core.c 			ntb->ctx_ops->link_event(ntb->ctx);
ntb               177 drivers/ntb/core.c 	spin_unlock_irqrestore(&ntb->ctx_lock, irqflags);
ntb               181 drivers/ntb/core.c void ntb_db_event(struct ntb_dev *ntb, int vector)
ntb               185 drivers/ntb/core.c 	spin_lock_irqsave(&ntb->ctx_lock, irqflags);
ntb               187 drivers/ntb/core.c 		if (ntb->ctx_ops && ntb->ctx_ops->db_event)
ntb               188 drivers/ntb/core.c 			ntb->ctx_ops->db_event(ntb->ctx, vector);
ntb               190 drivers/ntb/core.c 	spin_unlock_irqrestore(&ntb->ctx_lock, irqflags);
ntb               194 drivers/ntb/core.c void ntb_msg_event(struct ntb_dev *ntb)
ntb               198 drivers/ntb/core.c 	spin_lock_irqsave(&ntb->ctx_lock, irqflags);
ntb               200 drivers/ntb/core.c 		if (ntb->ctx_ops && ntb->ctx_ops->msg_event)
ntb               201 drivers/ntb/core.c 			ntb->ctx_ops->msg_event(ntb->ctx);
ntb               203 drivers/ntb/core.c 	spin_unlock_irqrestore(&ntb->ctx_lock, irqflags);
ntb               207 drivers/ntb/core.c int ntb_default_port_number(struct ntb_dev *ntb)
ntb               209 drivers/ntb/core.c 	switch (ntb->topo) {
ntb               224 drivers/ntb/core.c int ntb_default_peer_port_count(struct ntb_dev *ntb)
ntb               230 drivers/ntb/core.c int ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx)
ntb               235 drivers/ntb/core.c 	switch (ntb->topo) {
ntb               250 drivers/ntb/core.c int ntb_default_peer_port_idx(struct ntb_dev *ntb, int port)
ntb               252 drivers/ntb/core.c 	int peer_port = ntb_default_peer_port_number(ntb, NTB_DEF_PEER_IDX);
ntb               263 drivers/ntb/core.c 	struct ntb_dev *ntb;
ntb               268 drivers/ntb/core.c 	ntb = dev_ntb(dev);
ntb               271 drivers/ntb/core.c 	rc = client->ops.probe(client, ntb);
ntb               280 drivers/ntb/core.c 	struct ntb_dev *ntb;
ntb               284 drivers/ntb/core.c 		ntb = dev_ntb(dev);
ntb               287 drivers/ntb/core.c 		client->ops.remove(client, ntb);
ntb               296 drivers/ntb/core.c 	struct ntb_dev *ntb = dev_ntb(dev);
ntb               298 drivers/ntb/core.c 	complete(&ntb->released);
ntb                84 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_mw_count(struct ntb_dev *ntb, int pidx)
ntb                89 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->mw_count;
ntb                92 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx,
ntb                97 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               114 drivers/ntb/hw/amd/ntb_hw_amd.c 		*size_max = pci_resource_len(ndev->ntb.pdev, bar);
ntb               119 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx,
ntb               122 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               136 drivers/ntb/hw/amd/ntb_hw_amd.c 	mw_size = pci_resource_len(ntb->pdev, bar);
ntb               145 drivers/ntb/hw/amd/ntb_hw_amd.c 	base_addr = pci_resource_start(ntb->pdev, bar);
ntb               222 drivers/ntb/hw/amd/ntb_hw_amd.c static u64 amd_ntb_link_is_up(struct ntb_dev *ntb,
ntb               226 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               235 drivers/ntb/hw/amd/ntb_hw_amd.c 		dev_dbg(&ntb->pdev->dev, "link is up.\n");
ntb               244 drivers/ntb/hw/amd/ntb_hw_amd.c 		dev_dbg(&ntb->pdev->dev, "link is down.\n");
ntb               250 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_link_enable(struct ntb_dev *ntb,
ntb               254 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               262 drivers/ntb/hw/amd/ntb_hw_amd.c 	if (ndev->ntb.topo == NTB_TOPO_SEC)
ntb               264 drivers/ntb/hw/amd/ntb_hw_amd.c 	dev_dbg(&ntb->pdev->dev, "Enabling Link.\n");
ntb               273 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_link_disable(struct ntb_dev *ntb)
ntb               275 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               283 drivers/ntb/hw/amd/ntb_hw_amd.c 	if (ndev->ntb.topo == NTB_TOPO_SEC)
ntb               285 drivers/ntb/hw/amd/ntb_hw_amd.c 	dev_dbg(&ntb->pdev->dev, "Enabling Link.\n");
ntb               294 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_peer_mw_count(struct ntb_dev *ntb)
ntb               297 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->mw_count;
ntb               300 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx,
ntb               303 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               311 drivers/ntb/hw/amd/ntb_hw_amd.c 		*base = pci_resource_start(ndev->ntb.pdev, bar);
ntb               314 drivers/ntb/hw/amd/ntb_hw_amd.c 		*size = pci_resource_len(ndev->ntb.pdev, bar);
ntb               319 drivers/ntb/hw/amd/ntb_hw_amd.c static u64 amd_ntb_db_valid_mask(struct ntb_dev *ntb)
ntb               321 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->db_valid_mask;
ntb               324 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_db_vector_count(struct ntb_dev *ntb)
ntb               326 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->db_count;
ntb               329 drivers/ntb/hw/amd/ntb_hw_amd.c static u64 amd_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector)
ntb               331 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               336 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->db_valid_mask & (1ULL << db_vector);
ntb               339 drivers/ntb/hw/amd/ntb_hw_amd.c static u64 amd_ntb_db_read(struct ntb_dev *ntb)
ntb               341 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               347 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb               349 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               357 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb               359 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               374 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb               376 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               391 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb               393 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               401 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_spad_count(struct ntb_dev *ntb)
ntb               403 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ntb_ndev(ntb)->spad_count;
ntb               406 drivers/ntb/hw/amd/ntb_hw_amd.c static u32 amd_ntb_spad_read(struct ntb_dev *ntb, int idx)
ntb               408 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               419 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_spad_write(struct ntb_dev *ntb,
ntb               422 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               435 drivers/ntb/hw/amd/ntb_hw_amd.c static u32 amd_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx)
ntb               437 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               448 drivers/ntb/hw/amd/ntb_hw_amd.c static int amd_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx,
ntb               451 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct amd_ntb_dev *ndev = ntb_ndev(ntb);
ntb               503 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct device *dev = &ndev->ntb.pdev->dev;
ntb               521 drivers/ntb/hw/amd/ntb_hw_amd.c 		ntb_link_event(&ndev->ntb);
ntb               533 drivers/ntb/hw/amd/ntb_hw_amd.c 		ntb_link_event(&ndev->ntb);
ntb               557 drivers/ntb/hw/amd/ntb_hw_amd.c 	dev_dbg(&ndev->ntb.pdev->dev, "vec %d\n", vec);
ntb               563 drivers/ntb/hw/amd/ntb_hw_amd.c 		ntb_db_event(&ndev->ntb, vec);
ntb               579 drivers/ntb/hw/amd/ntb_hw_amd.c 	return ndev_interrupt(ndev, irq - ndev->ntb.pdev->irq);
ntb               588 drivers/ntb/hw/amd/ntb_hw_amd.c 	pdev = ndev->ntb.pdev;
ntb               689 drivers/ntb/hw/amd/ntb_hw_amd.c 	pdev = ndev->ntb.pdev;
ntb               737 drivers/ntb/hw/amd/ntb_hw_amd.c 			 ntb_topo_string(ndev->ntb.topo));
ntb               815 drivers/ntb/hw/amd/ntb_hw_amd.c 			debugfs_create_dir(pci_name(ndev->ntb.pdev),
ntb               835 drivers/ntb/hw/amd/ntb_hw_amd.c 	ndev->ntb.pdev = pdev;
ntb               836 drivers/ntb/hw/amd/ntb_hw_amd.c 	ndev->ntb.topo = NTB_TOPO_NONE;
ntb               837 drivers/ntb/hw/amd/ntb_hw_amd.c 	ndev->ntb.ops = &amd_ntb_ops;
ntb               851 drivers/ntb/hw/amd/ntb_hw_amd.c 	dev_dbg(&ndev->ntb.pdev->dev, "%s: reg_val = 0x%x.\n", __func__, reg);
ntb               858 drivers/ntb/hw/amd/ntb_hw_amd.c 	rc = pci_read_config_dword(ndev->ntb.pdev,
ntb               872 drivers/ntb/hw/amd/ntb_hw_amd.c 		ntb_link_event(&ndev->ntb);
ntb               916 drivers/ntb/hw/amd/ntb_hw_amd.c 	switch (ndev->ntb.topo) {
ntb               920 drivers/ntb/hw/amd/ntb_hw_amd.c 		if (ndev->ntb.topo == NTB_TOPO_PRI) {
ntb               933 drivers/ntb/hw/amd/ntb_hw_amd.c 		dev_err(&ndev->ntb.pdev->dev,
ntb               963 drivers/ntb/hw/amd/ntb_hw_amd.c 	pdev = ndev->ntb.pdev;
ntb               965 drivers/ntb/hw/amd/ntb_hw_amd.c 	ndev->ntb.topo = amd_get_topo(ndev);
ntb               967 drivers/ntb/hw/amd/ntb_hw_amd.c 		ntb_topo_string(ndev->ntb.topo));
ntb              1023 drivers/ntb/hw/amd/ntb_hw_amd.c 	rc = dma_coerce_mask_and_coherent(&ndev->ntb.dev,
ntb              1048 drivers/ntb/hw/amd/ntb_hw_amd.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              1091 drivers/ntb/hw/amd/ntb_hw_amd.c 	rc = ntb_register_device(&ndev->ntb);
ntb              1114 drivers/ntb/hw/amd/ntb_hw_amd.c 	ntb_unregister_device(&ndev->ntb);
ntb               184 drivers/ntb/hw/amd/ntb_hw_amd.h 	struct ntb_dev ntb;
ntb               218 drivers/ntb/hw/amd/ntb_hw_amd.h #define ntb_ndev(__ntb) container_of(__ntb, struct amd_ntb_dev, ntb)
ntb               530 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Local port: %hhu, num of peers: %hhu\n",
ntb               535 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_warn(&ndev->ntb.pdev->dev, "No active peer found\n");
ntb               548 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_port_number(struct ntb_dev *ntb)
ntb               550 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               563 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_port_count(struct ntb_dev *ntb)
ntb               565 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               577 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_port_number(struct ntb_dev *ntb, int pidx)
ntb               579 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               598 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_port_idx(struct ntb_dev *ntb, int port)
ntb               600 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               672 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB link status events initialized");
ntb               686 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB link status events deinitialized");
ntb               714 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "SE IRQ detected %#08x (SESTS %#08x)",
ntb               718 drivers/ntb/hw/idt/ntb_hw_idt.c 	ntb_link_event(&ndev->ntb);
ntb               879 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_link_is_up(struct ntb_dev *ntb,
ntb               882 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               920 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_link_enable(struct ntb_dev *ntb, enum ntb_speed speed,
ntb               923 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               928 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Local NTB link enabled");
ntb               941 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_link_disable(struct ntb_dev *ntb)
ntb               943 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb               948 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Local NTB link disabled");
ntb              1107 drivers/ntb/hw/idt/ntb_hw_idt.c 	ret_mws = devm_kcalloc(&ndev->ntb.pdev->dev, *mw_cnt, sizeof(*ret_mws),
ntb              1135 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_err(&ndev->ntb.pdev->dev,
ntb              1145 drivers/ntb/hw/idt/ntb_hw_idt.c 			dev_err(&ndev->ntb.pdev->dev,
ntb              1154 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Outbound and inbound MWs initialized");
ntb              1170 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_mw_count(struct ntb_dev *ntb, int pidx)
ntb              1172 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1194 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int widx,
ntb              1199 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1232 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_mw_count(struct ntb_dev *ntb)
ntb              1234 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1252 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int widx,
ntb              1255 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1262 drivers/ntb/hw/idt/ntb_hw_idt.c 		*base = pci_resource_start(ntb->pdev, ndev->mws[widx].bar) +
ntb              1287 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx,
ntb              1290 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1322 drivers/ntb/hw/idt/ntb_hw_idt.c 		limit = pci_bus_address(ntb->pdev, mw_cfg->bar) + size;
ntb              1356 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_mw_clear_trans(struct ntb_dev *ntb, int pidx,
ntb              1359 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1432 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "DB IRQ detected %#08x", ntint_sts);
ntb              1435 drivers/ntb/hw/idt/ntb_hw_idt.c 	ntb_db_event(&ndev->ntb, 0);
ntb              1447 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_db_valid_mask(struct ntb_dev *ntb)
ntb              1461 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_db_read(struct ntb_dev *ntb)
ntb              1463 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1481 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb              1483 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1500 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_db_read_mask(struct ntb_dev *ntb)
ntb              1502 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1518 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1520 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1539 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1541 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1560 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb              1562 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1596 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB Messaging initialized");
ntb              1615 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Message IRQ detected %#08x", ntint_sts);
ntb              1618 drivers/ntb/hw/idt/ntb_hw_idt.c 	ntb_msg_event(&ndev->ntb);
ntb              1629 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_msg_count(struct ntb_dev *ntb)
ntb              1644 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_msg_inbits(struct ntb_dev *ntb)
ntb              1659 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_msg_outbits(struct ntb_dev *ntb)
ntb              1673 drivers/ntb/hw/idt/ntb_hw_idt.c static u64 idt_ntb_msg_read_sts(struct ntb_dev *ntb)
ntb              1675 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1693 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_msg_clear_sts(struct ntb_dev *ntb, u64 sts_bits)
ntb              1695 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1712 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_msg_set_mask(struct ntb_dev *ntb, u64 mask_bits)
ntb              1714 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1730 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_msg_clear_mask(struct ntb_dev *ntb, u64 mask_bits)
ntb              1732 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1751 drivers/ntb/hw/idt/ntb_hw_idt.c static u32 idt_ntb_msg_read(struct ntb_dev *ntb, int *pidx, int midx)
ntb              1753 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              1787 drivers/ntb/hw/idt/ntb_hw_idt.c static int idt_ntb_peer_msg_write(struct ntb_dev *ntb, int pidx, int midx,
ntb              1790 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct idt_ntb_dev *ndev = to_ndev_ntb(ntb);
ntb              2090 drivers/ntb/hw/idt/ntb_hw_idt.c 	hwmon = devm_hwmon_device_register_with_groups(&ndev->ntb.pdev->dev,
ntb              2093 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_err(&ndev->ntb.pdev->dev, "Couldn't create hwmon device");
ntb              2097 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "Temperature HWmon interface registered");
ntb              2127 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              2176 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              2228 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "IDT IRQs 0x%08x handled", ntint_sts);
ntb              2284 drivers/ntb/hw/idt/ntb_hw_idt.c 	ndev->ntb.ops = &idt_ntb_ops;
ntb              2285 drivers/ntb/hw/idt/ntb_hw_idt.c 	ndev->ntb.topo = NTB_TOPO_SWITCH;
ntb              2287 drivers/ntb/hw/idt/ntb_hw_idt.c 	ret = ntb_register_device(&ndev->ntb);
ntb              2289 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_err(&ndev->ntb.pdev->dev, "Failed to register NTB device");
ntb              2293 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB device successfully registered");
ntb              2305 drivers/ntb/hw/idt/ntb_hw_idt.c 	ntb_unregister_device(&ndev->ntb);
ntb              2307 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB device unregistered");
ntb              2372 drivers/ntb/hw/idt/ntb_hw_idt.c 	data = idt_ntb_link_is_up(&ndev->ntb, &speed, &width);
ntb              2460 drivers/ntb/hw/idt/ntb_hw_idt.c 	data = idt_ntb_db_read(&ndev->ntb);
ntb              2471 drivers/ntb/hw/idt/ntb_hw_idt.c 	data = idt_ntb_msg_read_sts(&ndev->ntb);
ntb              2481 drivers/ntb/hw/idt/ntb_hw_idt.c 		data = idt_ntb_msg_read(&ndev->ntb, &src, idx);
ntb              2513 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_info(&ndev->ntb.pdev->dev, "Top DebugFS directory absent");
ntb              2518 drivers/ntb/hw/idt/ntb_hw_idt.c 	snprintf(devname, 64, "info:%s", pci_name(ndev->ntb.pdev));
ntb              2522 drivers/ntb/hw/idt/ntb_hw_idt.c 		dev_dbg(&ndev->ntb.pdev->dev, "Failed to create DebugFS node");
ntb              2526 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB device DebugFS node created");
ntb              2541 drivers/ntb/hw/idt/ntb_hw_idt.c 	dev_dbg(&ndev->ntb.pdev->dev, "NTB device DebugFS node discarded");
ntb              2614 drivers/ntb/hw/idt/ntb_hw_idt.c 	ndev->ntb.pdev = pdev;
ntb              2639 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              2663 drivers/ntb/hw/idt/ntb_hw_idt.c 	ret = dma_coerce_mask_and_coherent(&ndev->ntb.dev,
ntb              2726 drivers/ntb/hw/idt/ntb_hw_idt.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              1125 drivers/ntb/hw/idt/ntb_hw_idt.h 	struct ntb_dev ntb;
ntb              1153 drivers/ntb/hw/idt/ntb_hw_idt.h #define to_ndev_ntb(__ntb) container_of(__ntb, struct idt_ntb_dev, ntb)
ntb               151 drivers/ntb/hw/intel/ntb_hw_gen1.c 		if (!ntb_topo_is_b2b(ndev->ntb.topo))
ntb               192 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ndev->ntb.pdev->dev, "Peer db addr %llx\n", *db_addr);
ntb               197 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ndev->ntb.pdev->dev, "Peer db size %llx\n", *db_size);
ntb               288 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ndev->ntb.pdev->dev, "Peer spad addr %llx\n",
ntb               330 drivers/ntb/hw/intel/ntb_hw_gen1.c 	dev_dbg(&ndev->ntb.pdev->dev, "vec %d vec_mask %llx\n", vec, vec_mask);
ntb               336 drivers/ntb/hw/intel/ntb_hw_gen1.c 			ntb_link_event(&ndev->ntb);
ntb               340 drivers/ntb/hw/intel/ntb_hw_gen1.c 		ntb_db_event(&ndev->ntb, vec);
ntb               349 drivers/ntb/hw/intel/ntb_hw_gen1.c 	dev_dbg(&nvec->ndev->ntb.pdev->dev, "irq: %d  nvec->num: %d\n",
ntb               359 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ndev_interrupt(ndev, irq - ndev->ntb.pdev->irq);
ntb               369 drivers/ntb/hw/intel/ntb_hw_gen1.c 	pdev = ndev->ntb.pdev;
ntb               468 drivers/ntb/hw/intel/ntb_hw_gen1.c 	pdev = ndev->ntb.pdev;
ntb               502 drivers/ntb/hw/intel/ntb_hw_gen1.c 	pdev = ndev->ntb.pdev;
ntb               518 drivers/ntb/hw/intel/ntb_hw_gen1.c 			 ntb_topo_string(ndev->ntb.topo));
ntb               650 drivers/ntb/hw/intel/ntb_hw_gen1.c 		if (ntb_topo_is_b2b(ndev->ntb.topo)) {
ntb               761 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (pdev_is_gen1(ndev->ntb.pdev))
ntb               763 drivers/ntb/hw/intel/ntb_hw_gen1.c 	else if (pdev_is_gen3(ndev->ntb.pdev))
ntb               776 drivers/ntb/hw/intel/ntb_hw_gen1.c 			debugfs_create_dir(pci_name(ndev->ntb.pdev),
ntb               793 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_mw_count(struct ntb_dev *ntb, int pidx)
ntb               798 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ntb_ndev(ntb)->mw_count;
ntb               801 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx,
ntb               806 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               820 drivers/ntb/hw/intel/ntb_hw_gen1.c 	bar_size = pci_resource_len(ndev->ntb.pdev, bar);
ntb               828 drivers/ntb/hw/intel/ntb_hw_gen1.c 		*addr_align = pci_resource_len(ndev->ntb.pdev, bar);
ntb               839 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx,
ntb               842 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               859 drivers/ntb/hw/intel/ntb_hw_gen1.c 	bar_size = pci_resource_len(ndev->ntb.pdev, bar);
ntb               940 drivers/ntb/hw/intel/ntb_hw_gen1.c u64 intel_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed,
ntb               943 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               962 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_link_enable(struct ntb_dev *ntb,
ntb               969 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev = container_of(ntb, struct intel_ntb_dev, ntb);
ntb               971 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (ndev->ntb.topo == NTB_TOPO_SEC)
ntb               974 drivers/ntb/hw/intel/ntb_hw_gen1.c 	dev_dbg(&ntb->pdev->dev,
ntb               978 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ntb->pdev->dev, "ignoring max_speed %d\n", max_speed);
ntb               980 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ntb->pdev->dev, "ignoring max_width %d\n", max_width);
ntb               993 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_link_disable(struct ntb_dev *ntb)
ntb               998 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev = container_of(ntb, struct intel_ntb_dev, ntb);
ntb              1000 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (ndev->ntb.topo == NTB_TOPO_SEC)
ntb              1003 drivers/ntb/hw/intel/ntb_hw_gen1.c 	dev_dbg(&ntb->pdev->dev, "Disabling link\n");
ntb              1017 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_peer_mw_count(struct ntb_dev *ntb)
ntb              1020 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ntb_ndev(ntb)->mw_count;
ntb              1023 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx,
ntb              1026 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1037 drivers/ntb/hw/intel/ntb_hw_gen1.c 		*base = pci_resource_start(ndev->ntb.pdev, bar) +
ntb              1041 drivers/ntb/hw/intel/ntb_hw_gen1.c 		*size = pci_resource_len(ndev->ntb.pdev, bar) -
ntb              1047 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_db_is_unsafe(struct ntb_dev *ntb)
ntb              1049 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ndev_ignore_unsafe(ntb_ndev(ntb), NTB_UNSAFE_DB);
ntb              1052 drivers/ntb/hw/intel/ntb_hw_gen1.c u64 intel_ntb_db_valid_mask(struct ntb_dev *ntb)
ntb              1054 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ntb_ndev(ntb)->db_valid_mask;
ntb              1057 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_db_vector_count(struct ntb_dev *ntb)
ntb              1061 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev = container_of(ntb, struct intel_ntb_dev, ntb);
ntb              1066 drivers/ntb/hw/intel/ntb_hw_gen1.c u64 intel_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector)
ntb              1068 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1076 drivers/ntb/hw/intel/ntb_hw_gen1.c static u64 intel_ntb_db_read(struct ntb_dev *ntb)
ntb              1078 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1085 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb              1087 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1094 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1096 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1103 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1105 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1112 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr,
ntb              1116 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1123 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (unlikely(db_bits & ~ntb_ndev(ntb)->db_valid_mask))
ntb              1136 drivers/ntb/hw/intel/ntb_hw_gen1.c static int intel_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb              1138 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1145 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_spad_is_unsafe(struct ntb_dev *ntb)
ntb              1147 drivers/ntb/hw/intel/ntb_hw_gen1.c 	return ndev_ignore_unsafe(ntb_ndev(ntb), NTB_UNSAFE_SPAD);
ntb              1150 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_spad_count(struct ntb_dev *ntb)
ntb              1154 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev = container_of(ntb, struct intel_ntb_dev, ntb);
ntb              1159 drivers/ntb/hw/intel/ntb_hw_gen1.c u32 intel_ntb_spad_read(struct ntb_dev *ntb, int idx)
ntb              1161 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1168 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val)
ntb              1170 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1177 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx,
ntb              1180 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1186 drivers/ntb/hw/intel/ntb_hw_gen1.c u32 intel_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx)
ntb              1188 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1195 drivers/ntb/hw/intel/ntb_hw_gen1.c int intel_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx,
ntb              1198 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb              1224 drivers/ntb/hw/intel/ntb_hw_gen1.c 	rc = pci_read_config_word(ndev->ntb.pdev,
ntb              1239 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (ndev->ntb.topo == NTB_TOPO_SEC)
ntb              1269 drivers/ntb/hw/intel/ntb_hw_gen1.c 		dev_dbg(&ndev->ntb.pdev->dev, "PPD %d split bar\n", ppd);
ntb              1299 drivers/ntb/hw/intel/ntb_hw_gen1.c 	pdev = ndev->ntb.pdev;
ntb              1313 drivers/ntb/hw/intel/ntb_hw_gen1.c 		bar_size = pci_resource_len(ndev->ntb.pdev, b2b_bar);
ntb              1536 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct device *dev = &ndev->ntb.pdev->dev;
ntb              1549 drivers/ntb/hw/intel/ntb_hw_gen1.c 	switch (ndev->ntb.topo) {
ntb              1609 drivers/ntb/hw/intel/ntb_hw_gen1.c 		if (ndev->ntb.topo == NTB_TOPO_B2B_USD) {
ntb              1646 drivers/ntb/hw/intel/ntb_hw_gen1.c 	pdev = ndev->ntb.pdev;
ntb              1721 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev->ntb.topo = xeon_ppd_topo(ndev, ppd);
ntb              1723 drivers/ntb/hw/intel/ntb_hw_gen1.c 		ntb_topo_string(ndev->ntb.topo));
ntb              1724 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (ndev->ntb.topo == NTB_TOPO_NONE)
ntb              1727 drivers/ntb/hw/intel/ntb_hw_gen1.c 	if (ndev->ntb.topo != NTB_TOPO_SEC) {
ntb              1786 drivers/ntb/hw/intel/ntb_hw_gen1.c 	rc = dma_coerce_mask_and_coherent(&ndev->ntb.dev,
ntb              1814 drivers/ntb/hw/intel/ntb_hw_gen1.c 	struct pci_dev *pdev = ndev->ntb.pdev;
ntb              1829 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev->ntb.pdev = pdev;
ntb              1830 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev->ntb.topo = NTB_TOPO_NONE;
ntb              1831 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ndev->ntb.ops = &intel_ntb_ops;
ntb              1887 drivers/ntb/hw/intel/ntb_hw_gen1.c 		ndev->ntb.ops = &intel_ntb3_ops;
ntb              1908 drivers/ntb/hw/intel/ntb_hw_gen1.c 	rc = ntb_register_device(&ndev->ntb);
ntb              1932 drivers/ntb/hw/intel/ntb_hw_gen1.c 	ntb_unregister_device(&ndev->ntb);
ntb               157 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_mw_count(struct ntb_dev *ntb, int pidx);
ntb               158 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx,
ntb               161 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_peer_mw_count(struct ntb_dev *ntb);
ntb               162 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx,
ntb               164 drivers/ntb/hw/intel/ntb_hw_gen1.h u64 intel_ntb_link_is_up(struct ntb_dev *ntb, enum ntb_speed *speed,
ntb               166 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_link_disable(struct ntb_dev *ntb);
ntb               167 drivers/ntb/hw/intel/ntb_hw_gen1.h u64 intel_ntb_db_valid_mask(struct ntb_dev *ntb);
ntb               168 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_db_vector_count(struct ntb_dev *ntb);
ntb               169 drivers/ntb/hw/intel/ntb_hw_gen1.h u64 intel_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector);
ntb               170 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits);
ntb               171 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits);
ntb               172 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_spad_is_unsafe(struct ntb_dev *ntb);
ntb               173 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_spad_count(struct ntb_dev *ntb);
ntb               174 drivers/ntb/hw/intel/ntb_hw_gen1.h u32 intel_ntb_spad_read(struct ntb_dev *ntb, int idx);
ntb               175 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val);
ntb               176 drivers/ntb/hw/intel/ntb_hw_gen1.h u32 intel_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx);
ntb               177 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx,
ntb               179 drivers/ntb/hw/intel/ntb_hw_gen1.h int intel_ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx,
ntb               102 drivers/ntb/hw/intel/ntb_hw_gen3.c 	rc = pci_read_config_word(ndev->ntb.pdev,
ntb               150 drivers/ntb/hw/intel/ntb_hw_gen3.c 	pdev = ndev->ntb.pdev;
ntb               187 drivers/ntb/hw/intel/ntb_hw_gen3.c 	switch (ndev->ntb.topo) {
ntb               194 drivers/ntb/hw/intel/ntb_hw_gen3.c 		if (ndev->ntb.topo == NTB_TOPO_B2B_USD) {
ntb               232 drivers/ntb/hw/intel/ntb_hw_gen3.c 	pdev = ndev->ntb.pdev;
ntb               240 drivers/ntb/hw/intel/ntb_hw_gen3.c 	ndev->ntb.topo = xeon_ppd_topo(ndev, ppd);
ntb               242 drivers/ntb/hw/intel/ntb_hw_gen3.c 		ntb_topo_string(ndev->ntb.topo));
ntb               243 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (ndev->ntb.topo == NTB_TOPO_NONE)
ntb               281 drivers/ntb/hw/intel/ntb_hw_gen3.c 			 ntb_topo_string(ndev->ntb.topo));
ntb               347 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (ntb_topo_is_b2b(ndev->ntb.topo)) {
ntb               393 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (!pci_read_config_word(ndev->ntb.pdev,
ntb               398 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (!pci_read_config_word(ndev->ntb.pdev,
ntb               403 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (!pci_read_config_dword(ndev->ntb.pdev,
ntb               408 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (!pci_read_config_dword(ndev->ntb.pdev,
ntb               418 drivers/ntb/hw/intel/ntb_hw_gen3.c static int intel_ntb3_link_enable(struct ntb_dev *ntb,
ntb               425 drivers/ntb/hw/intel/ntb_hw_gen3.c 	ndev = container_of(ntb, struct intel_ntb_dev, ntb);
ntb               427 drivers/ntb/hw/intel/ntb_hw_gen3.c 	dev_dbg(&ntb->pdev->dev,
ntb               432 drivers/ntb/hw/intel/ntb_hw_gen3.c 		dev_dbg(&ntb->pdev->dev, "ignoring max_speed %d\n", max_speed);
ntb               434 drivers/ntb/hw/intel/ntb_hw_gen3.c 		dev_dbg(&ntb->pdev->dev, "ignoring max_width %d\n", max_width);
ntb               444 drivers/ntb/hw/intel/ntb_hw_gen3.c static int intel_ntb3_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx,
ntb               447 drivers/ntb/hw/intel/ntb_hw_gen3.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               464 drivers/ntb/hw/intel/ntb_hw_gen3.c 	bar_size = pci_resource_len(ndev->ntb.pdev, bar);
ntb               482 drivers/ntb/hw/intel/ntb_hw_gen3.c 	base = pci_resource_start(ndev->ntb.pdev, bar);
ntb               498 drivers/ntb/hw/intel/ntb_hw_gen3.c 	dev_dbg(&ntb->pdev->dev, "BAR %d IMBARXBASE: %#Lx\n", bar, reg_val);
ntb               509 drivers/ntb/hw/intel/ntb_hw_gen3.c 	dev_dbg(&ntb->pdev->dev, "BAR %d IMBARXLMT: %#Lx\n", bar, reg_val);
ntb               530 drivers/ntb/hw/intel/ntb_hw_gen3.c 	dev_dbg(&ntb->pdev->dev, "BAR %d EMBARXLMT: %#Lx\n", bar, reg_val);
ntb               535 drivers/ntb/hw/intel/ntb_hw_gen3.c static int intel_ntb3_peer_db_addr(struct ntb_dev *ntb, phys_addr_t *db_addr,
ntb               540 drivers/ntb/hw/intel/ntb_hw_gen3.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               545 drivers/ntb/hw/intel/ntb_hw_gen3.c 	if (unlikely(BIT_ULL(db_bit) & ~ntb_ndev(ntb)->db_valid_mask))
ntb               553 drivers/ntb/hw/intel/ntb_hw_gen3.c 		dev_dbg(&ndev->ntb.pdev->dev, "Peer db addr %llx db bit %d\n",
ntb               559 drivers/ntb/hw/intel/ntb_hw_gen3.c 		dev_dbg(&ndev->ntb.pdev->dev, "Peer db data %llx db bit %d\n",
ntb               566 drivers/ntb/hw/intel/ntb_hw_gen3.c static int intel_ntb3_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb               568 drivers/ntb/hw/intel/ntb_hw_gen3.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               584 drivers/ntb/hw/intel/ntb_hw_gen3.c static u64 intel_ntb3_db_read(struct ntb_dev *ntb)
ntb               586 drivers/ntb/hw/intel/ntb_hw_gen3.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               593 drivers/ntb/hw/intel/ntb_hw_gen3.c static int intel_ntb3_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb               595 drivers/ntb/hw/intel/ntb_hw_gen3.c 	struct intel_ntb_dev *ndev = ntb_ndev(ntb);
ntb               139 drivers/ntb/hw/intel/ntb_hw_intel.h 	struct ntb_dev			ntb;
ntb               187 drivers/ntb/hw/intel/ntb_hw_intel.h #define ntb_ndev(__ntb) container_of(__ntb, struct intel_ntb_dev, ntb)
ntb                46 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct ntb_dev ntb;
ntb                93 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static struct switchtec_ntb *ntb_sndev(struct ntb_dev *ntb)
ntb                95 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	return container_of(ntb, struct switchtec_ntb, ntb);
ntb               166 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_mw_count(struct ntb_dev *ntb, int pidx)
ntb               168 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               191 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_mw_get_align(struct ntb_dev *ntb, int pidx,
ntb               196 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               270 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx,
ntb               273 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               285 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	if (widx >= switchtec_ntb_mw_count(ntb, pidx))
ntb               341 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_mw_count(struct ntb_dev *ntb)
ntb               343 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               370 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		*base = pci_resource_start(sndev->ntb.pdev, bar) + offset;
ntb               373 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		*size = pci_resource_len(sndev->ntb.pdev, bar) - offset;
ntb               394 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		*base = pci_resource_start(sndev->ntb.pdev, bar) + offset;
ntb               402 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx,
ntb               406 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               410 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	else if (idx < switchtec_ntb_peer_mw_count(ntb))
ntb               509 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		ntb_link_event(&sndev->ntb);
ntb               531 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 			ntb_link_event(&sndev->ntb);
ntb               557 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u64 switchtec_ntb_link_is_up(struct ntb_dev *ntb,
ntb               561 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               571 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_link_enable(struct ntb_dev *ntb,
ntb               575 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               587 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_link_disable(struct ntb_dev *ntb)
ntb               589 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               601 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u64 switchtec_ntb_db_valid_mask(struct ntb_dev *ntb)
ntb               603 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               608 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_db_vector_count(struct ntb_dev *ntb)
ntb               613 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u64 switchtec_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector)
ntb               615 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               623 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u64 switchtec_ntb_db_read(struct ntb_dev *ntb)
ntb               626 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               633 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb               635 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               642 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb               645 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               660 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb               663 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               678 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u64 switchtec_ntb_db_read_mask(struct ntb_dev *ntb)
ntb               680 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               685 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_db_addr(struct ntb_dev *ntb,
ntb               691 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               703 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		*db_addr = pci_resource_start(ntb->pdev, 0) + offset;
ntb               712 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb               714 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               722 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_spad_count(struct ntb_dev *ntb)
ntb               724 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               729 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u32 switchtec_ntb_spad_read(struct ntb_dev *ntb, int idx)
ntb               731 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               742 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_spad_write(struct ntb_dev *ntb, int idx, u32 val)
ntb               744 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               757 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static u32 switchtec_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx,
ntb               760 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               774 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx,
ntb               777 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               793 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static int switchtec_ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx,
ntb               796 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	struct switchtec_ntb *sndev = ntb_sndev(ntb);
ntb               806 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		*spad_addr = pci_resource_start(ntb->pdev, 0) + offset;
ntb               845 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	sndev->ntb.pdev = sndev->stdev->pdev;
ntb               846 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	sndev->ntb.topo = NTB_TOPO_SWITCH;
ntb               847 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	sndev->ntb.ops = &switchtec_ntb_ops;
ntb              1031 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 		size = pci_resource_len(sndev->ntb.pdev, bar) - offset;
ntb              1135 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	sndev->ntb.topo = NTB_TOPO_CROSSLINK;
ntb              1381 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	ntb_db_event(&sndev->ntb, 0);
ntb              1524 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	rc = ntb_register_device(&sndev->ntb);
ntb              1557 drivers/ntb/hw/mscc/ntb_hw_switchtec.c 	ntb_unregister_device(&sndev->ntb);
ntb                31 drivers/ntb/msi.c int ntb_msi_init(struct ntb_dev *ntb,
ntb                42 drivers/ntb/msi.c 	peers = ntb_peer_port_count(ntb);
ntb                46 drivers/ntb/msi.c 	struct_size = sizeof(*ntb->msi) + sizeof(*ntb->msi->peer_mws) * peers;
ntb                48 drivers/ntb/msi.c 	ntb->msi = devm_kzalloc(&ntb->dev, struct_size, GFP_KERNEL);
ntb                49 drivers/ntb/msi.c 	if (!ntb->msi)
ntb                52 drivers/ntb/msi.c 	ntb->msi->desc_changed = desc_changed;
ntb                55 drivers/ntb/msi.c 		peer_widx = ntb_peer_mw_count(ntb) - 1 - i;
ntb                57 drivers/ntb/msi.c 		ret = ntb_peer_mw_get_addr(ntb, peer_widx, &mw_phys_addr,
ntb                62 drivers/ntb/msi.c 		ntb->msi->peer_mws[i] = devm_ioremap(&ntb->dev, mw_phys_addr,
ntb                64 drivers/ntb/msi.c 		if (!ntb->msi->peer_mws[i]) {
ntb                74 drivers/ntb/msi.c 		if (ntb->msi->peer_mws[i])
ntb                75 drivers/ntb/msi.c 			devm_iounmap(&ntb->dev, ntb->msi->peer_mws[i]);
ntb                77 drivers/ntb/msi.c 	devm_kfree(&ntb->dev, ntb->msi);
ntb                78 drivers/ntb/msi.c 	ntb->msi = NULL;
ntb                97 drivers/ntb/msi.c int ntb_msi_setup_mws(struct ntb_dev *ntb)
ntb               108 drivers/ntb/msi.c 	if (!ntb->msi)
ntb               111 drivers/ntb/msi.c 	desc = first_msi_entry(&ntb->pdev->dev);
ntb               114 drivers/ntb/msi.c 	for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
ntb               115 drivers/ntb/msi.c 		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
ntb               119 drivers/ntb/msi.c 		ret = ntb_mw_get_align(ntb, peer, peer_widx, &addr_align,
ntb               127 drivers/ntb/msi.c 	for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
ntb               128 drivers/ntb/msi.c 		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
ntb               134 drivers/ntb/msi.c 		ret = ntb_mw_get_align(ntb, peer, peer_widx, NULL,
ntb               144 drivers/ntb/msi.c 		ret = ntb_mw_set_trans(ntb, peer, peer_widx,
ntb               150 drivers/ntb/msi.c 	ntb->msi->base_addr = addr;
ntb               151 drivers/ntb/msi.c 	ntb->msi->end_addr = addr + mw_min_size;
ntb               157 drivers/ntb/msi.c 		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
ntb               161 drivers/ntb/msi.c 		ntb_mw_clear_trans(ntb, i, peer_widx);
ntb               174 drivers/ntb/msi.c void ntb_msi_clear_mws(struct ntb_dev *ntb)
ntb               179 drivers/ntb/msi.c 	for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
ntb               180 drivers/ntb/msi.c 		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
ntb               184 drivers/ntb/msi.c 		ntb_mw_clear_trans(ntb, peer, peer_widx);
ntb               190 drivers/ntb/msi.c 	struct ntb_dev *ntb;
ntb               195 drivers/ntb/msi.c static int ntb_msi_set_desc(struct ntb_dev *ntb, struct msi_desc *entry,
ntb               203 drivers/ntb/msi.c 	if (addr < ntb->msi->base_addr || addr >= ntb->msi->end_addr) {
ntb               204 drivers/ntb/msi.c 		dev_warn_once(&ntb->dev,
ntb               206 drivers/ntb/msi.c 			      entry->irq, addr, ntb->msi->base_addr,
ntb               207 drivers/ntb/msi.c 			      ntb->msi->end_addr);
ntb               211 drivers/ntb/msi.c 	msi_desc->addr_offset = addr - ntb->msi->base_addr;
ntb               221 drivers/ntb/msi.c 	WARN_ON(ntb_msi_set_desc(dr->ntb, entry, dr->msi_desc));
ntb               223 drivers/ntb/msi.c 	if (dr->ntb->msi->desc_changed)
ntb               224 drivers/ntb/msi.c 		dr->ntb->msi->desc_changed(dr->ntb->ctx);
ntb               235 drivers/ntb/msi.c static int ntbm_msi_setup_callback(struct ntb_dev *ntb, struct msi_desc *entry,
ntb               245 drivers/ntb/msi.c 	dr->ntb = ntb;
ntb               249 drivers/ntb/msi.c 	devres_add(&ntb->dev, dr);
ntb               279 drivers/ntb/msi.c int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler,
ntb               288 drivers/ntb/msi.c 	if (!ntb->msi)
ntb               291 drivers/ntb/msi.c 	for_each_pci_msi_entry(entry, ntb->pdev) {
ntb               296 drivers/ntb/msi.c 		ret = devm_request_threaded_irq(&ntb->dev, entry->irq, handler,
ntb               301 drivers/ntb/msi.c 		if (ntb_msi_set_desc(ntb, entry, msi_desc)) {
ntb               302 drivers/ntb/msi.c 			devm_free_irq(&ntb->dev, entry->irq, dev_id);
ntb               306 drivers/ntb/msi.c 		ret = ntbm_msi_setup_callback(ntb, entry, msi_desc);
ntb               308 drivers/ntb/msi.c 			devm_free_irq(&ntb->dev, entry->irq, dev_id);
ntb               322 drivers/ntb/msi.c 	struct ntb_dev *ntb = dev_ntb(dev);
ntb               325 drivers/ntb/msi.c 	return dr->ntb == ntb && dr->entry == data;
ntb               337 drivers/ntb/msi.c void ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, void *dev_id)
ntb               344 drivers/ntb/msi.c 	WARN_ON(devres_destroy(&ntb->dev, ntbm_msi_callback_release,
ntb               347 drivers/ntb/msi.c 	devm_free_irq(&ntb->dev, irq, dev_id);
ntb               363 drivers/ntb/msi.c int ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer,
ntb               368 drivers/ntb/msi.c 	if (!ntb->msi)
ntb               371 drivers/ntb/msi.c 	idx = desc->addr_offset / sizeof(*ntb->msi->peer_mws[peer]);
ntb               373 drivers/ntb/msi.c 	iowrite32(desc->data, &ntb->msi->peer_mws[peer][idx]);
ntb               393 drivers/ntb/msi.c int ntb_msi_peer_addr(struct ntb_dev *ntb, int peer,
ntb               397 drivers/ntb/msi.c 	int peer_widx = ntb_peer_mw_count(ntb) - 1 - peer;
ntb               401 drivers/ntb/msi.c 	ret = ntb_peer_mw_get_addr(ntb, peer_widx, &mw_phys_addr, NULL);
ntb                20 drivers/ntb/test/ntb_msi_test.c 	struct ntb_dev *ntb;
ntb                48 drivers/ntb/test/ntb_msi_test.c 	dev_dbg(&nm->ntb->dev, "Interrupt Occurred: %d",
ntb                65 drivers/ntb/test/ntb_msi_test.c 	ret = ntb_msi_setup_mws(nm->ntb);
ntb                67 drivers/ntb/test/ntb_msi_test.c 		dev_err(&nm->ntb->dev, "Unable to setup MSI windows: %d\n",
ntb                77 drivers/ntb/test/ntb_msi_test.c 			irq = ntbm_msi_request_irq(nm->ntb, ntb_msit_isr,
ntb                87 drivers/ntb/test/ntb_msi_test.c 		ret = ntb_spad_write(nm->ntb, 2 * i + 1,
ntb                92 drivers/ntb/test/ntb_msi_test.c 		ret = ntb_spad_write(nm->ntb, 2 * i + 2,
ntb               100 drivers/ntb/test/ntb_msi_test.c 	ntb_spad_write(nm->ntb, 0, irq_count);
ntb               101 drivers/ntb/test/ntb_msi_test.c 	ntb_peer_db_set(nm->ntb, BIT(ntb_port_number(nm->ntb)));
ntb               109 drivers/ntb/test/ntb_msi_test.c 	dev_dbg(&nm->ntb->dev, "MSI Descriptors Changed\n");
ntb               112 drivers/ntb/test/ntb_msi_test.c 		ntb_spad_write(nm->ntb, 2 * i + 1,
ntb               114 drivers/ntb/test/ntb_msi_test.c 		ntb_spad_write(nm->ntb, 2 * i + 2,
ntb               118 drivers/ntb/test/ntb_msi_test.c 	ntb_peer_db_set(nm->ntb, BIT(ntb_port_number(nm->ntb)));
ntb               125 drivers/ntb/test/ntb_msi_test.c 	if (!ntb_link_is_up(nm->ntb, NULL, NULL))
ntb               138 drivers/ntb/test/ntb_msi_test.c 		desc[i].addr_offset = ntb_peer_spad_read(nm->ntb, peer,
ntb               140 drivers/ntb/test/ntb_msi_test.c 		desc[i].data = ntb_peer_spad_read(nm->ntb, peer, 2 * i + 2);
ntb               143 drivers/ntb/test/ntb_msi_test.c 	dev_info(&nm->ntb->dev, "Found %d interrupts on peer %d\n",
ntb               153 drivers/ntb/test/ntb_msi_test.c 	u64 peer_mask = ntb_db_read(nm->ntb);
ntb               157 drivers/ntb/test/ntb_msi_test.c 	ntb_db_clear(nm->ntb, peer_mask);
ntb               163 drivers/ntb/test/ntb_msi_test.c 		irq_count = ntb_peer_spad_read(nm->ntb, peer, 0);
ntb               191 drivers/ntb/test/ntb_msi_test.c 	dev_dbg(&peer->nm->ntb->dev, "trigger irq %llu on peer %u\n",
ntb               194 drivers/ntb/test/ntb_msi_test.c 	return ntb_msi_peer_trigger(peer->nm->ntb, peer->pidx,
ntb               205 drivers/ntb/test/ntb_msi_test.c 	*port = ntb_peer_port_number(peer->nm->ntb, peer->pidx);
ntb               261 drivers/ntb/test/ntb_msi_test.c 	*port = ntb_port_number(nm->ntb);
ntb               272 drivers/ntb/test/ntb_msi_test.c 	struct pci_dev *pdev = nm->ntb->pdev;
ntb               282 drivers/ntb/test/ntb_msi_test.c 	for (i = 0; i < ntb_peer_port_count(nm->ntb); i++) {
ntb               319 drivers/ntb/test/ntb_msi_test.c static int ntb_msit_probe(struct ntb_client *client, struct ntb_dev *ntb)
ntb               326 drivers/ntb/test/ntb_msi_test.c 	peers = ntb_peer_port_count(ntb);
ntb               330 drivers/ntb/test/ntb_msi_test.c 	if (ntb_spad_is_unsafe(ntb) || ntb_spad_count(ntb) < 2 * num_irqs + 1) {
ntb               331 drivers/ntb/test/ntb_msi_test.c 		dev_err(&ntb->dev, "NTB MSI test requires at least %d spads for %d irqs\n",
ntb               336 drivers/ntb/test/ntb_msi_test.c 	ret = ntb_spad_write(ntb, 0, -1);
ntb               338 drivers/ntb/test/ntb_msi_test.c 		dev_err(&ntb->dev, "Unable to write spads: %d\n", ret);
ntb               342 drivers/ntb/test/ntb_msi_test.c 	ret = ntb_db_clear_mask(ntb, GENMASK(peers - 1, 0));
ntb               344 drivers/ntb/test/ntb_msi_test.c 		dev_err(&ntb->dev, "Unable to clear doorbell mask: %d\n", ret);
ntb               348 drivers/ntb/test/ntb_msi_test.c 	ret = ntb_msi_init(ntb, ntb_msit_desc_changed);
ntb               350 drivers/ntb/test/ntb_msi_test.c 		dev_err(&ntb->dev, "Unable to initialize MSI library: %d\n",
ntb               357 drivers/ntb/test/ntb_msi_test.c 	nm = devm_kzalloc(&ntb->dev, struct_size, GFP_KERNEL);
ntb               361 drivers/ntb/test/ntb_msi_test.c 	nm->isr_ctx = devm_kcalloc(&ntb->dev, num_irqs, sizeof(*nm->isr_ctx),
ntb               367 drivers/ntb/test/ntb_msi_test.c 	nm->ntb = ntb;
ntb               371 drivers/ntb/test/ntb_msi_test.c 	ret = ntb_set_ctx(ntb, nm, &ntb_msit_ops);
ntb               378 drivers/ntb/test/ntb_msi_test.c 	ntb_link_enable(ntb, NTB_SPEED_AUTO, NTB_WIDTH_AUTO);
ntb               384 drivers/ntb/test/ntb_msi_test.c 	devm_kfree(&ntb->dev, nm->isr_ctx);
ntb               385 drivers/ntb/test/ntb_msi_test.c 	devm_kfree(&ntb->dev, nm);
ntb               389 drivers/ntb/test/ntb_msi_test.c static void ntb_msit_remove(struct ntb_client *client, struct ntb_dev *ntb)
ntb               391 drivers/ntb/test/ntb_msi_test.c 	struct ntb_msit_ctx *nm = ntb->ctx;
ntb               394 drivers/ntb/test/ntb_msi_test.c 	ntb_link_disable(ntb);
ntb               395 drivers/ntb/test/ntb_msi_test.c 	ntb_db_set_mask(ntb, ntb_db_valid_mask(ntb));
ntb               396 drivers/ntb/test/ntb_msi_test.c 	ntb_msi_clear_mws(ntb);
ntb               398 drivers/ntb/test/ntb_msi_test.c 	for (i = 0; i < ntb_peer_port_count(ntb); i++)
ntb               401 drivers/ntb/test/ntb_msi_test.c 	ntb_clear_ctx(ntb);
ntb               185 drivers/ntb/test/ntb_perf.c 	struct ntb_dev *ntb;
ntb               250 drivers/ntb/test/ntb_perf.c 	link = ntb_link_is_up(peer->perf->ntb, NULL, NULL);
ntb               261 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "CMD send: %d 0x%llx\n", cmd, data);
ntb               274 drivers/ntb/test/ntb_perf.c 		sts = ntb_peer_spad_read(perf->ntb, peer->pidx,
ntb               281 drivers/ntb/test/ntb_perf.c 		ntb_peer_spad_write(perf->ntb, peer->pidx,
ntb               284 drivers/ntb/test/ntb_perf.c 		ntb_peer_spad_write(perf->ntb, peer->pidx,
ntb               287 drivers/ntb/test/ntb_perf.c 		ntb_peer_spad_write(perf->ntb, peer->pidx,
ntb               290 drivers/ntb/test/ntb_perf.c 		ntb_peer_db_set(perf->ntb, PERF_SPAD_NOTIFY(peer->gidx));
ntb               292 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "DB ring peer %#llx\n",
ntb               307 drivers/ntb/test/ntb_perf.c 	ntb_db_clear(perf->ntb, PERF_SPAD_NOTIFY(perf->gidx));
ntb               321 drivers/ntb/test/ntb_perf.c 		val = ntb_spad_read(perf->ntb, PERF_SPAD_CMD(peer->gidx));
ntb               327 drivers/ntb/test/ntb_perf.c 		val = ntb_spad_read(perf->ntb, PERF_SPAD_LDATA(peer->gidx));
ntb               330 drivers/ntb/test/ntb_perf.c 		val = ntb_spad_read(perf->ntb, PERF_SPAD_HDATA(peer->gidx));
ntb               334 drivers/ntb/test/ntb_perf.c 		ntb_spad_write(perf->ntb, PERF_SPAD_CMD(peer->gidx),
ntb               337 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "CMD recv: %d 0x%llx\n", *cmd, *data);
ntb               352 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "CMD send: %d 0x%llx\n", cmd, data);
ntb               361 drivers/ntb/test/ntb_perf.c 	outbits = ntb_msg_outbits(perf->ntb);
ntb               366 drivers/ntb/test/ntb_perf.c 		ret = ntb_msg_clear_sts(perf->ntb, outbits);
ntb               370 drivers/ntb/test/ntb_perf.c 		ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_LDATA,
ntb               373 drivers/ntb/test/ntb_perf.c 		if (ntb_msg_read_sts(perf->ntb) & outbits) {
ntb               378 drivers/ntb/test/ntb_perf.c 		ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_HDATA,
ntb               382 drivers/ntb/test/ntb_perf.c 		ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_CMD, cmd);
ntb               396 drivers/ntb/test/ntb_perf.c 	inbits = ntb_msg_inbits(perf->ntb);
ntb               398 drivers/ntb/test/ntb_perf.c 	if (hweight64(ntb_msg_read_sts(perf->ntb) & inbits) < 3)
ntb               401 drivers/ntb/test/ntb_perf.c 	val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_CMD);
ntb               404 drivers/ntb/test/ntb_perf.c 	val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_LDATA);
ntb               407 drivers/ntb/test/ntb_perf.c 	val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_HDATA);
ntb               411 drivers/ntb/test/ntb_perf.c 	ntb_msg_clear_sts(perf->ntb, inbits);
ntb               413 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "CMD recv: %d 0x%llx\n", *cmd, *data);
ntb               425 drivers/ntb/test/ntb_perf.c 	dev_err(&perf->ntb->dev, "Send invalid command\n");
ntb               439 drivers/ntb/test/ntb_perf.c 		dev_err(&peer->perf->ntb->dev, "Exec invalid command\n");
ntb               446 drivers/ntb/test/ntb_perf.c 	dev_dbg(&peer->perf->ntb->dev, "CMD exec: %d\n", cmd);
ntb               470 drivers/ntb/test/ntb_perf.c 			dev_err(&perf->ntb->dev, "Recv invalid command\n");
ntb               505 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "DB vec %d mask %#llx bits %#llx\n", vec,
ntb               506 drivers/ntb/test/ntb_perf.c 		ntb_db_vector_mask(perf->ntb, vec), ntb_db_read(perf->ntb));
ntb               516 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "Msg status bits %#llx\n",
ntb               517 drivers/ntb/test/ntb_perf.c 		ntb_msg_read_sts(perf->ntb));
ntb               531 drivers/ntb/test/ntb_perf.c 	(void)ntb_peer_mw_clear_trans(peer->perf->ntb, peer->pidx, peer->gidx);
ntb               540 drivers/ntb/test/ntb_perf.c 	ret = ntb_peer_mw_set_trans(perf->ntb, peer->pidx, peer->gidx,
ntb               543 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Failed to set outbuf translation\n");
ntb               558 drivers/ntb/test/ntb_perf.c 	(void)ntb_mw_clear_trans(peer->perf->ntb, peer->pidx, peer->gidx);
ntb               559 drivers/ntb/test/ntb_perf.c 	dma_free_coherent(&peer->perf->ntb->dev, peer->inbuf_size,
ntb               571 drivers/ntb/test/ntb_perf.c 	ret = ntb_mw_get_align(perf->ntb, peer->pidx, perf->gidx,
ntb               574 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Couldn't get inbuf restrictions\n");
ntb               579 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Too big inbuf size %pa > %pa\n",
ntb               588 drivers/ntb/test/ntb_perf.c 	peer->inbuf = dma_alloc_coherent(&perf->ntb->dev, peer->inbuf_size,
ntb               591 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Failed to alloc inbuf of %pa\n",
ntb               596 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Unaligned inbuf allocated\n");
ntb               600 drivers/ntb/test/ntb_perf.c 	ret = ntb_mw_set_trans(perf->ntb, peer->pidx, peer->gidx,
ntb               603 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Failed to set inbuf translation\n");
ntb               642 drivers/ntb/test/ntb_perf.c 			dev_warn(&peer->perf->ntb->dev,
ntb               655 drivers/ntb/test/ntb_perf.c 	if (ntb_peer_mw_count(perf->ntb) < perf->pcnt + 1) {
ntb               656 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "Not enough memory windows\n");
ntb               660 drivers/ntb/test/ntb_perf.c 	if (ntb_msg_count(perf->ntb) >= PERF_MSG_CNT) {
ntb               664 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "Message service initialized\n");
ntb               669 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "Message service unsupported\n");
ntb               672 drivers/ntb/test/ntb_perf.c 	if (ntb_spad_count(perf->ntb) >= PERF_SPAD_CNT(perf->pcnt) &&
ntb               673 drivers/ntb/test/ntb_perf.c 	    (ntb_db_valid_mask(perf->ntb) & mask) == mask) {
ntb               677 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "Scratchpad service initialized\n");
ntb               682 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "Scratchpad service unsupported\n");
ntb               684 drivers/ntb/test/ntb_perf.c 	dev_err(&perf->ntb->dev, "Command services unsupported\n");
ntb               694 drivers/ntb/test/ntb_perf.c 	mask = ntb_db_valid_mask(perf->ntb);
ntb               695 drivers/ntb/test/ntb_perf.c 	(void)ntb_db_set_mask(perf->ntb, mask);
ntb               697 drivers/ntb/test/ntb_perf.c 	ret = ntb_set_ctx(perf->ntb, perf, &perf_ops);
ntb               704 drivers/ntb/test/ntb_perf.c 		inbits = ntb_msg_inbits(perf->ntb);
ntb               705 drivers/ntb/test/ntb_perf.c 		outbits = ntb_msg_outbits(perf->ntb);
ntb               706 drivers/ntb/test/ntb_perf.c 		(void)ntb_msg_set_mask(perf->ntb, inbits | outbits);
ntb               709 drivers/ntb/test/ntb_perf.c 		ret = ntb_msg_clear_mask(perf->ntb, incmd_bit);
ntb               711 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "MSG sts unmasked %#llx\n", incmd_bit);
ntb               713 drivers/ntb/test/ntb_perf.c 		scnt = ntb_spad_count(perf->ntb);
ntb               715 drivers/ntb/test/ntb_perf.c 			ntb_spad_write(perf->ntb, sidx, PERF_CMD_INVAL);
ntb               717 drivers/ntb/test/ntb_perf.c 		ret = ntb_db_clear_mask(perf->ntb, incmd_bit);
ntb               719 drivers/ntb/test/ntb_perf.c 		dev_dbg(&perf->ntb->dev, "DB bits unmasked %#llx\n", incmd_bit);
ntb               722 drivers/ntb/test/ntb_perf.c 		ntb_clear_ctx(perf->ntb);
ntb               726 drivers/ntb/test/ntb_perf.c 	ntb_link_enable(perf->ntb, NTB_SPEED_AUTO, NTB_WIDTH_AUTO);
ntb               728 drivers/ntb/test/ntb_perf.c 	ntb_link_event(perf->ntb);
ntb               740 drivers/ntb/test/ntb_perf.c 		inbits = ntb_msg_inbits(perf->ntb);
ntb               741 drivers/ntb/test/ntb_perf.c 		(void)ntb_msg_set_mask(perf->ntb, inbits);
ntb               743 drivers/ntb/test/ntb_perf.c 		(void)ntb_db_set_mask(perf->ntb, PERF_SPAD_NOTIFY(perf->gidx));
ntb               746 drivers/ntb/test/ntb_perf.c 	ntb_clear_ctx(perf->ntb);
ntb               757 drivers/ntb/test/ntb_perf.c 		ntb_spad_write(perf->ntb, PERF_SPAD_CMD(peer->gidx), 0);
ntb               760 drivers/ntb/test/ntb_perf.c 	ntb_db_clear(perf->ntb, PERF_SPAD_NOTIFY(perf->gidx));
ntb               762 drivers/ntb/test/ntb_perf.c 	ntb_link_disable(perf->ntb);
ntb               859 drivers/ntb/test/ntb_perf.c 	node = dev_to_node(&perf->ntb->dev);
ntb               870 drivers/ntb/test/ntb_perf.c 				 dev_to_node(&perf->ntb->dev));
ntb               883 drivers/ntb/test/ntb_perf.c 		dev_err(&perf->ntb->dev, "%d: Failed to get DMA channel\n",
ntb               919 drivers/ntb/test/ntb_perf.c 			dev_err(&perf->ntb->dev, "%d: Got error %d on test\n",
ntb               957 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "%d: copied %llu bytes\n",
ntb               960 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "%d: lasted %llu usecs\n",
ntb               963 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "%d: %llu MBytes/s\n", pthr->tidx,
ntb              1170 drivers/ntb/test/ntb_perf.c 		"Local port %d, Global index %d\n", ntb_port_number(perf->ntb),
ntb              1176 drivers/ntb/test/ntb_perf.c 			ntb_peer_port_number(perf->ntb, perf->test_peer->pidx),
ntb              1187 drivers/ntb/test/ntb_perf.c 			ntb_peer_port_number(perf->ntb, peer->pidx), peer->pidx,
ntb              1320 drivers/ntb/test/ntb_perf.c 	struct pci_dev *pdev = perf->ntb->pdev;
ntb              1324 drivers/ntb/test/ntb_perf.c 		dev_warn(&perf->ntb->dev, "DebugFS unsupported\n");
ntb              1355 drivers/ntb/test/ntb_perf.c static struct perf_ctx *perf_create_data(struct ntb_dev *ntb)
ntb              1359 drivers/ntb/test/ntb_perf.c 	perf = devm_kzalloc(&ntb->dev, sizeof(*perf), GFP_KERNEL);
ntb              1363 drivers/ntb/test/ntb_perf.c 	perf->pcnt = ntb_peer_port_count(ntb);
ntb              1364 drivers/ntb/test/ntb_perf.c 	perf->peers = devm_kcalloc(&ntb->dev, perf->pcnt, sizeof(*perf->peers),
ntb              1369 drivers/ntb/test/ntb_perf.c 	perf->ntb = ntb;
ntb              1381 drivers/ntb/test/ntb_perf.c 	ret = ntb_peer_mw_get_addr(perf->ntb, perf->gidx, &phys_addr,
ntb              1386 drivers/ntb/test/ntb_perf.c 	peer->outbuf = devm_ioremap_wc(&perf->ntb->dev, phys_addr,
ntb              1393 drivers/ntb/test/ntb_perf.c 		dev_warn(&peer->perf->ntb->dev,
ntb              1406 drivers/ntb/test/ntb_perf.c 	lport = ntb_port_number(perf->ntb);
ntb              1413 drivers/ntb/test/ntb_perf.c 		if (lport < ntb_peer_port_number(perf->ntb, pidx)) {
ntb              1431 drivers/ntb/test/ntb_perf.c 	dev_dbg(&perf->ntb->dev, "Global port index %d\n", perf->gidx);
ntb              1436 drivers/ntb/test/ntb_perf.c static int perf_probe(struct ntb_client *client, struct ntb_dev *ntb)
ntb              1441 drivers/ntb/test/ntb_perf.c 	perf = perf_create_data(ntb);
ntb              1464 drivers/ntb/test/ntb_perf.c static void perf_remove(struct ntb_client *client, struct ntb_dev *ntb)
ntb              1466 drivers/ntb/test/ntb_perf.c 	struct perf_ctx *perf = ntb->ctx;
ntb               100 drivers/ntb/test/ntb_pingpong.c 	struct ntb_dev *ntb;
ntb               121 drivers/ntb/test/ntb_pingpong.c 	link = ntb_link_is_up(pp->ntb, NULL, NULL);
ntb               146 drivers/ntb/test/ntb_pingpong.c 	ntb_db_set_mask(pp->ntb, pp->in_db);
ntb               152 drivers/ntb/test/ntb_pingpong.c 		dev_dbg(&pp->ntb->dev, "Got no peers, so cancel\n");
ntb               156 drivers/ntb/test/ntb_pingpong.c 	dev_dbg(&pp->ntb->dev, "Ping-pong started with port %d, db %#llx\n",
ntb               157 drivers/ntb/test/ntb_pingpong.c 		ntb_peer_port_number(pp->ntb, pp->out_pidx), pp->out_db);
ntb               166 drivers/ntb/test/ntb_pingpong.c 	ntb_db_set_mask(pp->ntb, pp->in_db);
ntb               168 drivers/ntb/test/ntb_pingpong.c 	dev_dbg(&pp->ntb->dev, "Ping-pong cancelled\n");
ntb               178 drivers/ntb/test/ntb_pingpong.c 	ntb_peer_spad_write(pp->ntb, pp->out_pidx, 0, count);
ntb               179 drivers/ntb/test/ntb_pingpong.c 	ntb_peer_msg_write(pp->ntb, pp->out_pidx, 0, count);
ntb               181 drivers/ntb/test/ntb_pingpong.c 	dev_dbg(&pp->ntb->dev, "Ping port %d spad %#x, msg %#x\n",
ntb               182 drivers/ntb/test/ntb_pingpong.c 		ntb_peer_port_number(pp->ntb, pp->out_pidx), count, count);
ntb               184 drivers/ntb/test/ntb_pingpong.c 	ntb_peer_db_set(pp->ntb, pp->out_db);
ntb               185 drivers/ntb/test/ntb_pingpong.c 	ntb_db_clear_mask(pp->ntb, pp->in_db);
ntb               195 drivers/ntb/test/ntb_pingpong.c 	spad_data = ntb_spad_read(pp->ntb, 0);
ntb               196 drivers/ntb/test/ntb_pingpong.c 	msg_data = ntb_msg_read(pp->ntb, &pidx, 0);
ntb               197 drivers/ntb/test/ntb_pingpong.c 	ntb_msg_clear_sts(pp->ntb, -1);
ntb               204 drivers/ntb/test/ntb_pingpong.c 	dev_dbg(&pp->ntb->dev, "Pong spad %#x, msg %#x (port %d)\n",
ntb               205 drivers/ntb/test/ntb_pingpong.c 		spad_data, msg_data, ntb_peer_port_number(pp->ntb, pidx));
ntb               209 drivers/ntb/test/ntb_pingpong.c 	ntb_db_set_mask(pp->ntb, pp->in_db);
ntb               210 drivers/ntb/test/ntb_pingpong.c 	ntb_db_clear(pp->ntb, pp->in_db);
ntb               243 drivers/ntb/test/ntb_pingpong.c static int pp_check_ntb(struct ntb_dev *ntb)
ntb               247 drivers/ntb/test/ntb_pingpong.c 	if (ntb_db_is_unsafe(ntb)) {
ntb               248 drivers/ntb/test/ntb_pingpong.c 		dev_dbg(&ntb->dev, "Doorbell is unsafe\n");
ntb               253 drivers/ntb/test/ntb_pingpong.c 	if (ntb_spad_is_unsafe(ntb)) {
ntb               254 drivers/ntb/test/ntb_pingpong.c 		dev_dbg(&ntb->dev, "Scratchpad is unsafe\n");
ntb               259 drivers/ntb/test/ntb_pingpong.c 	pmask = GENMASK_ULL(ntb_peer_port_count(ntb), 0);
ntb               260 drivers/ntb/test/ntb_pingpong.c 	if ((ntb_db_valid_mask(ntb) & pmask) != pmask) {
ntb               261 drivers/ntb/test/ntb_pingpong.c 		dev_err(&ntb->dev, "Unsupported DB configuration\n");
ntb               265 drivers/ntb/test/ntb_pingpong.c 	if (ntb_spad_count(ntb) < 1 && ntb_msg_count(ntb) < 1) {
ntb               266 drivers/ntb/test/ntb_pingpong.c 		dev_err(&ntb->dev, "Scratchpads and messages unsupported\n");
ntb               268 drivers/ntb/test/ntb_pingpong.c 	} else if (ntb_spad_count(ntb) < 1) {
ntb               269 drivers/ntb/test/ntb_pingpong.c 		dev_dbg(&ntb->dev, "Scratchpads unsupported\n");
ntb               270 drivers/ntb/test/ntb_pingpong.c 	} else if (ntb_msg_count(ntb) < 1) {
ntb               271 drivers/ntb/test/ntb_pingpong.c 		dev_dbg(&ntb->dev, "Messages unsupported\n");
ntb               277 drivers/ntb/test/ntb_pingpong.c static struct pp_ctx *pp_create_data(struct ntb_dev *ntb)
ntb               281 drivers/ntb/test/ntb_pingpong.c 	pp = devm_kzalloc(&ntb->dev, sizeof(*pp), GFP_KERNEL);
ntb               285 drivers/ntb/test/ntb_pingpong.c 	pp->ntb = ntb;
ntb               299 drivers/ntb/test/ntb_pingpong.c 	lport = ntb_port_number(pp->ntb);
ntb               300 drivers/ntb/test/ntb_pingpong.c 	pcnt = ntb_peer_port_count(pp->ntb);
ntb               302 drivers/ntb/test/ntb_pingpong.c 		if (lport < ntb_peer_port_number(pp->ntb, pidx))
ntb               310 drivers/ntb/test/ntb_pingpong.c 	dev_dbg(&pp->ntb->dev, "Inbound db %#llx, prev %#llx, next %#llx\n",
ntb               319 drivers/ntb/test/ntb_pingpong.c 	db_mask = ntb_db_valid_mask(pp->ntb);
ntb               320 drivers/ntb/test/ntb_pingpong.c 	ret = ntb_db_set_mask(pp->ntb, db_mask);
ntb               325 drivers/ntb/test/ntb_pingpong.c 	if (ntb_msg_count(pp->ntb) < 1)
ntb               328 drivers/ntb/test/ntb_pingpong.c 	msg_mask = ntb_msg_outbits(pp->ntb) | ntb_msg_inbits(pp->ntb);
ntb               329 drivers/ntb/test/ntb_pingpong.c 	return ntb_msg_set_mask(pp->ntb, msg_mask);
ntb               336 drivers/ntb/test/ntb_pingpong.c 	ret = ntb_set_ctx(pp->ntb, pp, &pp_ops);
ntb               340 drivers/ntb/test/ntb_pingpong.c 	ntb_link_enable(pp->ntb, NTB_SPEED_AUTO, NTB_WIDTH_AUTO);
ntb               342 drivers/ntb/test/ntb_pingpong.c 	ntb_link_event(pp->ntb);
ntb               349 drivers/ntb/test/ntb_pingpong.c 	ntb_link_disable(pp->ntb);
ntb               351 drivers/ntb/test/ntb_pingpong.c 	ntb_clear_ctx(pp->ntb);
ntb               356 drivers/ntb/test/ntb_pingpong.c 	struct pci_dev *pdev = pp->ntb->pdev;
ntb               363 drivers/ntb/test/ntb_pingpong.c 		dev_warn(&pp->ntb->dev, "DebugFS unsupported\n");
ntb               371 drivers/ntb/test/ntb_pingpong.c static int pp_probe(struct ntb_client *client, struct ntb_dev *ntb)
ntb               376 drivers/ntb/test/ntb_pingpong.c 	ret = pp_check_ntb(ntb);
ntb               380 drivers/ntb/test/ntb_pingpong.c 	pp = pp_create_data(ntb);
ntb               399 drivers/ntb/test/ntb_pingpong.c static void pp_remove(struct ntb_client *client, struct ntb_dev *ntb)
ntb               401 drivers/ntb/test/ntb_pingpong.c 	struct pp_ctx *pp = ntb->ctx;
ntb               257 drivers/ntb/test/ntb_tool.c 	struct ntb_dev *ntb;
ntb               296 drivers/ntb/test/ntb_tool.c 	up = ntb_link_is_up(tc->ntb, &speed, &width);
ntb               298 drivers/ntb/test/ntb_tool.c 	dev_dbg(&tc->ntb->dev, "link is %s speed %d width %d\n",
ntb               309 drivers/ntb/test/ntb_tool.c 	db_mask = ntb_db_vector_mask(tc->ntb, vec);
ntb               310 drivers/ntb/test/ntb_tool.c 	db_bits = ntb_db_read(tc->ntb);
ntb               312 drivers/ntb/test/ntb_tool.c 	dev_dbg(&tc->ntb->dev, "doorbell vec %d mask %#llx bits %#llx\n",
ntb               323 drivers/ntb/test/ntb_tool.c 	msg_sts = ntb_msg_read_sts(tc->ntb);
ntb               325 drivers/ntb/test/ntb_tool.c 	dev_dbg(&tc->ntb->dev, "message bits %#llx\n", msg_sts);
ntb               354 drivers/ntb/test/ntb_tool.c 	pos = scnprintf(buf, buf_size, "%#llx\n", fn_read(tc->ntb));
ntb               392 drivers/ntb/test/ntb_tool.c 			ret = fn_set(tc->ntb, bits);
ntb               397 drivers/ntb/test/ntb_tool.c 			ret = fn_clear(tc->ntb, bits);
ntb               417 drivers/ntb/test/ntb_tool.c 	pos = scnprintf(buf, sizeof(buf), "%d\n", ntb_port_number(tc->ntb));
ntb               435 drivers/ntb/test/ntb_tool.c 		ntb_peer_port_number(tc->ntb, peer->pidx));
ntb               448 drivers/ntb/test/ntb_tool.c 	tc->peer_cnt = ntb_peer_port_count(tc->ntb);
ntb               449 drivers/ntb/test/ntb_tool.c 	tc->peers = devm_kcalloc(&tc->ntb->dev, tc->peer_cnt,
ntb               479 drivers/ntb/test/ntb_tool.c 		ret = ntb_link_enable(tc->ntb, NTB_SPEED_AUTO, NTB_WIDTH_AUTO);
ntb               481 drivers/ntb/test/ntb_tool.c 		ret = ntb_link_disable(tc->ntb);
ntb               500 drivers/ntb/test/ntb_tool.c 	if (ntb_link_is_up(tc->ntb, NULL, NULL) & BIT(peer->pidx))
ntb               531 drivers/ntb/test/ntb_tool.c 		!!(ntb_link_is_up(tc->ntb, NULL, NULL) & link_msk) == val))
ntb               585 drivers/ntb/test/ntb_tool.c 	ret = ntb_mw_get_align(tc->ntb, pidx, widx, &addr_align,
ntb               593 drivers/ntb/test/ntb_tool.c 	inmw->mm_base = dma_alloc_coherent(&tc->ntb->dev, inmw->size,
ntb               603 drivers/ntb/test/ntb_tool.c 	ret = ntb_mw_set_trans(tc->ntb, pidx, widx, inmw->dma_base, inmw->size);
ntb               615 drivers/ntb/test/ntb_tool.c 	dma_free_coherent(&tc->ntb->dev, inmw->size, inmw->mm_base,
ntb               631 drivers/ntb/test/ntb_tool.c 		ntb_mw_clear_trans(tc->ntb, pidx, widx);
ntb               632 drivers/ntb/test/ntb_tool.c 		dma_free_coherent(&tc->ntb->dev, inmw->size,
ntb               659 drivers/ntb/test/ntb_tool.c 	ret = ntb_mw_get_align(inmw->tc->ntb, inmw->pidx, inmw->widx,
ntb               670 drivers/ntb/test/ntb_tool.c 			 ntb_peer_port_number(inmw->tc->ntb, inmw->pidx),
ntb               821 drivers/ntb/test/ntb_tool.c 	ret = ntb_peer_mw_get_addr(tc->ntb, widx, &map_base, &map_size);
ntb               825 drivers/ntb/test/ntb_tool.c 	ret = ntb_peer_mw_set_trans(tc->ntb, pidx, widx, req_addr, req_size);
ntb               847 drivers/ntb/test/ntb_tool.c 	ntb_peer_mw_clear_trans(tc->ntb, pidx, widx);
ntb               860 drivers/ntb/test/ntb_tool.c 		ntb_peer_mw_clear_trans(tc->ntb, outmw->pidx, widx);
ntb               882 drivers/ntb/test/ntb_tool.c 	ret = ntb_peer_mw_get_addr(outmw->tc->ntb, outmw->widx,
ntb               899 drivers/ntb/test/ntb_tool.c 			ntb_peer_port_number(outmw->tc->ntb, outmw->pidx),
ntb               968 drivers/ntb/test/ntb_tool.c 	tc->outmw_cnt = ntb_peer_mw_count(tc->ntb);
ntb               969 drivers/ntb/test/ntb_tool.c 	tc->outmws = devm_kcalloc(&tc->ntb->dev, tc->outmw_cnt,
ntb               982 drivers/ntb/test/ntb_tool.c 		tc->peers[pidx].inmw_cnt = ntb_mw_count(tc->ntb, pidx);
ntb               984 drivers/ntb/test/ntb_tool.c 			devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].inmw_cnt,
ntb               995 drivers/ntb/test/ntb_tool.c 		tc->peers[pidx].outmw_cnt = ntb_peer_mw_count(tc->ntb);
ntb               997 drivers/ntb/test/ntb_tool.c 			devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
ntb              1033 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->db_read);
ntb              1041 drivers/ntb/test/ntb_tool.c 	return tool_fn_write(tc, ubuf, size, offp, tc->ntb->ops->db_set,
ntb              1042 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->db_clear);
ntb              1054 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->db_valid_mask);
ntb              1066 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->db_read_mask);
ntb              1074 drivers/ntb/test/ntb_tool.c 	return tool_fn_write(tc, ubuf, size, offp, tc->ntb->ops->db_set_mask,
ntb              1075 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->db_clear_mask);
ntb              1087 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->peer_db_read);
ntb              1095 drivers/ntb/test/ntb_tool.c 	return tool_fn_write(tc, ubuf, size, offp, tc->ntb->ops->peer_db_set,
ntb              1096 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->peer_db_clear);
ntb              1109 drivers/ntb/test/ntb_tool.c 			    tc->ntb->ops->peer_db_read_mask);
ntb              1119 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->peer_db_set_mask,
ntb              1120 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->peer_db_clear_mask);
ntb              1139 drivers/ntb/test/ntb_tool.c 	if (wait_event_interruptible(tc->db_wq, ntb_db_read(tc->ntb) == val))
ntb              1161 drivers/ntb/test/ntb_tool.c 	if (!spad->tc->ntb->ops->spad_read)
ntb              1165 drivers/ntb/test/ntb_tool.c 		ntb_spad_read(spad->tc->ntb, spad->sidx));
ntb              1177 drivers/ntb/test/ntb_tool.c 	if (!spad->tc->ntb->ops->spad_write) {
ntb              1178 drivers/ntb/test/ntb_tool.c 		dev_dbg(&spad->tc->ntb->dev, "no spad write fn\n");
ntb              1186 drivers/ntb/test/ntb_tool.c 	ret = ntb_spad_write(spad->tc->ntb, spad->sidx, val);
ntb              1202 drivers/ntb/test/ntb_tool.c 	if (!spad->tc->ntb->ops->peer_spad_read)
ntb              1206 drivers/ntb/test/ntb_tool.c 		ntb_peer_spad_read(spad->tc->ntb, spad->pidx, spad->sidx));
ntb              1218 drivers/ntb/test/ntb_tool.c 	if (!spad->tc->ntb->ops->peer_spad_write) {
ntb              1219 drivers/ntb/test/ntb_tool.c 		dev_dbg(&spad->tc->ntb->dev, "no spad write fn\n");
ntb              1227 drivers/ntb/test/ntb_tool.c 	ret = ntb_peer_spad_write(spad->tc->ntb, spad->pidx, spad->sidx, val);
ntb              1241 drivers/ntb/test/ntb_tool.c 	tc->inspad_cnt = ntb_spad_count(tc->ntb);
ntb              1242 drivers/ntb/test/ntb_tool.c 	tc->inspads = devm_kcalloc(&tc->ntb->dev, tc->inspad_cnt,
ntb              1255 drivers/ntb/test/ntb_tool.c 		tc->peers[pidx].outspad_cnt = ntb_spad_count(tc->ntb);
ntb              1257 drivers/ntb/test/ntb_tool.c 			devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outspad_cnt,
ntb              1286 drivers/ntb/test/ntb_tool.c 	data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx);
ntb              1309 drivers/ntb/test/ntb_tool.c 	ret = ntb_peer_msg_write(msg->tc->ntb, msg->pidx, msg->midx, val);
ntb              1323 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->msg_read_sts);
ntb              1332 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->msg_clear_sts);
ntb              1344 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->msg_inbits);
ntb              1356 drivers/ntb/test/ntb_tool.c 	return tool_fn_read(tc, ubuf, size, offp, tc->ntb->ops->msg_outbits);
ntb              1369 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->msg_set_mask,
ntb              1370 drivers/ntb/test/ntb_tool.c 			     tc->ntb->ops->msg_clear_mask);
ntb              1390 drivers/ntb/test/ntb_tool.c 		ntb_msg_read_sts(tc->ntb) == val))
ntb              1405 drivers/ntb/test/ntb_tool.c 	tc->inmsg_cnt = ntb_msg_count(tc->ntb);
ntb              1406 drivers/ntb/test/ntb_tool.c 	tc->inmsgs = devm_kcalloc(&tc->ntb->dev, tc->inmsg_cnt,
ntb              1419 drivers/ntb/test/ntb_tool.c 		tc->peers[pidx].outmsg_cnt = ntb_msg_count(tc->ntb);
ntb              1421 drivers/ntb/test/ntb_tool.c 			devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmsg_cnt,
ntb              1441 drivers/ntb/test/ntb_tool.c static struct tool_ctx *tool_create_data(struct ntb_dev *ntb)
ntb              1445 drivers/ntb/test/ntb_tool.c 	tc = devm_kzalloc(&ntb->dev, sizeof(*tc), GFP_KERNEL);
ntb              1449 drivers/ntb/test/ntb_tool.c 	tc->ntb = ntb;
ntb              1454 drivers/ntb/test/ntb_tool.c 	if (ntb_db_is_unsafe(ntb))
ntb              1455 drivers/ntb/test/ntb_tool.c 		dev_dbg(&ntb->dev, "doorbell is unsafe\n");
ntb              1457 drivers/ntb/test/ntb_tool.c 	if (ntb_spad_is_unsafe(ntb))
ntb              1458 drivers/ntb/test/ntb_tool.c 		dev_dbg(&ntb->dev, "scratchpad is unsafe\n");
ntb              1472 drivers/ntb/test/ntb_tool.c 	return ntb_set_ctx(tc->ntb, tc, &tool_ops);
ntb              1477 drivers/ntb/test/ntb_tool.c 	ntb_clear_ctx(tc->ntb);
ntb              1478 drivers/ntb/test/ntb_tool.c 	ntb_link_disable(tc->ntb);
ntb              1492 drivers/ntb/test/ntb_tool.c 	tc->dbgfs_dir = debugfs_create_dir(dev_name(&tc->ntb->dev),
ntb              1610 drivers/ntb/test/ntb_tool.c static int tool_probe(struct ntb_client *self, struct ntb_dev *ntb)
ntb              1615 drivers/ntb/test/ntb_tool.c 	tc = tool_create_data(ntb);
ntb              1652 drivers/ntb/test/ntb_tool.c static void tool_remove(struct ntb_client *self, struct ntb_dev *ntb)
ntb              1654 drivers/ntb/test/ntb_tool.c 	struct tool_ctx *tc = ntb->ctx;
ntb               144 include/linux/genl_magic_func.h 	struct nlattr **ntb = nested_attr_tb;				\
ntb               151 include/linux/genl_magic_func.h 	err = drbd_nla_parse_nested(ntb, maxtype, tla, s_name ## _nl_policy);	\
ntb               170 include/linux/genl_magic_func.h 		nla = ntb[attr_nr];						\
ntb               174 include/linux/ntb.h 	int (*probe)(struct ntb_client *client, struct ntb_dev *ntb);
ntb               175 include/linux/ntb.h 	void (*remove)(struct ntb_client *client, struct ntb_dev *ntb);
ntb               261 include/linux/ntb.h 	int (*port_number)(struct ntb_dev *ntb);
ntb               262 include/linux/ntb.h 	int (*peer_port_count)(struct ntb_dev *ntb);
ntb               263 include/linux/ntb.h 	int (*peer_port_number)(struct ntb_dev *ntb, int pidx);
ntb               264 include/linux/ntb.h 	int (*peer_port_idx)(struct ntb_dev *ntb, int port);
ntb               266 include/linux/ntb.h 	u64 (*link_is_up)(struct ntb_dev *ntb,
ntb               268 include/linux/ntb.h 	int (*link_enable)(struct ntb_dev *ntb,
ntb               270 include/linux/ntb.h 	int (*link_disable)(struct ntb_dev *ntb);
ntb               272 include/linux/ntb.h 	int (*mw_count)(struct ntb_dev *ntb, int pidx);
ntb               273 include/linux/ntb.h 	int (*mw_get_align)(struct ntb_dev *ntb, int pidx, int widx,
ntb               277 include/linux/ntb.h 	int (*mw_set_trans)(struct ntb_dev *ntb, int pidx, int widx,
ntb               279 include/linux/ntb.h 	int (*mw_clear_trans)(struct ntb_dev *ntb, int pidx, int widx);
ntb               280 include/linux/ntb.h 	int (*peer_mw_count)(struct ntb_dev *ntb);
ntb               281 include/linux/ntb.h 	int (*peer_mw_get_addr)(struct ntb_dev *ntb, int widx,
ntb               283 include/linux/ntb.h 	int (*peer_mw_set_trans)(struct ntb_dev *ntb, int pidx, int widx,
ntb               285 include/linux/ntb.h 	int (*peer_mw_clear_trans)(struct ntb_dev *ntb, int pidx, int widx);
ntb               287 include/linux/ntb.h 	int (*db_is_unsafe)(struct ntb_dev *ntb);
ntb               288 include/linux/ntb.h 	u64 (*db_valid_mask)(struct ntb_dev *ntb);
ntb               289 include/linux/ntb.h 	int (*db_vector_count)(struct ntb_dev *ntb);
ntb               290 include/linux/ntb.h 	u64 (*db_vector_mask)(struct ntb_dev *ntb, int db_vector);
ntb               292 include/linux/ntb.h 	u64 (*db_read)(struct ntb_dev *ntb);
ntb               293 include/linux/ntb.h 	int (*db_set)(struct ntb_dev *ntb, u64 db_bits);
ntb               294 include/linux/ntb.h 	int (*db_clear)(struct ntb_dev *ntb, u64 db_bits);
ntb               296 include/linux/ntb.h 	u64 (*db_read_mask)(struct ntb_dev *ntb);
ntb               297 include/linux/ntb.h 	int (*db_set_mask)(struct ntb_dev *ntb, u64 db_bits);
ntb               298 include/linux/ntb.h 	int (*db_clear_mask)(struct ntb_dev *ntb, u64 db_bits);
ntb               300 include/linux/ntb.h 	int (*peer_db_addr)(struct ntb_dev *ntb,
ntb               303 include/linux/ntb.h 	u64 (*peer_db_read)(struct ntb_dev *ntb);
ntb               304 include/linux/ntb.h 	int (*peer_db_set)(struct ntb_dev *ntb, u64 db_bits);
ntb               305 include/linux/ntb.h 	int (*peer_db_clear)(struct ntb_dev *ntb, u64 db_bits);
ntb               307 include/linux/ntb.h 	u64 (*peer_db_read_mask)(struct ntb_dev *ntb);
ntb               308 include/linux/ntb.h 	int (*peer_db_set_mask)(struct ntb_dev *ntb, u64 db_bits);
ntb               309 include/linux/ntb.h 	int (*peer_db_clear_mask)(struct ntb_dev *ntb, u64 db_bits);
ntb               311 include/linux/ntb.h 	int (*spad_is_unsafe)(struct ntb_dev *ntb);
ntb               312 include/linux/ntb.h 	int (*spad_count)(struct ntb_dev *ntb);
ntb               314 include/linux/ntb.h 	u32 (*spad_read)(struct ntb_dev *ntb, int sidx);
ntb               315 include/linux/ntb.h 	int (*spad_write)(struct ntb_dev *ntb, int sidx, u32 val);
ntb               317 include/linux/ntb.h 	int (*peer_spad_addr)(struct ntb_dev *ntb, int pidx, int sidx,
ntb               319 include/linux/ntb.h 	u32 (*peer_spad_read)(struct ntb_dev *ntb, int pidx, int sidx);
ntb               320 include/linux/ntb.h 	int (*peer_spad_write)(struct ntb_dev *ntb, int pidx, int sidx,
ntb               323 include/linux/ntb.h 	int (*msg_count)(struct ntb_dev *ntb);
ntb               324 include/linux/ntb.h 	u64 (*msg_inbits)(struct ntb_dev *ntb);
ntb               325 include/linux/ntb.h 	u64 (*msg_outbits)(struct ntb_dev *ntb);
ntb               326 include/linux/ntb.h 	u64 (*msg_read_sts)(struct ntb_dev *ntb);
ntb               327 include/linux/ntb.h 	int (*msg_clear_sts)(struct ntb_dev *ntb, u64 sts_bits);
ntb               328 include/linux/ntb.h 	int (*msg_set_mask)(struct ntb_dev *ntb, u64 mask_bits);
ntb               329 include/linux/ntb.h 	int (*msg_clear_mask)(struct ntb_dev *ntb, u64 mask_bits);
ntb               330 include/linux/ntb.h 	u32 (*msg_read)(struct ntb_dev *ntb, int *pidx, int midx);
ntb               331 include/linux/ntb.h 	int (*peer_msg_write)(struct ntb_dev *ntb, int pidx, int midx, u32 msg);
ntb               478 include/linux/ntb.h int ntb_register_device(struct ntb_dev *ntb);
ntb               488 include/linux/ntb.h void ntb_unregister_device(struct ntb_dev *ntb);
ntb               502 include/linux/ntb.h int ntb_set_ctx(struct ntb_dev *ntb, void *ctx,
ntb               512 include/linux/ntb.h void ntb_clear_ctx(struct ntb_dev *ntb);
ntb               521 include/linux/ntb.h void ntb_link_event(struct ntb_dev *ntb);
ntb               536 include/linux/ntb.h void ntb_db_event(struct ntb_dev *ntb, int vector);
ntb               548 include/linux/ntb.h void ntb_msg_event(struct ntb_dev *ntb);
ntb               563 include/linux/ntb.h int ntb_default_port_number(struct ntb_dev *ntb);
ntb               576 include/linux/ntb.h int ntb_default_peer_port_count(struct ntb_dev *ntb);
ntb               591 include/linux/ntb.h int ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx);
ntb               608 include/linux/ntb.h int ntb_default_peer_port_idx(struct ntb_dev *ntb, int port);
ntb               618 include/linux/ntb.h static inline int ntb_port_number(struct ntb_dev *ntb)
ntb               620 include/linux/ntb.h 	if (!ntb->ops->port_number)
ntb               621 include/linux/ntb.h 		return ntb_default_port_number(ntb);
ntb               623 include/linux/ntb.h 	return ntb->ops->port_number(ntb);
ntb               635 include/linux/ntb.h static inline int ntb_peer_port_count(struct ntb_dev *ntb)
ntb               637 include/linux/ntb.h 	if (!ntb->ops->peer_port_count)
ntb               638 include/linux/ntb.h 		return ntb_default_peer_port_count(ntb);
ntb               640 include/linux/ntb.h 	return ntb->ops->peer_port_count(ntb);
ntb               653 include/linux/ntb.h static inline int ntb_peer_port_number(struct ntb_dev *ntb, int pidx)
ntb               655 include/linux/ntb.h 	if (!ntb->ops->peer_port_number)
ntb               656 include/linux/ntb.h 		return ntb_default_peer_port_number(ntb, pidx);
ntb               658 include/linux/ntb.h 	return ntb->ops->peer_port_number(ntb, pidx);
ntb               675 include/linux/ntb.h static inline int ntb_logical_port_number(struct ntb_dev *ntb)
ntb               677 include/linux/ntb.h 	int lport = ntb_port_number(ntb);
ntb               683 include/linux/ntb.h 	for (pidx = 0; pidx < ntb_peer_port_count(ntb); pidx++)
ntb               684 include/linux/ntb.h 		if (lport <= ntb_peer_port_number(ntb, pidx))
ntb               705 include/linux/ntb.h static inline int ntb_peer_logical_port_number(struct ntb_dev *ntb, int pidx)
ntb               707 include/linux/ntb.h 	if (ntb_peer_port_number(ntb, pidx) < ntb_port_number(ntb))
ntb               723 include/linux/ntb.h static inline int ntb_peer_port_idx(struct ntb_dev *ntb, int port)
ntb               725 include/linux/ntb.h 	if (!ntb->ops->peer_port_idx)
ntb               726 include/linux/ntb.h 		return ntb_default_peer_port_idx(ntb, port);
ntb               728 include/linux/ntb.h 	return ntb->ops->peer_port_idx(ntb, port);
ntb               744 include/linux/ntb.h static inline u64 ntb_link_is_up(struct ntb_dev *ntb,
ntb               747 include/linux/ntb.h 	return ntb->ops->link_is_up(ntb, speed, width);
ntb               764 include/linux/ntb.h static inline int ntb_link_enable(struct ntb_dev *ntb,
ntb               768 include/linux/ntb.h 	return ntb->ops->link_enable(ntb, max_speed, max_width);
ntb               783 include/linux/ntb.h static inline int ntb_link_disable(struct ntb_dev *ntb)
ntb               785 include/linux/ntb.h 	return ntb->ops->link_disable(ntb);
ntb               802 include/linux/ntb.h static inline int ntb_mw_count(struct ntb_dev *ntb, int pidx)
ntb               804 include/linux/ntb.h 	return ntb->ops->mw_count(ntb, pidx);
ntb               823 include/linux/ntb.h static inline int ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int widx,
ntb               828 include/linux/ntb.h 	if (!(ntb_link_is_up(ntb, NULL, NULL) & BIT_ULL(pidx)))
ntb               831 include/linux/ntb.h 	return ntb->ops->mw_get_align(ntb, pidx, widx, addr_align, size_align,
ntb               854 include/linux/ntb.h static inline int ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx,
ntb               857 include/linux/ntb.h 	if (!ntb->ops->mw_set_trans)
ntb               860 include/linux/ntb.h 	return ntb->ops->mw_set_trans(ntb, pidx, widx, addr, size);
ntb               875 include/linux/ntb.h static inline int ntb_mw_clear_trans(struct ntb_dev *ntb, int pidx, int widx)
ntb               877 include/linux/ntb.h 	if (!ntb->ops->mw_clear_trans)
ntb               878 include/linux/ntb.h 		return ntb_mw_set_trans(ntb, pidx, widx, 0, 0);
ntb               880 include/linux/ntb.h 	return ntb->ops->mw_clear_trans(ntb, pidx, widx);
ntb               894 include/linux/ntb.h static inline int ntb_peer_mw_count(struct ntb_dev *ntb)
ntb               896 include/linux/ntb.h 	return ntb->ops->peer_mw_count(ntb);
ntb               912 include/linux/ntb.h static inline int ntb_peer_mw_get_addr(struct ntb_dev *ntb, int widx,
ntb               915 include/linux/ntb.h 	return ntb->ops->peer_mw_get_addr(ntb, widx, base, size);
ntb               936 include/linux/ntb.h static inline int ntb_peer_mw_set_trans(struct ntb_dev *ntb, int pidx, int widx,
ntb               939 include/linux/ntb.h 	if (!ntb->ops->peer_mw_set_trans)
ntb               942 include/linux/ntb.h 	return ntb->ops->peer_mw_set_trans(ntb, pidx, widx, addr, size);
ntb               960 include/linux/ntb.h static inline int ntb_peer_mw_clear_trans(struct ntb_dev *ntb, int pidx,
ntb               963 include/linux/ntb.h 	if (!ntb->ops->peer_mw_clear_trans)
ntb               964 include/linux/ntb.h 		return ntb_peer_mw_set_trans(ntb, pidx, widx, 0, 0);
ntb               966 include/linux/ntb.h 	return ntb->ops->peer_mw_clear_trans(ntb, pidx, widx);
ntb               979 include/linux/ntb.h static inline int ntb_db_is_unsafe(struct ntb_dev *ntb)
ntb               981 include/linux/ntb.h 	if (!ntb->ops->db_is_unsafe)
ntb               984 include/linux/ntb.h 	return ntb->ops->db_is_unsafe(ntb);
ntb               995 include/linux/ntb.h static inline u64 ntb_db_valid_mask(struct ntb_dev *ntb)
ntb               997 include/linux/ntb.h 	return ntb->ops->db_valid_mask(ntb);
ntb              1008 include/linux/ntb.h static inline int ntb_db_vector_count(struct ntb_dev *ntb)
ntb              1010 include/linux/ntb.h 	if (!ntb->ops->db_vector_count)
ntb              1013 include/linux/ntb.h 	return ntb->ops->db_vector_count(ntb);
ntb              1025 include/linux/ntb.h static inline u64 ntb_db_vector_mask(struct ntb_dev *ntb, int vector)
ntb              1027 include/linux/ntb.h 	if (!ntb->ops->db_vector_mask)
ntb              1028 include/linux/ntb.h 		return ntb_db_valid_mask(ntb);
ntb              1030 include/linux/ntb.h 	return ntb->ops->db_vector_mask(ntb, vector);
ntb              1041 include/linux/ntb.h static inline u64 ntb_db_read(struct ntb_dev *ntb)
ntb              1043 include/linux/ntb.h 	return ntb->ops->db_read(ntb);
ntb              1058 include/linux/ntb.h static inline int ntb_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb              1060 include/linux/ntb.h 	if (!ntb->ops->db_set)
ntb              1063 include/linux/ntb.h 	return ntb->ops->db_set(ntb, db_bits);
ntb              1076 include/linux/ntb.h static inline int ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb              1078 include/linux/ntb.h 	return ntb->ops->db_clear(ntb, db_bits);
ntb              1091 include/linux/ntb.h static inline u64 ntb_db_read_mask(struct ntb_dev *ntb)
ntb              1093 include/linux/ntb.h 	if (!ntb->ops->db_read_mask)
ntb              1096 include/linux/ntb.h 	return ntb->ops->db_read_mask(ntb);
ntb              1110 include/linux/ntb.h static inline int ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1112 include/linux/ntb.h 	return ntb->ops->db_set_mask(ntb, db_bits);
ntb              1129 include/linux/ntb.h static inline int ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1131 include/linux/ntb.h 	return ntb->ops->db_clear_mask(ntb, db_bits);
ntb              1152 include/linux/ntb.h static inline int ntb_peer_db_addr(struct ntb_dev *ntb,
ntb              1157 include/linux/ntb.h 	if (!ntb->ops->peer_db_addr)
ntb              1160 include/linux/ntb.h 	return ntb->ops->peer_db_addr(ntb, db_addr, db_size, db_data, db_bit);
ntb              1173 include/linux/ntb.h static inline u64 ntb_peer_db_read(struct ntb_dev *ntb)
ntb              1175 include/linux/ntb.h 	if (!ntb->ops->peer_db_read)
ntb              1178 include/linux/ntb.h 	return ntb->ops->peer_db_read(ntb);
ntb              1191 include/linux/ntb.h static inline int ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
ntb              1193 include/linux/ntb.h 	return ntb->ops->peer_db_set(ntb, db_bits);
ntb              1208 include/linux/ntb.h static inline int ntb_peer_db_clear(struct ntb_dev *ntb, u64 db_bits)
ntb              1210 include/linux/ntb.h 	if (!ntb->ops->db_clear)
ntb              1213 include/linux/ntb.h 	return ntb->ops->peer_db_clear(ntb, db_bits);
ntb              1226 include/linux/ntb.h static inline u64 ntb_peer_db_read_mask(struct ntb_dev *ntb)
ntb              1228 include/linux/ntb.h 	if (!ntb->ops->db_read_mask)
ntb              1231 include/linux/ntb.h 	return ntb->ops->peer_db_read_mask(ntb);
ntb              1247 include/linux/ntb.h static inline int ntb_peer_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1249 include/linux/ntb.h 	if (!ntb->ops->db_set_mask)
ntb              1252 include/linux/ntb.h 	return ntb->ops->peer_db_set_mask(ntb, db_bits);
ntb              1269 include/linux/ntb.h static inline int ntb_peer_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
ntb              1271 include/linux/ntb.h 	if (!ntb->ops->db_clear_mask)
ntb              1274 include/linux/ntb.h 	return ntb->ops->peer_db_clear_mask(ntb, db_bits);
ntb              1287 include/linux/ntb.h static inline int ntb_spad_is_unsafe(struct ntb_dev *ntb)
ntb              1289 include/linux/ntb.h 	if (!ntb->ops->spad_is_unsafe)
ntb              1292 include/linux/ntb.h 	return ntb->ops->spad_is_unsafe(ntb);
ntb              1304 include/linux/ntb.h static inline int ntb_spad_count(struct ntb_dev *ntb)
ntb              1306 include/linux/ntb.h 	if (!ntb->ops->spad_count)
ntb              1309 include/linux/ntb.h 	return ntb->ops->spad_count(ntb);
ntb              1321 include/linux/ntb.h static inline u32 ntb_spad_read(struct ntb_dev *ntb, int sidx)
ntb              1323 include/linux/ntb.h 	if (!ntb->ops->spad_read)
ntb              1326 include/linux/ntb.h 	return ntb->ops->spad_read(ntb, sidx);
ntb              1339 include/linux/ntb.h static inline int ntb_spad_write(struct ntb_dev *ntb, int sidx, u32 val)
ntb              1341 include/linux/ntb.h 	if (!ntb->ops->spad_write)
ntb              1344 include/linux/ntb.h 	return ntb->ops->spad_write(ntb, sidx, val);
ntb              1359 include/linux/ntb.h static inline int ntb_peer_spad_addr(struct ntb_dev *ntb, int pidx, int sidx,
ntb              1362 include/linux/ntb.h 	if (!ntb->ops->peer_spad_addr)
ntb              1365 include/linux/ntb.h 	return ntb->ops->peer_spad_addr(ntb, pidx, sidx, spad_addr);
ntb              1378 include/linux/ntb.h static inline u32 ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx)
ntb              1380 include/linux/ntb.h 	if (!ntb->ops->peer_spad_read)
ntb              1383 include/linux/ntb.h 	return ntb->ops->peer_spad_read(ntb, pidx, sidx);
ntb              1397 include/linux/ntb.h static inline int ntb_peer_spad_write(struct ntb_dev *ntb, int pidx, int sidx,
ntb              1400 include/linux/ntb.h 	if (!ntb->ops->peer_spad_write)
ntb              1403 include/linux/ntb.h 	return ntb->ops->peer_spad_write(ntb, pidx, sidx, val);
ntb              1414 include/linux/ntb.h static inline int ntb_msg_count(struct ntb_dev *ntb)
ntb              1416 include/linux/ntb.h 	if (!ntb->ops->msg_count)
ntb              1419 include/linux/ntb.h 	return ntb->ops->msg_count(ntb);
ntb              1431 include/linux/ntb.h static inline u64 ntb_msg_inbits(struct ntb_dev *ntb)
ntb              1433 include/linux/ntb.h 	if (!ntb->ops->msg_inbits)
ntb              1436 include/linux/ntb.h 	return ntb->ops->msg_inbits(ntb);
ntb              1448 include/linux/ntb.h static inline u64 ntb_msg_outbits(struct ntb_dev *ntb)
ntb              1450 include/linux/ntb.h 	if (!ntb->ops->msg_outbits)
ntb              1453 include/linux/ntb.h 	return ntb->ops->msg_outbits(ntb);
ntb              1466 include/linux/ntb.h static inline u64 ntb_msg_read_sts(struct ntb_dev *ntb)
ntb              1468 include/linux/ntb.h 	if (!ntb->ops->msg_read_sts)
ntb              1471 include/linux/ntb.h 	return ntb->ops->msg_read_sts(ntb);
ntb              1483 include/linux/ntb.h static inline int ntb_msg_clear_sts(struct ntb_dev *ntb, u64 sts_bits)
ntb              1485 include/linux/ntb.h 	if (!ntb->ops->msg_clear_sts)
ntb              1488 include/linux/ntb.h 	return ntb->ops->msg_clear_sts(ntb, sts_bits);
ntb              1500 include/linux/ntb.h static inline int ntb_msg_set_mask(struct ntb_dev *ntb, u64 mask_bits)
ntb              1502 include/linux/ntb.h 	if (!ntb->ops->msg_set_mask)
ntb              1505 include/linux/ntb.h 	return ntb->ops->msg_set_mask(ntb, mask_bits);
ntb              1517 include/linux/ntb.h static inline int ntb_msg_clear_mask(struct ntb_dev *ntb, u64 mask_bits)
ntb              1519 include/linux/ntb.h 	if (!ntb->ops->msg_clear_mask)
ntb              1522 include/linux/ntb.h 	return ntb->ops->msg_clear_mask(ntb, mask_bits);
ntb              1536 include/linux/ntb.h static inline u32 ntb_msg_read(struct ntb_dev *ntb, int *pidx, int midx)
ntb              1538 include/linux/ntb.h 	if (!ntb->ops->msg_read)
ntb              1541 include/linux/ntb.h 	return ntb->ops->msg_read(ntb, pidx, midx);
ntb              1557 include/linux/ntb.h static inline int ntb_peer_msg_write(struct ntb_dev *ntb, int pidx, int midx,
ntb              1560 include/linux/ntb.h 	if (!ntb->ops->peer_msg_write)
ntb              1563 include/linux/ntb.h 	return ntb->ops->peer_msg_write(ntb, pidx, midx, msg);
ntb              1597 include/linux/ntb.h static inline int ntb_peer_resource_idx(struct ntb_dev *ntb, int pidx)
ntb              1601 include/linux/ntb.h 	if (pidx >= ntb_peer_port_count(ntb))
ntb              1604 include/linux/ntb.h 	local_port = ntb_logical_port_number(ntb);
ntb              1605 include/linux/ntb.h 	peer_port = ntb_peer_logical_port_number(ntb, pidx);
ntb              1625 include/linux/ntb.h static inline int ntb_peer_highest_mw_idx(struct ntb_dev *ntb, int pidx)
ntb              1629 include/linux/ntb.h 	ret = ntb_peer_resource_idx(ntb, pidx);
ntb              1633 include/linux/ntb.h 	return ntb_mw_count(ntb, pidx) - ret - 1;
ntb              1643 include/linux/ntb.h int ntb_msi_init(struct ntb_dev *ntb, void (*desc_changed)(void *ctx));
ntb              1644 include/linux/ntb.h int ntb_msi_setup_mws(struct ntb_dev *ntb);
ntb              1645 include/linux/ntb.h void ntb_msi_clear_mws(struct ntb_dev *ntb);
ntb              1646 include/linux/ntb.h int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler,
ntb              1650 include/linux/ntb.h void ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq, void *dev_id);
ntb              1651 include/linux/ntb.h int ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer,
ntb              1653 include/linux/ntb.h int ntb_msi_peer_addr(struct ntb_dev *ntb, int peer,
ntb              1659 include/linux/ntb.h static inline int ntb_msi_init(struct ntb_dev *ntb,
ntb              1664 include/linux/ntb.h static inline int ntb_msi_setup_mws(struct ntb_dev *ntb)
ntb              1668 include/linux/ntb.h static inline void ntb_msi_clear_mws(struct ntb_dev *ntb) {}
ntb              1669 include/linux/ntb.h static inline int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb,
ntb              1677 include/linux/ntb.h static inline void ntbm_msi_free_irq(struct ntb_dev *ntb, unsigned int irq,
ntb              1679 include/linux/ntb.h static inline int ntb_msi_peer_trigger(struct ntb_dev *ntb, int peer,
ntb              1684 include/linux/ntb.h static inline int ntb_msi_peer_addr(struct ntb_dev *ntb, int peer,
ntb              1694 include/linux/ntb.h static inline int ntbm_msi_request_irq(struct ntb_dev *ntb,
ntb              1699 include/linux/ntb.h 	return ntbm_msi_request_threaded_irq(ntb, handler, NULL, name,