| /Linux-v5.4/drivers/pci/endpoint/ |
| D | pci-epf-core.c | 32 void pci_epf_linkup(struct pci_epf *epf) in pci_epf_linkup() argument 34 if (!epf->driver) { in pci_epf_linkup() 35 dev_WARN(&epf->dev, "epf device not bound to driver\n"); in pci_epf_linkup() 39 epf->driver->ops->linkup(epf); in pci_epf_linkup() 51 void pci_epf_unbind(struct pci_epf *epf) in pci_epf_unbind() argument 53 if (!epf->driver) { in pci_epf_unbind() 54 dev_WARN(&epf->dev, "epf device not bound to driver\n"); in pci_epf_unbind() 58 epf->driver->ops->unbind(epf); in pci_epf_unbind() 59 module_put(epf->driver->owner); in pci_epf_unbind() 70 int pci_epf_bind(struct pci_epf *epf) in pci_epf_bind() argument [all …]
|
| D | pci-ep-cfs.c | 24 struct pci_epf *epf; member 96 struct pci_epf *epf = epf_group->epf; in pci_epc_epf_link() local 104 epf->func_no = func_no; in pci_epc_epf_link() 106 ret = pci_epc_add_epf(epc, epf); in pci_epc_epf_link() 110 ret = pci_epf_bind(epf); in pci_epc_epf_link() 117 pci_epc_remove_epf(epc, epf); in pci_epc_epf_link() 129 struct pci_epf *epf; in pci_epc_epf_unlink() local 136 epf = epf_group->epf; in pci_epc_epf_unlink() 137 clear_bit(epf->func_no, &epc_group->function_num_map); in pci_epc_epf_unlink() 138 pci_epf_unbind(epf); in pci_epc_epf_unlink() [all …]
|
| D | pci-epc-core.c | 488 int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf) in pci_epc_add_epf() argument 492 if (epf->epc) in pci_epc_add_epf() 498 if (epf->func_no > epc->max_functions - 1) in pci_epc_add_epf() 501 epf->epc = epc; in pci_epc_add_epf() 504 list_add_tail(&epf->list, &epc->pci_epf); in pci_epc_add_epf() 518 void pci_epc_remove_epf(struct pci_epc *epc, struct pci_epf *epf) in pci_epc_remove_epf() argument 522 if (!epc || IS_ERR(epc) || !epf) in pci_epc_remove_epf() 526 list_del(&epf->list); in pci_epc_remove_epf() 527 epf->epc = NULL; in pci_epc_remove_epf() 543 struct pci_epf *epf; in pci_epc_linkup() local [all …]
|
| D | Makefile | 7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\
|
| /Linux-v5.4/drivers/pci/endpoint/functions/ |
| D | pci-epf-test.c | 48 struct pci_epf *epf; member 82 struct pci_epf *epf = epf_test->epf; in pci_epf_test_copy() local 83 struct device *dev = &epf->dev; in pci_epf_test_copy() 84 struct pci_epc *epc = epf->epc; in pci_epf_test_copy() 96 ret = pci_epc_map_addr(epc, epf->func_no, src_phys_addr, reg->src_addr, in pci_epf_test_copy() 112 ret = pci_epc_map_addr(epc, epf->func_no, dst_phys_addr, reg->dst_addr, in pci_epf_test_copy() 122 pci_epc_unmap_addr(epc, epf->func_no, dst_phys_addr); in pci_epf_test_copy() 128 pci_epc_unmap_addr(epc, epf->func_no, src_phys_addr); in pci_epf_test_copy() 144 struct pci_epf *epf = epf_test->epf; in pci_epf_test_read() local 145 struct device *dev = &epf->dev; in pci_epf_test_read() [all …]
|
| D | Makefile | 6 obj-$(CONFIG_PCI_EPF_TEST) += pci-epf-test.o
|
| /Linux-v5.4/include/linux/ |
| D | pci-epf.h | 62 int (*bind)(struct pci_epf *epf); 63 void (*unbind)(struct pci_epf *epf); 64 void (*linkup)(struct pci_epf *epf); 79 int (*probe)(struct pci_epf *epf); 80 int (*remove)(struct pci_epf *epf); 135 static inline void epf_set_drvdata(struct pci_epf *epf, void *data) in epf_set_drvdata() argument 137 dev_set_drvdata(&epf->dev, data); in epf_set_drvdata() 140 static inline void *epf_get_drvdata(struct pci_epf *epf) in epf_get_drvdata() argument 142 return dev_get_drvdata(&epf->dev); in epf_get_drvdata() 146 pci_epf_match_device(const struct pci_epf_device_id *id, struct pci_epf *epf); [all …]
|
| D | pci-epc.h | 152 int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf); 154 void pci_epc_remove_epf(struct pci_epc *epc, struct pci_epf *epf);
|
| /Linux-v5.4/Documentation/PCI/endpoint/ |
| D | pci-test-howto.rst | 9 This document is a guide to help users use pci-epf-test function driver 35 # ls /sys/bus/pci-epf/drivers 44 Creating pci-epf-test Device 48 pci-epf-test device, the following commands can be used:: 54 The "mkdir func1" above creates the pci-epf-test function device that will 66 when the device is bound to the driver. The pci-epf-test driver populates 75 Configuring pci-epf-test Device 78 The user can configure the pci-epf-test device using configfs entry. In order 88 Binding pci-epf-test Device to EP Controller
|
| /Linux-v5.4/drivers/pci/controller/ |
| D | pcie-cadence-ep.c | 387 struct pci_epf *epf; in cdns_pcie_ep_start() local 395 list_for_each_entry(epf, &epc->pci_epf, list) in cdns_pcie_ep_start() 396 cfg |= BIT(epf->func_no); in cdns_pcie_ep_start()
|
| D | pcie-rockchip-ep.c | 493 struct pci_epf *epf; in rockchip_pcie_ep_start() local 497 list_for_each_entry(epf, &epc->pci_epf, list) in rockchip_pcie_ep_start() 498 cfg |= BIT(epf->func_no); in rockchip_pcie_ep_start()
|