To implement dGPU prime feature, virtgpu needs to import/export buffer between virtio iGPU and passthrough dGPU. Before that, virtgpu should check if P2P is possible or not. But calling function pci_p2pdma_distance in guest VM will only get virtual p2pdma_distance instead of real physical p2pdma_distance. So this series introduce an implementation of virtgpu device_attach callback to get p2pdma_distance. And also adds a new virtgpu command to pass PCI notations from guest to host and a new xen privcmd to get physical p2pdma_distance according to the PCI notations in host. Julia Zhang (3): xen:get p2pdma_distance virtgpu: get p2pdma_distance drm/virtio: Implement device_attach drivers/gpu/drm/virtio/virtgpu_drv.h | 17 ++++++++ drivers/gpu/drm/virtio/virtgpu_prime.c | 59 +++++++++++++++++++++++++- drivers/gpu/drm/virtio/virtgpu_vq.c | 53 +++++++++++++++++++++++ drivers/xen/privcmd.c | 42 ++++++++++++++++++ include/uapi/linux/virtio_gpu.h | 19 +++++++++ include/uapi/xen/privcmd.h | 12 ++++++ 6 files changed, 201 insertions(+), 1 deletion(-) -- 2.34.1