From fe73e3072c67adfed59a2c04bb6362fd2180afb7 Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Thu, 27 Jun 2019 10:32:19 -0400 Subject: [PATCH] lib/env: Added parent field to spdk_pci_device VMD introduce parent/child relationship between pci devices. Parent filed allow to associate NVMe disk with VMD device. Change-Id: Ie363dbe83fefbe05e3347888dc6bd361a235da4a Signed-off-by: Wojciech Malikowski Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/459637 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Darek Stojaczyk Reviewed-by: Shuhei Matsumoto --- include/spdk/env.h | 1 + lib/vmd/vmd.c | 1 + 2 files changed, 2 insertions(+) diff --git a/include/spdk/env.h b/include/spdk/env.h index 19f260126..a40367b40 100644 --- a/include/spdk/env.h +++ b/include/spdk/env.h @@ -658,6 +658,7 @@ struct spdk_pci_id { }; struct spdk_pci_device { + struct spdk_pci_device *parent; void *dev_handle; struct spdk_pci_addr addr; struct spdk_pci_id id; diff --git a/lib/vmd/vmd.c b/lib/vmd/vmd.c index f9630237f..ce7a9472f 100644 --- a/lib/vmd/vmd.c +++ b/lib/vmd/vmd.c @@ -669,6 +669,7 @@ vmd_dev_init(struct vmd_pci_device *dev) if (vmd_is_supported_device(dev)) { spdk_pci_addr_fmt(bdf, sizeof(bdf), &dev->pci.addr); SPDK_DEBUGLOG(SPDK_LOG_VMD, "Initalizing NVMe device at %s\n", bdf); + dev->pci.parent = &dev->bus->vmd->pci; spdk_pci_hook_device(spdk_pci_nvme_get_driver(), &dev->pci); } }