<div dir="ltr"><div class="gmail_default" style="font-family:comic sans ms,sans-serif">Thank you for your input Alex, here is a pastie with some of the info you were interested in:<br>VM powered off: <a href="http://pastie.org/10927534">http://pastie.org/10927534</a><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">00:1b.0 is the onboard, 01:00.0 and 01:00.1 are the nvidia gpu/nvidia audio.<br><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">Notice in that pastie the driver in use is snd_hda_intel, yet in this lspci -vvv (with the VM booted up) it is changed to vfio-pci, and they are still in the same iommu group.<br>VM powered on: <a href="http://pastie.org/10927535">http://pastie.org/10927535</a><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">"Perhaps you made changes to configuration files before update that were 
only incorporated when the initrd was built for the newly installed 
kernel."<br><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">I am thinking this was the case, as re-doing initramfs seemed to fix the issue.  The kernel had been upgraded to 4.6.4-1.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 2, 2016 at 2:39 PM, Alex Williamson <span dir="ltr"><<a href="mailto:alex.l.williamson@gmail.com" target="_blank">alex.l.williamson@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 2, 2016 at 3:22 PM, Mark <span dir="ltr"><<a href="mailto:kram321@gmail.com" target="_blank">kram321@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif">Hi,<br><br></div><div style="font-family:comic sans ms,sans-serif">Today I updated my arch linux system. It had only been a week since the last update.  Not notices applicable to my update had been posted.<br><br></div><div style="font-family:comic sans ms,sans-serif">My setup is a Intel i7-4790S, ASRock mobo supporting vt-d and all the goodies.<br><br></div><div style="font-family:comic sans ms,sans-serif">I have libvirt using virt-manager for my win7 VM, with nvidia 750 gpu and hdmi audio device passed through to it, also the onboard intel audio controller (non-hdmi).  These 3 devices are all on the same iommu group.<br></div></div></blockquote><div><br></div><div>I have serious doubts that this was ever the case.  The GPU and GPU audio are always grouped together because there's not ACS on the endpoint.  The root port might get involved, which might drag in other root ports if ACS is missing there and it's part of a multifunction device.  But I have never seen the _onboard_ audio get wrapped into that since it's on a separate slot on the root complex.  Clearly 'sudo lspci -vvv' and listing of the iommu groups is going to be required here.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif">Before the update, while the VM was powered off, my host played audio through the onboard intel audio controller.  When the VM was on, audio from the VM played through the onboard audio controller and the host lost audio output.  This is the desired behavior.  Another behavior in the past was to only assign the gpu and hdmi audio on the gpu, but leave the onboard audio unassigned to vfio.<br><br></div><div style="font-family:comic sans ms,sans-serif">After the update, pulse audio no longer reports audio devices in the host.  Trying to figure out why this is, I've removed all passthrough devices from all VMs in virt-manager, removed the vfio module load options, but vfio_pci still claims the 3 devices.  The only way I've been able to get the audio devices back is to BLACKLIST the vfio module.<br></div></div></blockquote><div><br></div><div>vfio-pci will not bind to any devices unless you tell it to via an ids= option or scripts to make use of driver_override, so it sounds a lot like you're missing some of the setup done previously to the system, perhaps not rebuilding the initramfs/initrd to actually make the changes take effect.  Perhaps you made changes to configuration files before update that were only incorporated when the initrd was built for the newly installed kernel.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif"></div><div style="font-family:comic sans ms,sans-serif">My questions are:<br><br></div><div style="font-family:comic sans ms,sans-serif">1. Is there any other way besides /etc/modules.d/vfio.conf that vfio could be told to claim a device on boot?<br></div></div></blockquote><div><br></div><div>The init process is just a bunch of scripts, so there's pretty much an infinite number of ways once you understand where things fit.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif"></div><div style="font-family:comic sans ms,sans-serif">2. Is ACS impacting my ability to have the host use a device claimed by iommu because of a recent change?<br></div></div></blockquote><div><br></div><div>You haven't actually said what kernels were new and old, but there haven't been any changes related to ACS on haswell for a long time.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif"></div><div style="font-family:comic sans ms,sans-serif">3. Is there another way of going about assigning a claimed device to the host?<br></div></div></blockquote><div><br></div><div>unbind from one driver, bind to another via sysfs.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:comic sans ms,sans-serif"></div><div style="font-family:comic sans ms,sans-serif">4. Can I no longer only assign 2 of 3 devices in an iommu group to vfio?<br></div></div></blockquote><div><br></div><div>*endpoints* within an iommu group must all be detached from the host drivers, this has always been the case, nothing has changed here. </div></div></div></div>
</blockquote></div><br></div>