[Intel-gfx] drm/i915: Detecting Vt-d when running as guest os

Stefan Fritsch sf at sfritsch.de
Fri Oct 16 15:19:19 UTC 2020


Hi,

if Linux is running as a guest and the host is doing igd-pass-thorugh with 
VT-d enabled, the i915 driver does not work all that great. The most 
obvious problem is that there are dozens of 'Fault errors on pipe A' 
errrors logged per second, but depending on the hardware there can be 
other issues, too. I will send a patch to rate-limit that message in a 
separate mail.

The i915 has various quirks for VT-d and these should be enabled even if 
Linux is running as a guest and does itself have iommu enabled. I have 
checked that making intel_vtd_active() form i915_drv.h return true makes 
the error messages go away.  How could Linux detect this situation? Maybe 
simply check the Hypervisor cpuid bit? Or would you prefer a module 
parameter, or a combination of both? Or is there another way to detect 
that VT-d is enabled for the igd device?

Cheers,
Stefan


More information about the Intel-gfx mailing list