Lines Matching refs:ntb

60 #include <linux/ntb.h>
84 static int amd_ntb_mw_count(struct ntb_dev *ntb, int pidx)
89 return ntb_ndev(ntb)->mw_count;
92 static int amd_ntb_mw_get_align(struct ntb_dev *ntb, int pidx, int idx,
97 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
114 *size_max = pci_resource_len(ndev->ntb.pdev, bar);
119 static int amd_ntb_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx,
122 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
136 mw_size = pci_resource_len(ntb->pdev, bar);
145 base_addr = pci_resource_start(ntb->pdev, bar);
206 if (ndev->ntb.topo == NTB_TOPO_SEC) {
208 pci_swds = pci_upstream_bridge(ndev->ntb.pdev);
227 } else if (ndev->ntb.topo == NTB_TOPO_PRI) {
232 pdev = ndev->ntb.pdev;
295 if (ndev->ntb.topo == NTB_TOPO_PRI) {
313 static u64 amd_ntb_link_is_up(struct ntb_dev *ntb,
317 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
326 dev_dbg(&ntb->pdev->dev, "link is up.\n");
335 dev_dbg(&ntb->pdev->dev, "link is down.\n");
341 static int amd_ntb_link_enable(struct ntb_dev *ntb,
345 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
352 if (ndev->ntb.topo == NTB_TOPO_SEC)
354 dev_dbg(&ntb->pdev->dev, "Enabling Link.\n");
359 static int amd_ntb_link_disable(struct ntb_dev *ntb)
361 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
368 if (ndev->ntb.topo == NTB_TOPO_SEC)
370 dev_dbg(&ntb->pdev->dev, "Enabling Link.\n");
375 static int amd_ntb_peer_mw_count(struct ntb_dev *ntb)
378 return ntb_ndev(ntb)->mw_count;
381 static int amd_ntb_peer_mw_get_addr(struct ntb_dev *ntb, int idx,
384 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
392 *base = pci_resource_start(ndev->ntb.pdev, bar);
395 *size = pci_resource_len(ndev->ntb.pdev, bar);
400 static u64 amd_ntb_db_valid_mask(struct ntb_dev *ntb)
402 return ntb_ndev(ntb)->db_valid_mask;
405 static int amd_ntb_db_vector_count(struct ntb_dev *ntb)
407 return ntb_ndev(ntb)->db_count;
410 static u64 amd_ntb_db_vector_mask(struct ntb_dev *ntb, int db_vector)
412 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
417 return ntb_ndev(ntb)->db_valid_mask & (1ULL << db_vector);
420 static u64 amd_ntb_db_read(struct ntb_dev *ntb)
422 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
428 static int amd_ntb_db_clear(struct ntb_dev *ntb, u64 db_bits)
430 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
438 static int amd_ntb_db_set_mask(struct ntb_dev *ntb, u64 db_bits)
440 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
455 static int amd_ntb_db_clear_mask(struct ntb_dev *ntb, u64 db_bits)
457 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
472 static int amd_ntb_peer_db_set(struct ntb_dev *ntb, u64 db_bits)
474 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
482 static int amd_ntb_spad_count(struct ntb_dev *ntb)
484 return ntb_ndev(ntb)->spad_count;
487 static u32 amd_ntb_spad_read(struct ntb_dev *ntb, int idx)
489 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
500 static int amd_ntb_spad_write(struct ntb_dev *ntb,
503 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
516 static u32 amd_ntb_peer_spad_read(struct ntb_dev *ntb, int pidx, int sidx)
518 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
529 static int amd_ntb_peer_spad_write(struct ntb_dev *ntb, int pidx,
532 struct amd_ntb_dev *ndev = ntb_ndev(ntb);
582 struct device *dev = &ndev->ntb.pdev->dev;
606 ntb_link_event(&ndev->ntb);
623 ntb_link_event(&ndev->ntb);
652 struct device *dev = &ndev->ntb.pdev->dev;
655 status = amd_ntb_db_read(&ndev->ntb);
665 ntb_db_clear(&ndev->ntb, BIT(ndev->db_last_bit));
667 ntb_link_event(&ndev->ntb);
682 dev_dbg(&ndev->ntb.pdev->dev, "vec %d\n", vec);
689 ntb_db_event(&ndev->ntb, vec);
706 return ndev_interrupt(ndev, irq - ndev->ntb.pdev->irq);
715 pdev = ndev->ntb.pdev;
816 pdev = ndev->ntb.pdev;
864 ntb_topo_string(ndev->ntb.topo));
942 debugfs_create_dir(pci_name(ndev->ntb.pdev),
959 ndev->ntb.pdev = pdev;
960 ndev->ntb.topo = NTB_TOPO_NONE;
961 ndev->ntb.ops = &amd_ntb_ops;
974 dev_dbg(&ndev->ntb.pdev->dev, "%s: reg_val = 0x%x.\n", __func__, reg);
988 ntb_link_event(&ndev->ntb);
1066 switch (ndev->ntb.topo) {
1070 if (ndev->ntb.topo == NTB_TOPO_PRI) {
1083 dev_err(&ndev->ntb.pdev->dev,
1112 pdev = ndev->ntb.pdev;
1114 ndev->ntb.topo = amd_get_topo(ndev);
1116 ntb_topo_string(ndev->ntb.topo));
1204 struct pci_dev *pdev = ndev->ntb.pdev;
1246 rc = ntb_register_device(&ndev->ntb);
1275 ntb_peer_db_set(&ndev->ntb, BIT_ULL(ndev->db_last_bit));
1276 ntb_unregister_device(&ndev->ntb);
1288 ntb_link_event(&ndev->ntb);
1291 ntb_peer_db_set(&ndev->ntb, BIT_ULL(ndev->db_last_bit));
1292 ntb_unregister_device(&ndev->ntb);