Lines Matching full:provider

38 	struct pci_dev *provider;  member
193 p2p_pgmap->provider = pdev; in pci_p2pdma_add_resource()
357 __upstream_bridge_distance(struct pci_dev *provider, struct pci_dev *client, in __upstream_bridge_distance() argument
360 struct pci_dev *a = provider, *b = client, *bb; in __upstream_bridge_distance()
475 upstream_bridge_distance(struct pci_dev *provider, struct pci_dev *client, in upstream_bridge_distance() argument
480 map_type = __upstream_bridge_distance(provider, client, dist, in upstream_bridge_distance()
485 !host_bridge_whitelist(provider, client)) in upstream_bridge_distance()
489 if (provider->p2pdma) in upstream_bridge_distance()
490 xa_store(&provider->p2pdma->map_types, map_types_idx(client), in upstream_bridge_distance()
497 upstream_bridge_distance_warn(struct pci_dev *provider, struct pci_dev *client, in upstream_bridge_distance_warn() argument
508 ret = upstream_bridge_distance(provider, client, dist, &acs_redirects, in upstream_bridge_distance_warn()
511 pci_warn(client, "ACS redirect is set between the client and provider (%s)\n", in upstream_bridge_distance_warn()
512 pci_name(provider)); in upstream_bridge_distance_warn()
520 …pci_warn(client, "cannot be used for peer-to-peer DMA as the client and provider (%s) do not share… in upstream_bridge_distance_warn()
521 pci_name(provider)); in upstream_bridge_distance_warn()
531 * a p2pdma provider and the clients in use.
532 * @provider: p2pdma provider to check against the client list
539 * one client that's the same as the provider it will return 0, which is best
542 * "compatible" means the provider and the clients are either all behind
546 int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients, in pci_p2pdma_distance_many() argument
577 ret = upstream_bridge_distance_warn(provider, in pci_p2pdma_distance_many()
580 ret = upstream_bridge_distance(provider, pci_client, in pci_p2pdma_distance_many()
620 * the same as one of the clients, that provider will be used ahead of any
626 * found provider will also be assigned to the client list.
823 static enum pci_p2pdma_map_type pci_p2pdma_map_type(struct pci_dev *provider, in pci_p2pdma_map_type() argument
826 if (!provider->p2pdma) in pci_p2pdma_map_type()
829 return xa_to_value(xa_load(&provider->p2pdma->map_types, in pci_p2pdma_map_type()
886 switch (pci_p2pdma_map_type(p2p_pgmap->provider, client)) { in pci_p2pdma_map_sg_attrs()
920 map_type = pci_p2pdma_map_type(p2p_pgmap->provider, client); in pci_p2pdma_unmap_sg_attrs()
940 * expects the caller to use the specific provider.