Lines Matching refs:p2pdma
11 #define pr_fmt(fmt) "pci-p2pdma: " fmt
13 #include <linux/pci-p2pdma.h>
53 if (pdev->p2pdma->pool)
54 size = gen_pool_size(pdev->p2pdma->pool);
66 if (pdev->p2pdma->pool)
67 avail = gen_pool_avail(pdev->p2pdma->pool);
79 pdev->p2pdma->p2pmem_published);
98 struct pci_p2pdma *p2pdma = pdev->p2pdma;
100 if (!p2pdma)
104 pdev->p2pdma = NULL;
107 gen_pool_destroy(p2pdma->pool);
109 xa_destroy(&p2pdma->map_types);
131 pdev->p2pdma = p2p;
140 pdev->p2pdma = NULL;
177 if (!pdev->p2pdma) {
203 error = gen_pool_add_owner(pdev->p2pdma->pool, (unsigned long)addr,
281 /* Any AMD CPU whose family ID is Zen or newer supports p2pdma */
489 * Any two devices that cannot communicate using p2pdma will return
519 if (provider->p2pdma)
520 xa_store(&provider->p2pdma->map_types, map_types_idx(client),
561 * a p2pdma provider and the clients in use.
562 * @provider: p2pdma provider to check against the client list
637 return pdev->p2pdma && pdev->p2pdma->p2pmem_published;
720 * ensure pdev->p2pdma is non-NULL for the duration of the
724 if (unlikely(!pdev->p2pdma))
727 ret = (void *)gen_pool_alloc_owner(pdev->p2pdma->pool, size,
733 gen_pool_free(pdev->p2pdma->pool, (unsigned long) ret, size);
753 gen_pool_free_owner(pdev->p2pdma->pool, (uintptr_t)addr, size,
769 if (!pdev->p2pdma)
777 return gen_pool_virt_to_phys(pdev->p2pdma->pool, (unsigned long)addr);
848 if (pdev->p2pdma)
849 pdev->p2pdma->p2pmem_published = publish;
856 if (!provider->p2pdma)
859 return xa_to_value(xa_load(&provider->p2pdma->map_types,
871 * p2pdma mappings are not compatible with devices that use
959 * to enable p2pdma
963 * @use_p2pdma: returns whether to enable p2pdma or not
965 * Parses an attribute value to decide whether to enable p2pdma.
968 * value disables p2pdma, a true value expects the caller
1014 * whether p2pdma is enabled
1017 * @use_p2pdma: whether p2pdma has been enabled