Lines Matching defs:provider
31 struct pci_dev *provider;
199 rcu_dereference_protected(pgmap->provider->p2pdma, 1);
323 p2p_pgmap->provider = pdev;
575 calc_map_type_and_dist(struct pci_dev *provider, struct pci_dev *client,
579 struct pci_dev *a = provider, *b = client, *bb;
644 pci_warn(client, "ACS redirect is set between the client and provider (%s)\n",
645 pci_name(provider));
653 !host_bridge_whitelist(provider, client, acs_redirects)) {
655 pci_warn(client, "cannot be used for peer-to-peer DMA as the client and provider (%s) do not share an upstream bridge or whitelisted host bridge\n",
656 pci_name(provider));
661 p2pdma = rcu_dereference(provider->p2pdma);
671 * a p2pdma provider and the clients in use.
672 * @provider: p2pdma provider to check against the client list
679 * one client that's the same as the provider it will return 0, which is best
682 * "compatible" means the provider and the clients are either all behind
686 int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients,
707 map = calc_map_type_and_dist(provider, pci_client, &distance,
754 * the same as one of the clients, that provider will be used ahead of any
760 * found provider will also be assigned to the client list.
971 struct pci_dev *provider = to_p2p_pgmap(pgmap)->provider;
976 if (!provider->p2pdma)
985 p2pdma = rcu_dereference(provider->p2pdma);
993 return calc_map_type_and_dist(provider, client, &dist, true);
1047 * expects the caller to use the specific provider.