On Thu, Apr 18, 2024 at 08:07:26AM -0700, Paul M Stillwell Jr wrote: > On 4/17/2024 4:51 PM, Keith Busch wrote: > > On Wed, Apr 17, 2024 at 01:15:42PM -0700, Paul M Stillwell Jr wrote: > > > +================================================================= > > > +Linux Base Driver for the Intel(R) Volume Management Device (VMD) > > > +================================================================= > > > + > > > +Intel vmd Linux driver. > > > + > > > +Contents > > > +======== > > > + > > > +- Overview > > > +- Features > > > +- Limitations > > > + > > > +The Intel VMD provides the means to provide volume management across separate > > > +PCI Express HBAs and SSDs without requiring operating system support or > > > +communication between drivers. It does this by obscuring each storage > > > +controller from the OS, but allowing a single driver to be loaded that would > > > +control each storage controller. A Volume Management Device (VMD) provides a > > > +single device for a single storage driver. The VMD resides in the IIO root > > > +complex and it appears to the OS as a root bus integrated endpoint. In the IIO, > > > +the VMD is in a central location to manipulate access to storage devices which > > > +may be attached directly to the IIO or indirectly through the PCH. Instead of > > > +allowing individual storage devices to be detected by the OS and allow it to > > > +load a separate driver instance for each, the VMD provides configuration > > > +settings to allow specific devices and root ports on the root bus to be > > > +invisible to the OS. > > > > This doesn't really capture how the vmd driver works here, though. The > > linux driver doesn't control or hide any devices connected to it; it > > just creates a host bridge to its PCI domain, then exposes everything to > > the rest of the OS for other drivers to bind to individual device > > instances that the pci bus driver finds. Everything functions much the > > same as if VMD was disabled. > > I was trying more to provide an overview of how the VMD device itself works > here and not the driver. The driver is fairly simple; it's how the device > works that seems to confuse people :). Right, I know that's how the marketing docs described VMD, but your new doc is called "Linux Base Driver for ... VMD", so I thought your goal was to describe the *driver* rather than the device. > Do you have a suggestion on what you would like to see here? I think we did okay with the description in the initial commit log. It is here if you want to reference that, though it may need some updates for more current hardware. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=185a383ada2e7794b0e82e040223e741b24d2bf8