[Feature] Volume Management Device (VMD) Driver

Bug #1591806 reported by XiongZhang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intel
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Nominated for Xenial by Kai-Heng Feng

Bug Description

The Volume Management Device (VMD) is a secondary PCI Express host bridge provided by the Intel CPU. Individual CPU-attached root ports, and all devices behind them, may be configured by BIOS to appear underneath VMD instead of underneath the primary root bus.
VMD is represented by a root bus integrated endpoint, which serves as a proxy to the devices beneath it for access to configuration space, MMIO, DMA, and MSI.
The VMD driver implements Linux's PCI host bridge interface. When probed, the driver dynamically creates a new PCI domain(segment). The PCI subsystem enumerates the VMD PCI domain and loads drivers for devices and ports it finds.
A software validation team is testing the driver with VMD-enabled servers, PCIe switches, and NVMe PCIe SSDs. They will also be testing error handling and hotplug for SSDs behind VMD-owned root ports.
http://www.intel.com/cd/edesign/library/asmo-na/eng/546831.htm (CNDA)
http://www.intel.com/cd/edesign/library/asmo-na/eng/546833.htm (CNDA).

HW: Purley

Upstream statues:
v4.5 kernel implement this with:
185a383 x86/PCI: Add driver for Intel Volume Management Device (VMD)
28ef241 PCI/AER: Use 32 bit PCI domain numbers
d9c3d6f x86/PCI: Allow DMA ops specific to a PCI domain
64bce3e irqdomain: Export irq_domain_set_info() for module use
bf6f869 genirq/MSI: Relax msi_domain_alloc() to support parentless MSI irqdomain

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

The v4.8 based kernel has been uploaded to the Yakkety 16.10 archive. I'm setting this to Fix Released.

information type: Proprietary → Public
Changed in linux (Ubuntu):
status: New → Fix Released
Changed in intel:
status: New → Fix Released
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

git describe --contains 185a383
v4.5-rc1~33^2~2^2

commit 185a383ada2e7794b0e82e040223e741b24d2bf8
Author: Keith Busch <email address hidden>
Date: Tue Jan 12 13:18:10 2016 -0700

    x86/PCI: Add driver for Intel Volume Management Device (VMD)

git describe --contains 28ef241
v4.5-rc1~33^2~2^2~1

commit 28ef241f05c20c2f04b349d43c615438f7e6f811
Author: Keith Busch <email address hidden>
Date: Tue Jan 12 13:18:09 2016 -0700

    PCI/AER: Use 32 bit PCI domain numbers

git describe --contains d9c3d6f
v4.5-rc1~33^2~2^2~2

commit d9c3d6ff227cbdf05399ba8303bdcd0d35bbfccb
Author: Keith Busch <email address hidden>
Date: Tue Jan 12 13:18:08 2016 -0700

    x86/PCI: Allow DMA ops specific to a PCI domain

git describe --contains 64bce3e
v4.5-rc1~33^2~2^2~3

commit 64bce3e8bfb3cf2cbc638296390af3e02e747347
Author: Keith Busch <email address hidden>
Date: Tue Jan 12 13:18:07 2016 -0700

    irqdomain: Export irq_domain_set_info() for module use

git describe --contains bf6f869
v4.5-rc1~33^2~2^2~4

commit bf6f869f8c111ba265cd199c64b25c646987500a
Author: Liu Jiang <email address hidden>
Date: Tue Jan 12 13:18:06 2016 -0700

    genirq/MSI: Relax msi_domain_alloc() to support parentless MSI irqdomains

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.