| /linux/drivers/pci/endpoint/functions/ |
| H A D | pci-epf-test.c | 82 struct pci_epf *epf; member 168 struct pci_epf *epf = epf_test->epf; in pci_epf_test_data_transfer() local 171 struct device *dev = &epf->dev; in pci_epf_test_data_transfer() 253 struct pci_epf *epf = epf_test->epf; in pci_epf_test_init_dma_chan() local 254 struct device *dev = &epf->dev; in pci_epf_test_init_dma_chan() 260 filter.dev = epf->epc->dev.parent; in pci_epf_test_init_dma_chan() 350 dev_info(&epf_test->epf->dev, in pci_epf_test_print_rate() 360 struct pci_epf *epf = epf_test->epf; in pci_epf_test_copy() local 361 struct pci_epc *epc = epf->epc; in pci_epf_test_copy() 362 struct device *dev = &epf->dev; in pci_epf_test_copy() [all …]
|
| H A D | pci-epf-vntb.c | 136 struct pci_epf *epf; member 237 func_no = ntb->epf->func_no; in epf_ntb_configure_mw() 238 vfunc_no = ntb->epf->vfunc_no; in epf_ntb_configure_mw() 240 ret = pci_epc_map_addr(ntb->epf->epc, func_no, vfunc_no, phys_addr, addr, size); in epf_ntb_configure_mw() 242 dev_err(&ntb->epf->epc->dev, in epf_ntb_configure_mw() 257 pci_epc_unmap_addr(ntb->epf->epc, in epf_ntb_teardown_mw() 258 ntb->epf->func_no, in epf_ntb_teardown_mw() 259 ntb->epf->vfunc_no, in epf_ntb_teardown_mw() 302 dev = &ntb->epf->dev; in epf_ntb_cmd_handler() 354 if (irq == ntb->epf->db_msg[i].virq) { in epf_ntb_doorbell_handler() [all …]
|
| H A D | pci-epf-mhi.c | 147 struct pci_epf *epf; member 171 struct pci_epf *epf = epf_mhi->epf; in __pci_epf_mhi_alloc_map() local 172 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_alloc_map() 179 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, *paddr, in __pci_epf_mhi_alloc_map() 209 struct pci_epf *epf = epf_mhi->epf; in __pci_epf_mhi_unmap_free() local 210 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_unmap_free() 212 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, paddr - offset); in __pci_epf_mhi_unmap_free() 231 struct pci_epf *epf = epf_mhi->epf; in pci_epf_mhi_raise_irq() local 232 struct pci_epc *epc = epf->epc; in pci_epf_mhi_raise_irq() 238 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, PCI_IRQ_MSI, in pci_epf_mhi_raise_irq() [all …]
|
| H A D | pci-epf-ntb.c | 80 struct pci_epf *epf; member 648 dev = &ntb->epf->dev; in epf_ntb_cmd_handler() 794 dev = &ntb->epf->dev; in epf_ntb_peer_spad_bar_set() 909 dev = &ntb->epf->dev; in epf_ntb_config_sspad_bar_set() 956 struct pci_epf *epf; in epf_ntb_config_spad_bar_free() local 958 epf = ntb->epf; in epf_ntb_config_spad_bar_free() 963 pci_epf_free_space(epf, ntb_epc->reg, barno, type); in epf_ntb_config_spad_bar_free() 1006 struct pci_epf *epf; in epf_ntb_config_spad_bar_alloc() local 1012 epf = ntb->epf; in epf_ntb_config_spad_bar_alloc() 1013 dev = &epf->dev; in epf_ntb_config_spad_bar_alloc() [all …]
|
| H A D | Makefile | 6 obj-$(CONFIG_PCI_EPF_TEST) += pci-epf-test.o 7 obj-$(CONFIG_PCI_EPF_NTB) += pci-epf-ntb.o 8 obj-$(CONFIG_PCI_EPF_VNTB) += pci-epf-vntb.o 9 obj-$(CONFIG_PCI_EPF_MHI) += pci-epf-mhi.o
|
| /linux/drivers/pci/endpoint/ |
| H A D | pci-ep-msi.c | 27 struct pci_epf *epf; in pci_epf_write_msi_msg() local 33 epf = list_first_entry_or_null(&epc->pci_epf, struct pci_epf, list); in pci_epf_write_msi_msg() 35 if (epf && epf->db_msg && desc->msi_index < epf->num_db) in pci_epf_write_msi_msg() 36 memcpy(&epf->db_msg[desc->msi_index].msg, msg, sizeof(*msg)); in pci_epf_write_msi_msg() 41 static int pci_epf_alloc_doorbell_embedded(struct pci_epf *epf, u16 num_db) in pci_epf_alloc_doorbell_embedded() argument 45 struct pci_epc *epc = epf->epc; in pci_epf_alloc_doorbell_embedded() 52 count = pci_epc_get_aux_resources_count(epc, epf->func_no, in pci_epf_alloc_doorbell_embedded() 53 epf->vfunc_no); in pci_epf_alloc_doorbell_embedded() 64 ret = pci_epc_get_aux_resources(epc, epf->func_no, epf->vfunc_no, in pci_epf_alloc_doorbell_embedded() 133 epf->num_db = num_db; in pci_epf_alloc_doorbell_embedded() [all …]
|
| H A D | pci-epc-core.c | 790 int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf, in pci_epc_add_epf() argument 797 if (IS_ERR_OR_NULL(epc) || epf->is_vf) in pci_epc_add_epf() 800 if (type == PRIMARY_INTERFACE && epf->epc) in pci_epc_add_epf() 803 if (type == SECONDARY_INTERFACE && epf->sec_epc) in pci_epc_add_epf() 822 epf->func_no = func_no; in pci_epc_add_epf() 823 epf->epc = epc; in pci_epc_add_epf() 824 list = &epf->list; in pci_epc_add_epf() 826 epf->sec_epc_func_no = func_no; in pci_epc_add_epf() 827 epf->sec_epc = epc; in pci_epc_add_epf() 828 list = &epf->sec_epc_list; in pci_epc_add_epf() [all …]
|
| H A D | Makefile | 7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\
|
| /linux/include/linux/ |
| H A D | pci-epf.h | 66 int (*bind)(struct pci_epf *epf); 67 void (*unbind)(struct pci_epf *epf); 68 struct config_group *(*add_cfs)(struct pci_epf *epf, 81 int (*epc_init)(struct pci_epf *epf); 82 void (*epc_deinit)(struct pci_epf *epf); 83 int (*link_up)(struct pci_epf *epf); 84 int (*link_down)(struct pci_epf *epf); 85 int (*bus_master_enable)(struct pci_epf *epf); 100 int (*probe)(struct pci_epf *epf, 102 void (*remove)(struct pci_epf *epf); [all …]
|
| H A D | pci-ep-msi.h | 15 int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 nums); 16 void pci_epf_free_doorbell(struct pci_epf *epf); 18 static inline int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 nums) in pci_epf_alloc_doorbell() argument 23 static inline void pci_epf_free_doorbell(struct pci_epf *epf) in pci_epf_free_doorbell() argument
|
| H A D | pci-epc.h | 359 int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf, 364 void pci_epc_notify_pending_init(struct pci_epc *epc, struct pci_epf *epf); 367 void pci_epc_remove_epf(struct pci_epc *epc, struct pci_epf *epf,
|
| /linux/drivers/nvme/target/ |
| H A D | pci-epf.c | 199 struct pci_epf *epf; member 257 struct pci_epf *epf = nvme_epf->epf; in nvmet_pci_epf_mem_map() local 259 return pci_epc_mem_map(epf->epc, epf->func_no, epf->vfunc_no, in nvmet_pci_epf_mem_map() 266 struct pci_epf *epf = nvme_epf->epf; in nvmet_pci_epf_mem_unmap() local 268 pci_epc_mem_unmap(epf->epc, epf->func_no, epf->vfunc_no, map); in nvmet_pci_epf_mem_unmap() 290 struct pci_epf *epf = nvme_epf->epf; in nvmet_pci_epf_init_dma() local 291 struct device *dev = &epf->dev; in nvmet_pci_epf_init_dma() 299 filter.dev = epf->epc->dev.parent; in nvmet_pci_epf_init_dma() 336 dev_info(&epf->dev, "DMA not supported, falling back to MMIO\n"); in nvmet_pci_epf_init_dma() 354 struct pci_epf *epf = nvme_epf->epf; in nvmet_pci_epf_dma_transfer() local [all …]
|
| /linux/Documentation/PCI/endpoint/ |
| H A D | pci-ntb-howto.rst | 9 This document is a guide to help users use pci-epf-ntb function driver 40 # ls /sys/bus/pci-epf/drivers 49 Creating pci-epf-ntb Device 53 pci-epf-ntb device, the following commands can be used:: 59 The "mkdir func1" above creates the pci-epf-ntb function device that will 66 baseclass_code deviceid msi_interrupts pci-epf-ntb.0 72 when the device is bound to the driver. The pci-epf-ntb driver populates 81 Configuring pci-epf-ntb Device 84 The user can configure the pci-epf-ntb device using its configfs entry. In order 108 Binding pci-epf-ntb Device to EP Controller [all …]
|
| H A D | pci-nvme-function.rst | 11 subsystem as drivers/nvme/target/pci-epf.c.
|
| /linux/drivers/ntb/hw/ |
| H A D | Makefile | 5 obj-$(CONFIG_NTB_EPF) += epf/
|
| H A D | Kconfig | 5 source "drivers/ntb/hw/epf/Kconfig"
|
| /linux/drivers/pci/controller/ |
| H A D | pcie-rockchip-ep.c | 474 struct pci_epf *epf; in rockchip_pcie_ep_start() local 478 list_for_each_entry(epf, &epc->pci_epf, list) in rockchip_pcie_ep_start() 479 cfg |= BIT(epf->func_no); in rockchip_pcie_ep_start()
|
| /linux/Documentation/nvme/ |
| H A D | nvme-pci-endpoint-target.rst | 216 # echo -n "Linux-pci-epf" > nvmepf.0.nqn/attr_model 327 mn : Linux-pci-epf
|
| /linux/ |
| H A D | MAINTAINERS | 17576 F: drivers/pci/endpoint/functions/pci-epf-mhi.c 19400 F: drivers/pci/endpoint/functions/pci-epf-*ntb.c
|