We had a report of slow graphics performance in Linux 3.2 and 3.7, apparently related to carrying out frequent IOTLB syncs.
If I understand correctly, IOTLB and GTT changes must be serialised on Ironlake chips to avoid hangs (or access to the wrong memory address?). These commits seem to implement the workaround: commit 6fbcfb3e467adb414e235eeefaeaf51ad12f2461 Author: David Woodhouse <dw...@infradead.org> Date: Sun Sep 25 19:11:14 2011 -0700 intel-iommu: Workaround IOTLB hang on Ironlake GPU commit 5c0422878fcdc279ae9a8e8b66972a15b5efb67f Author: Ben Widawsky <b...@bwidawsk.net> Date: Mon Oct 17 15:51:55 2011 -0700 drm/i915: ILK + VT-d workaround The intel-iommu quirk is applied if any of these device IDs are found: #define PCI_DEVICE_ID_INTEL_IRONLAKE_D_HB 0x0040 #define PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB 0x0044 #define PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB 0x0062 #define PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB 0x006a though not: #define PCI_DEVICE_ID_INTEL_IRONLAKE_D2_HB 0x0069 The intel-gtt quirk is applied if either of these are found as the IGP: #define PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB 0x0044 #define PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG 0x0046 but of course the first will never match. Does the bug affect Ironlake D or not? Ben. -- Ben Hutchings Absolutum obsoletum. (If it works, it's out of date.) - Stafford Beer
signature.asc
Description: This is a digitally signed message part