On Sat, 19 Nov 2011 07:25:09 -0200, Eugeni Dodonov <eugeni at dodonov.net> wrote: > Just one question I caught on 2nd read. Shouldn't we have #else within > this #ifdef block, to return 1? Otherwise, if CONFIG_INTEL_IOMMU is > not defined, we'll always disable rc6. Oops! Thanks for catching this. Here's a new version of that function (the rest of the patch is the same). This one has explicit conditions for Ironlake and Sandybridge (when CONFIG_INTEL_IOMMU is set), allowing the Ivybridge and Sandybridge-without-IOMMU cases to take the default path. This will also cause all future chips to enable rc6 by default. +static bool intel_enable_rc6(struct drm_device *dev) +{ + /* + * Respect the kernel parameter if it is set + */ + if (i915_enable_rc6 >= 0) + return i915_enable_rc6; + + /* + * Disable RC6 on Ironlake + */ + if (INTEL_INFO(dev)->gen == 5) + return 0; + +#ifdef CONFIG_INTEL_IOMMU + /* + * Enable rc6 on Sandybridge if DMA remapping is disabled + */ + if (INTEL_INFO(dev)->gen == 6) + return no_iommu || dmar_disabled; +#endif + return 1; +} + -- keith.packard at intel.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 827 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20111119/ed4e6053/attachment-0001.pgp>